diff options
| author | Gerd Moellmann | 2000-12-08 09:59:12 +0000 |
|---|---|---|
| committer | Gerd Moellmann | 2000-12-08 09:59:12 +0000 |
| commit | 23751e2577de307f57fc64734324db219f98c45d (patch) | |
| tree | 2fa2e348ce6f0bd79b063c6be3331710e78d90de /src | |
| parent | b5e55477b39213d5390d0f6a05afa85e9b05b7ea (diff) | |
| download | emacs-23751e2577de307f57fc64734324db219f98c45d.tar.gz emacs-23751e2577de307f57fc64734324db219f98c45d.zip | |
(store_kbd_macro_char): Change the way buffers are
reallocated to be portable and less obfuscated.
Diffstat (limited to 'src')
| -rw-r--r-- | src/macros.c | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/macros.c b/src/macros.c index 3c6e0b33edb..bf19526eb0e 100644 --- a/src/macros.c +++ b/src/macros.c | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* Keyboard macros. | 1 | /* Keyboard macros. |
| 2 | Copyright (C) 1985, 1986, 1993 Free Software Foundation, Inc. | 2 | Copyright (C) 1985, 1986, 1993, 2000 Free Software Foundation, Inc. |
| 3 | 3 | ||
| 4 | This file is part of GNU Emacs. | 4 | This file is part of GNU Emacs. |
| 5 | 5 | ||
| @@ -183,17 +183,20 @@ store_kbd_macro_char (c) | |||
| 183 | - current_kboard->kbd_macro_buffer) | 183 | - current_kboard->kbd_macro_buffer) |
| 184 | == current_kboard->kbd_macro_bufsize) | 184 | == current_kboard->kbd_macro_bufsize) |
| 185 | { | 185 | { |
| 186 | register Lisp_Object *new; | 186 | int offset = (current_kboard->kbd_macro_ptr |
| 187 | - current_kboard->kbd_macro_buffer); | ||
| 187 | current_kboard->kbd_macro_bufsize *= 2; | 188 | current_kboard->kbd_macro_bufsize *= 2; |
| 188 | new = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer, | 189 | current_kboard->kbd_macro_buffer |
| 189 | (current_kboard->kbd_macro_bufsize | 190 | = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer, |
| 190 | * sizeof (Lisp_Object))); | 191 | (current_kboard->kbd_macro_bufsize |
| 192 | * sizeof (Lisp_Object))); | ||
| 191 | current_kboard->kbd_macro_ptr | 193 | current_kboard->kbd_macro_ptr |
| 192 | += new - current_kboard->kbd_macro_buffer; | 194 | = current_kboard->kbd_macro_buffer + offset; |
| 193 | current_kboard->kbd_macro_end | 195 | current_kboard->kbd_macro_end |
| 194 | += new - current_kboard->kbd_macro_buffer; | 196 | = (current_kboard->kbd_macro_buffer |
| 195 | current_kboard->kbd_macro_buffer = new; | 197 | + current_kboard->kbd_macro_bufsize); |
| 196 | } | 198 | } |
| 199 | |||
| 197 | *current_kboard->kbd_macro_ptr++ = c; | 200 | *current_kboard->kbd_macro_ptr++ = c; |
| 198 | } | 201 | } |
| 199 | } | 202 | } |