aboutsummaryrefslogtreecommitdiffstats
path: root/src/character.h
diff options
context:
space:
mode:
authorPaul Eggert2011-05-15 22:08:59 -0700
committerPaul Eggert2011-05-15 22:08:59 -0700
commit2b4560a850d2ea0767d0a3c4db19e4468f61b4eb (patch)
treeca99d199897a9289dfff5a1f492341402d79ae69 /src/character.h
parentcb93f9bef01e95b17b3d7b8786c103505355d98c (diff)
downloademacs-2b4560a850d2ea0767d0a3c4db19e4468f61b4eb.tar.gz
emacs-2b4560a850d2ea0767d0a3c4db19e4468f61b4eb.zip
* character.c (lisp_string_width): Check for string overflow.
Use EMACS_INT, not int, for string indexes and lengths; in particular, 2nd arg is now EMACS_INT, not int. Do not crash if the resulting string length overflows an EMACS_INT; instead, report a string overflow if no precision given. When checking for precision exhaustion, use a check that cannot possibly have integer overflow. (Bug#8675) * character.h (lisp_string_width): Adjust to new signature.
Diffstat (limited to 'src/character.h')
-rw-r--r--src/character.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/character.h b/src/character.h
index 864882db7f6..5877d145d9e 100644
--- a/src/character.h
+++ b/src/character.h
@@ -612,7 +612,7 @@ extern EMACS_INT str_to_unibyte (const unsigned char *, unsigned char *,
612extern EMACS_INT strwidth (const char *, EMACS_INT); 612extern EMACS_INT strwidth (const char *, EMACS_INT);
613extern EMACS_INT c_string_width (const unsigned char *, EMACS_INT, int, 613extern EMACS_INT c_string_width (const unsigned char *, EMACS_INT, int,
614 EMACS_INT *, EMACS_INT *); 614 EMACS_INT *, EMACS_INT *);
615extern EMACS_INT lisp_string_width (Lisp_Object, int, 615extern EMACS_INT lisp_string_width (Lisp_Object, EMACS_INT,
616 EMACS_INT *, EMACS_INT *); 616 EMACS_INT *, EMACS_INT *);
617 617
618extern Lisp_Object Qcharacterp; 618extern Lisp_Object Qcharacterp;