mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
tests,w32: Use GetTempPath to get the path for temporary files.
* tests/gpgscm/ffi.c (do_get_temp_path): New function. (ffi_init): Make function available. * tests/gpgscm/tests.scm (mkdtemp): Use the new function. Fixes-commit: 06f1f163e96f1039304fd3cf565cf9de1ca45849 Signed-off-by: Justus Winter <justus@g10code.com>
This commit is contained in:
parent
74c1f30ad6
commit
d17840c3f4
@ -341,6 +341,24 @@ do_seek (scheme *sc, pointer args)
|
||||
? gpg_error_from_syserror () : 0);
|
||||
}
|
||||
|
||||
static pointer
|
||||
do_get_temp_path (scheme *sc, pointer args)
|
||||
{
|
||||
FFI_PROLOG ();
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
char buffer[MAX_PATH+1];
|
||||
#endif
|
||||
FFI_ARGS_DONE_OR_RETURN (sc, args);
|
||||
|
||||
#ifdef HAVE_W32_SYSTEM
|
||||
if (GetTempPath (MAX_PATH+1, buffer) == 0)
|
||||
FFI_RETURN_STRING (sc, "/temp");
|
||||
FFI_RETURN_STRING (sc, buffer);
|
||||
#else
|
||||
FFI_RETURN_STRING (sc, "/tmp");
|
||||
#endif
|
||||
}
|
||||
|
||||
static pointer
|
||||
do_mkdtemp (scheme *sc, pointer args)
|
||||
{
|
||||
@ -1352,6 +1370,7 @@ ffi_init (scheme *sc, const char *argv0, const char *scriptname,
|
||||
ffi_define_function (sc, fdopen);
|
||||
ffi_define_function (sc, close);
|
||||
ffi_define_function (sc, seek);
|
||||
ffi_define_function (sc, get_temp_path);
|
||||
ffi_define_function_name (sc, "_mkdtemp", mkdtemp);
|
||||
ffi_define_function (sc, unlink);
|
||||
ffi_define_function (sc, unlink_recursively);
|
||||
|
@ -272,7 +272,7 @@
|
||||
(define (mkdtemp . components)
|
||||
(canonical-path (_mkdtemp (if (null? components)
|
||||
(path-join
|
||||
(if *win32* (getenv "Temp") "/tmp")
|
||||
(get-temp-path)
|
||||
(string-append "gpgscm-" (get-isotime) "-"
|
||||
(basename-suffix *scriptname* ".scm")
|
||||
"-XXXXXX"))
|
||||
|
Loading…
x
Reference in New Issue
Block a user