summaryrefslogtreecommitdiff
path: root/src/macros.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2014-07-14 12:07:54 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2014-07-14 12:07:54 -0700
commit091adafaac52ff409790728af63cab19bd52fc8f (patch)
tree222df9c21e51b556791a0e15373e34cdf08d74c1 /src/macros.c
parent918be62752b7b3cd6e4a48e656dcbb52c3fc8073 (diff)
downloademacs-091adafaac52ff409790728af63cab19bd52fc8f.tar.gz
* macros.c (Fstart_kbd_macro): Avoid need for overflow check.
Diffstat (limited to 'src/macros.c')
-rw-r--r--src/macros.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/src/macros.c b/src/macros.c
index 07667f09431..4730a8becc9 100644
--- a/src/macros.c
+++ b/src/macros.c
@@ -87,16 +87,13 @@ macro before appending to it. */)
/* Check the type of last-kbd-macro in case Lisp code changed it. */
len = CHECK_VECTOR_OR_STRING (KVAR (current_kboard, Vlast_kbd_macro));
- if (INT_ADD_OVERFLOW (len, incr))
- memory_full (SIZE_MAX);
-
/* Copy last-kbd-macro into the buffer, in case the Lisp code
has put another macro there. */
- if (current_kboard->kbd_macro_bufsize < len + incr)
+ if (current_kboard->kbd_macro_bufsize - incr < len)
current_kboard->kbd_macro_buffer =
xpalloc (current_kboard->kbd_macro_buffer,
&current_kboard->kbd_macro_bufsize,
- len + incr - current_kboard->kbd_macro_bufsize, -1,
+ len - current_kboard->kbd_macro_bufsize + incr, -1,
sizeof *current_kboard->kbd_macro_buffer);
/* Must convert meta modifier when copying string to vector. */