Commit f4b169ce authored by Paul Eggert's avatar Paul Eggert

Fix tempfile bug on platforms lacking mkostemp and mkstemp.

* callproc.c (create_temp_file) [! (HAVE_MKOSTEMP || HAVE_MKSTEMP)]:
Do not assume that emacs_close (INT_MAX) is a no-op.

Fixes: debbugs:14986
parent 158bc55c
2013-07-30 Paul Eggert <eggert@cs.ucla.edu>
Fix tempfile bug on platforms lacking mkostemp and mkstemp (Bug#14986).
* callproc.c (create_temp_file) [! (HAVE_MKOSTEMP || HAVE_MKSTEMP)]:
Do not assume that emacs_close (INT_MAX) is a no-op.
2013-07-30 Dmitry Antipov <dmantipov@yandex.ru>
* xfaces.c (make_face_cache): For struct face_cache, prefer
......
......@@ -1018,13 +1018,14 @@ create_temp_file (ptrdiff_t nargs, Lisp_Object *args)
#else
errno = EEXIST;
mktemp (tempfile);
/* INT_MAX denotes success, because close (INT_MAX) does nothing. */
fd = *tempfile ? INT_MAX : -1;
fd = *tempfile ? 0 : -1;
#endif
if (fd < 0)
report_file_error ("Failed to open temporary file using pattern",
pattern);
#if defined HAVE_MKOSTEMP || defined HAVE_MKSTEMP
emacs_close (fd);
#endif
}
record_unwind_protect (delete_temp_file, filename_string);
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment