summaryrefslogtreecommitdiff
path: root/libguile/filesys.c
diff options
context:
space:
mode:
Diffstat (limited to 'libguile/filesys.c')
-rw-r--r--libguile/filesys.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/libguile/filesys.c b/libguile/filesys.c
index e6e37b040..9bd746f30 100644
--- a/libguile/filesys.c
+++ b/libguile/filesys.c
@@ -1468,6 +1468,14 @@ SCM_DEFINE (scm_i_mkstemp, "mkstemp!", 1, 1, 0,
int open_flags, is_binary;
SCM port;
+ SCM_VALIDATE_STRING (SCM_ARG1, tmpl);
+ if (!SCM_UNBNDP (mode))
+ SCM_VALIDATE_STRING (SCM_ARG2, mode);
+
+ /* Ensure tmpl is mutable. */
+ scm_i_string_start_writing (tmpl);
+ scm_i_string_stop_writing ();
+
scm_dynwind_begin (0);
c_tmpl = scm_to_locale_string (tmpl);