diff options
author | Kim F. Storm <storm@cua.dk> | 2006-12-04 12:26:50 +0000 |
---|---|---|
committer | Kim F. Storm <storm@cua.dk> | 2006-12-04 12:26:50 +0000 |
commit | d19c0a1c88f7ed7b76bff9c79726bfdae8fba1ed (patch) | |
tree | cdf8f50c8ce60e7bbb4617a6e8bb8405aacea1b5 | |
parent | 5c35ec32a51beaeae9e4233436816e1aeba053d0 (diff) | |
download | emacs-d19c0a1c88f7ed7b76bff9c79726bfdae8fba1ed.tar.gz emacs-d19c0a1c88f7ed7b76bff9c79726bfdae8fba1ed.tar.bz2 emacs-d19c0a1c88f7ed7b76bff9c79726bfdae8fba1ed.zip |
(Qsignal): Declare extern.
(syms_of_process): Don't intern/staticpro them here.
(read_process_output): Abort if carryover < 0.
-rw-r--r-- | src/process.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/process.c b/src/process.c index 512b231530b..ecaf808f23d 100644 --- a/src/process.c +++ b/src/process.c @@ -149,7 +149,8 @@ Boston, MA 02110-1301, USA. */ #include "atimer.h" Lisp_Object Qprocessp; -Lisp_Object Qrun, Qstop, Qsignal; +Lisp_Object Qrun, Qstop; +extern Lisp_Object Qsignal; Lisp_Object Qopen, Qclosed, Qconnect, Qfailed, Qlisten; Lisp_Object Qlocal, Qipv4, Qdatagram; #ifdef AF_INET6 @@ -5139,6 +5140,9 @@ read_process_output (proc, channel) } carryover = nbytes - coding->consumed; + if (carryover < 0) + abort (); + if (SCHARS (p->decoding_buf) < carryover) p->decoding_buf = make_uninit_string (carryover); bcopy (chars + coding->consumed, SDATA (p->decoding_buf), @@ -5249,11 +5253,15 @@ read_process_output (proc, channel) } } carryover = nbytes - coding->consumed; + if (carryover < 0) + abort (); + if (SCHARS (p->decoding_buf) < carryover) p->decoding_buf = make_uninit_string (carryover); bcopy (chars + coding->consumed, SDATA (p->decoding_buf), carryover); XSETINT (p->decoding_carryover, carryover); + /* Adjust the multibyteness of TEXT to that of the buffer. */ if (NILP (current_buffer->enable_multibyte_characters) != ! STRING_MULTIBYTE (text)) @@ -6997,8 +7005,6 @@ syms_of_process () staticpro (&Qrun); Qstop = intern ("stop"); staticpro (&Qstop); - Qsignal = intern ("signal"); - staticpro (&Qsignal); /* Qexit is already staticpro'd by syms_of_eval; don't staticpro it here again. |