# HG changeset patch # User Gerd Moellmann # Date 976269552 0 # Node ID 385981407528d3e96de9a079966c061697bcb5ec # Parent c6d74397e65fc738e01dd696ca178b59e76a3eb0 (store_kbd_macro_char): Change the way buffers are reallocated to be portable and less obfuscated. diff -r c6d74397e65f -r 385981407528 src/macros.c --- a/src/macros.c Fri Dec 08 09:58:48 2000 +0000 +++ b/src/macros.c Fri Dec 08 09:59:12 2000 +0000 @@ -1,5 +1,5 @@ /* Keyboard macros. - Copyright (C) 1985, 1986, 1993 Free Software Foundation, Inc. + Copyright (C) 1985, 1986, 1993, 2000 Free Software Foundation, Inc. This file is part of GNU Emacs. @@ -183,17 +183,20 @@ - current_kboard->kbd_macro_buffer) == current_kboard->kbd_macro_bufsize) { - register Lisp_Object *new; + int offset = (current_kboard->kbd_macro_ptr + - current_kboard->kbd_macro_buffer); current_kboard->kbd_macro_bufsize *= 2; - new = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer, - (current_kboard->kbd_macro_bufsize - * sizeof (Lisp_Object))); + current_kboard->kbd_macro_buffer + = (Lisp_Object *)xrealloc (current_kboard->kbd_macro_buffer, + (current_kboard->kbd_macro_bufsize + * sizeof (Lisp_Object))); current_kboard->kbd_macro_ptr - += new - current_kboard->kbd_macro_buffer; + = current_kboard->kbd_macro_buffer + offset; current_kboard->kbd_macro_end - += new - current_kboard->kbd_macro_buffer; - current_kboard->kbd_macro_buffer = new; + = (current_kboard->kbd_macro_buffer + + current_kboard->kbd_macro_bufsize); } + *current_kboard->kbd_macro_ptr++ = c; } }