>From c60ec9b5d57af950d269a511b0a280e8c8f34430 Mon Sep 17 00:00:00 2001 From: Peter Bex Date: Sat, 2 Aug 2014 14:52:15 +0200 Subject: [PATCH] Mark file-mkstemp as unimplemented on Windows --- NEWS | 2 ++ manual/Unit posix | 1 + posixwin.scm | 15 +-------------- 3 files changed, 4 insertions(+), 14 deletions(-) diff --git a/NEWS b/NEWS index 20ece38..266f91f 100644 --- a/NEWS +++ b/NEWS @@ -21,6 +21,8 @@ - Unit "posix": - set-file-position! now allows negative positions for seek/cur (thanks to Seth Alves). + - file-mkstemp has been marked as unimplemented on Windows (it never + worked, see #819) - Runtime system: - Removed several deprecated, undocumented parts of the C interface: diff --git a/manual/Unit posix b/manual/Unit posix index af88972..76e377e 100644 --- a/manual/Unit posix +++ b/manual/Unit posix @@ -1473,6 +1473,7 @@ Microsoft tools or with MinGW): create-symbolic-link read-symbolic-link file-truncate file-lock file-lock/blocking file-unlock file-test-lock + file-mkstemp create-fifo fifo? set-alarm! terminal-port? terminal-name diff --git a/posixwin.scm b/posixwin.scm index c41e18d..93cd1e3 100644 --- a/posixwin.scm +++ b/posixwin.scm @@ -198,7 +198,6 @@ readdir(DIR * dir) #endif /* ifndef __WATCOMC__ */ #ifdef __WATCOMC__ -# define mktemp _mktemp /* there is no P_DETACH in Watcom CRTL */ # define P_DETACH P_NOWAIT #endif @@ -256,7 +255,6 @@ C_free_arg_string(char **where) { #define C_open(fn, fl, m) C_fix(open(C_c_string(fn), C_unfix(fl), C_unfix(m))) #define C_read(fd, b, n) C_fix(read(C_unfix(fd), C_data_pointer(b), C_unfix(n))) #define C_write(fd, b, n) C_fix(write(C_unfix(fd), C_data_pointer(b), C_unfix(n))) -#define C_mkstemp(t) C_fix(mktemp(C_c_string(t))) #define C_flushall() C_fix(_flushall()) @@ -775,18 +773,6 @@ EOF (##sys#signal-hook #:file-error 'file-write "cannot write to file" fd size) ) n) ) ) ) -(define file-mkstemp - (lambda (template) - (##sys#check-string template 'file-mkstemp) - (let* ([buf (##sys#make-c-string template 'file-mkstemp)] - [fd (##core#inline "C_mkstemp" buf)] - [path-length (string-length buf)]) - (when (eq? -1 fd) - (##sys#update-errno) - (##sys#signal-hook #:file-error 'file-mkstemp "cannot create temporary file" template) ) - (values fd (##sys#substring buf 0 (fx- path-length 1) ) ) ) ) ) - - ;;; Directory stuff: (define-inline (create-directory-helper name) @@ -1555,6 +1541,7 @@ int is_bad_mmap(void* p) (define-unimplemented file-link) (define-unimplemented file-lock) (define-unimplemented file-lock/blocking) +(define-unimplemented file-mkstemp) (define-unimplemented file-select) (define-unimplemented file-test-lock) (define-unimplemented file-truncate) -- 1.7.10.4