aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorGerd Moellmann2000-12-08 09:59:12 +0000
committerGerd Moellmann2000-12-08 09:59:12 +0000
commit23751e2577de307f57fc64734324db219f98c45d (patch)
tree2fa2e348ce6f0bd79b063c6be3331710e78d90de /src
parentb5e55477b39213d5390d0f6a05afa85e9b05b7ea (diff)
downloademacs-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.c19
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
4This file is part of GNU Emacs. 4This 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}