aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBT Templeton <[email protected]>2013-09-16 17:31:31 -0400
committerRobin Templeton <[email protected]>2015-04-19 03:43:02 -0400
commitd43b5e84066afe4ee7100ab957438a1c41141492 (patch)
tree3c49dcd7694ca939ac2dca9cfb0c8d3648ad9199 /src
parent19411656ce2ada9b559362b71a7bff56a1095a96 (diff)
delete_temp_file fix
* src/callproc.c (delete_temp_file_ptr): New function. (call_process_kill): Use it.
Diffstat (limited to 'src')
-rw-r--r--src/callproc.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/callproc.c b/src/callproc.c
index 56bdc7de0e..cbd516a71d 100644
--- a/src/callproc.c
+++ b/src/callproc.c
@@ -156,14 +156,20 @@ record_kill_process (struct Lisp_Process *p, Lisp_Object tempfile)
/* Clean up files, file descriptors and processes created by Fcall_process. */
static void
-delete_temp_file_ptr (Lisp_Object *name_ptr)
+delete_temp_file (Lisp_Object name)
{
- Lisp_Object name = *name_ptr;
if (! NILP (name))
unlink (SSDATA (name));
}
static void
+delete_temp_file_ptr (Lisp_Object *name_ptr)
+{
+ if (name_ptr)
+ delete_temp_file (*name_ptr);
+}
+
+static void
call_process_kill (void *ptr)
{
int *callproc_fd = ptr;
@@ -181,7 +187,7 @@ call_process_kill (void *ptr)
synch_process_pid = 0;
}
else if (STRINGP (synch_process_tempfile))
- delete_temp_file_ptr (&synch_process_tempfile);
+ delete_temp_file (synch_process_tempfile);
}
/* Clean up when exiting Fcall_process: restore the buffer, and