diff options
| author | Richard M. Stallman | 2001-11-26 00:36:28 +0000 |
|---|---|---|
| committer | Richard M. Stallman | 2001-11-26 00:36:28 +0000 |
| commit | 7ec8aa3fdd3a3771616694976c171b0a757d8ac1 (patch) | |
| tree | c6771a960e0be46f97a701c63a5363db68d42732 /src | |
| parent | 96d276c35172d6cea90d16b31adbd43ab8bdbbeb (diff) | |
| download | emacs-7ec8aa3fdd3a3771616694976c171b0a757d8ac1.tar.gz emacs-7ec8aa3fdd3a3771616694976c171b0a757d8ac1.zip | |
(Fcall_process): When we make a bigger buffer for bufptr,
don't lose the data in it.
Diffstat (limited to 'src')
| -rw-r--r-- | src/callproc.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/callproc.c b/src/callproc.c index 21cfc11dd66..23f2b377b43 100644 --- a/src/callproc.c +++ b/src/callproc.c | |||
| @@ -897,8 +897,12 @@ usage: (call-process PROGRAM &optional INFILE BUFFER DISPLAY &rest ARGS) */) | |||
| 897 | but not past 64k. */ | 897 | but not past 64k. */ |
| 898 | if (bufsize < 64 * 1024 && total_read > 32 * bufsize) | 898 | if (bufsize < 64 * 1024 && total_read > 32 * bufsize) |
| 899 | { | 899 | { |
| 900 | char *tempptr; | ||
| 900 | bufsize *= 2; | 901 | bufsize *= 2; |
| 901 | bufptr = (char *) alloca (bufsize); | 902 | |
| 903 | tempptr = (char *) alloca (bufsize); | ||
| 904 | bcopy (bufptr, tempptr, bufsize / 2); | ||
| 905 | bufptr = tempptr; | ||
| 902 | } | 906 | } |
| 903 | 907 | ||
| 904 | if (!NILP (display) && INTERACTIVE) | 908 | if (!NILP (display) && INTERACTIVE) |