diff options
author | Gerd Moellmann <gerd@gnu.org> | 2000-03-06 12:41:53 +0000 |
---|---|---|
committer | Gerd Moellmann <gerd@gnu.org> | 2000-03-06 12:41:53 +0000 |
commit | 4dd8a783b3058fbba531054ee63299b7488a1d72 (patch) | |
tree | c033c69d7f48c02bc4ee7e85a2555ddfb42c5c2f | |
parent | 4336c70520accb670fa8dc472d04f0efaae9a77c (diff) | |
download | emacs-4dd8a783b3058fbba531054ee63299b7488a1d72.tar.gz |
(send_process): Remove local variable `procname' that
might become invalid when a GC happens. Instead, access the
process name slot directly.
-rw-r--r-- | src/process.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/process.c b/src/process.c index 1b2693bded4..7f7fb8e9cf8 100644 --- a/src/process.c +++ b/src/process.c @@ -3260,7 +3260,6 @@ send_process (proc, buf, len, object) { /* Use volatile to protect variables from being clobbered by longjmp. */ int rv; - volatile unsigned char *procname = XSTRING (XPROCESS (proc)->name)->data; struct coding_system *coding; struct gcpro gcpro1; int carryover = XINT (XPROCESS (proc)->encoding_carryover); @@ -3275,9 +3274,11 @@ send_process (proc, buf, len, object) if (! NILP (XPROCESS (proc)->raw_status_low)) update_status (XPROCESS (proc)); if (! EQ (XPROCESS (proc)->status, Qrun)) - error ("Process %s not running", procname); + error ("Process %s not running", + XSTRING (XPROCESS (proc)->name)->data); if (XINT (XPROCESS (proc)->outfd) < 0) - error ("Output file descriptor of %s is closed", procname); + error ("Output file descriptor of %s is closed", + XSTRING (XPROCESS (proc)->name)->data); coding = proc_encode_coding_system[XINT (XPROCESS (proc)->outfd)]; Vlast_coding_system_used = coding->symbol; @@ -3490,9 +3491,11 @@ send_process (proc, buf, len, object) XSETINT (XPROCESS (proc)->tick, ++process_tick); deactivate_process (proc); #ifdef VMS - error ("Error writing to process %s; closed it", procname); + error ("Error writing to process %s; closed it", + XSTRING (XPROCESS (proc)->name)->data); #else - error ("SIGPIPE raised on process %s; closed it", procname); + error ("SIGPIPE raised on process %s; closed it", + XSTRING (XPROCESS (proc)->name)->data); #endif } |