summaryrefslogtreecommitdiff
path: root/xen.c
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>2017-08-16 20:26:21 +0200
committerIOhannes m zmölnig <zmoelnig@umlautQ.umlaeute.mur.at>2017-08-16 20:26:21 +0200
commit5a088b89e9cce5dce3daf2aca5e8c2ed3dd59fff (patch)
treec96bbe186ef9ddf978e11d66ee4da90f9bf3d9e9 /xen.c
parente56861860a027030bb6d8386ba25f95a057bccdd (diff)
New upstream version 17.5
Diffstat (limited to 'xen.c')
-rw-r--r--xen.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/xen.c b/xen.c
index d49fc54..e19a83a 100644
--- a/xen.c
+++ b/xen.c
@@ -1350,8 +1350,9 @@ void xen_repl(int argc, char **argv)
}
if (expr_ok)
{
- char *str, *temp;
+ char *temp;
#if USE_SND
+ char *str;
str = stdin_check_for_full_expression(buffer); /* "str" here is actually stdin_str, so we need to clear it explicitly */
if (!str) {expr_ok = false; continue;}
len = strlen(str) + 16;
@@ -1564,7 +1565,7 @@ static Xen g_current_time(void)
return(C_ulong_to_Xen_ulong(curtime));
}
-
+#if (!DISABLE_DEPRECATED)
static Xen g_tmpnam(void)
{
#define H_tmpnam "(tmpnam) returns a new (hopefully unused) temporary file name"
@@ -1598,12 +1599,15 @@ static Xen g_tmpnam(void)
if (!tmpdir) tmpdir = xen_strdup("/tmp");
#endif
- snprintf(str, BUFFER_SIZE, "%s/xen_%d_%d", tmpdir, (int)getpid(), file_ctr++);
+ if (tmpdir) /* try to make C happy... */
+ snprintf(str, BUFFER_SIZE, "%s/xen_%d_%d", tmpdir, (int)getpid(), file_ctr++);
+ else snprintf(str, BUFFER_SIZE, "/xen_%d_%d", (int)getpid(), file_ctr++);
if (tmpdir) free(tmpdir);
result = C_string_to_Xen_string(str);
free(str);
return(result);
}
+#endif
static Xen g_ftell(Xen fd)
@@ -1641,11 +1645,12 @@ Xen_wrap_no_args(g_getcwd_w, g_getcwd)
Xen_wrap_2_args(g_strftime_w, g_strftime)
Xen_wrap_1_arg(g_localtime_w, g_localtime)
Xen_wrap_no_args(g_current_time_w, g_current_time)
-Xen_wrap_no_args(g_tmpnam_w, g_tmpnam)
Xen_wrap_1_arg(g_ftell_w, g_ftell)
-
Xen_wrap_no_args(g_gc_off_w, g_gc_off)
Xen_wrap_no_args(g_gc_on_w, g_gc_on)
+#if (!DISABLE_DEPRECATED)
+Xen_wrap_no_args(g_tmpnam_w, g_tmpnam)
+#endif
#if ENABLE_WEBSERVER
#if USE_MOTIF
@@ -1709,7 +1714,6 @@ s7_scheme *s7_xen_initialize(s7_scheme *sc)
#endif
Xen_define_typed_procedure("getcwd", g_getcwd_w, 0, 0, 0, H_getcwd, s7_make_signature(s7, 1, s));
Xen_define_typed_procedure("strftime", g_strftime_w, 2, 0, 0, H_strftime, s7_make_signature(s7, 3, s, s, p));
- Xen_define_typed_procedure("tmpnam", g_tmpnam_w, 0, 0, 0, H_tmpnam, s7_make_signature(s7, 1, s));
Xen_define_typed_procedure("localtime", g_localtime_w, 1, 0, 0, H_localtime, s7_make_signature(s7, 2, p, i));
Xen_define_typed_procedure("current-time", g_current_time_w, 0, 0, 0, H_current_time, s7_make_signature(s7, 1, i));
Xen_define_typed_procedure("ftell", g_ftell_w, 1, 0, 0, "(ftell fd): lseek", s7_make_signature(s7, 2, i, i));
@@ -1732,6 +1736,7 @@ s7_scheme *s7_xen_initialize(s7_scheme *sc)
(else (loop (cdr l) (cons (car l) result)))))))");
#if (!DISABLE_DEPRECATED)
+ Xen_define_typed_procedure("tmpnam", g_tmpnam_w, 0, 0, 0, H_tmpnam, s7_make_signature(s7, 1, s));
Xen_eval_C_string("(define load-from-path load)");
Xen_eval_C_string("(define (1+ x) \"add 1 to arg\" (+ x 1))");
Xen_eval_C_string("(define (1- x) \"subtract 1 from arg\" (- x 1))");