From 02d8b017d882331b7ae40b1c869fe04d84e0c235 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 22 Jul 2008 17:09:24 +0000 Subject: [PATCH] (char_quoted): Check "charpos > beg" before decrementing. --- src/ChangeLog | 12 ++++++++---- src/syntax.c | 18 ++---------------- 2 files changed, 10 insertions(+), 20 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 122b58a502..33c1dc55aa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,7 +1,11 @@ +2008-07-22 Stefan Monnier + + * syntax.c (char_quoted): Check "charpos > beg" before decrementing. + 2008-07-22 Dan Nicolaescu - * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines): Remove - forwarding functions. + * nsfns.m (x_set_menu_bar_lines, x_set_tool_bar_lines): + Remove forwarding functions. (ns_set_menu_bar_lines): Rename to x_set_menu_bar_lines, make non-static. (ns_set_tool_bar_lines): Rename to x_set_tool_bar_lines, make @@ -15,8 +19,8 @@ 2008-07-22 Jason Rumney - * w32proc.c (Fw32_long_file_name): Don't append dir separator to - bare drive. + * w32proc.c (Fw32_long_file_name): Don't append dir separator to + bare drive. 2008-07-22 Adrian Robert diff --git a/src/syntax.c b/src/syntax.c index 2e9313fd6b..87cf2da2e3 100644 --- a/src/syntax.c +++ b/src/syntax.c @@ -298,23 +298,10 @@ char_quoted (charpos, bytepos) register int quoted = 0; int orig = charpos; -#ifdef HAVE_NS - /* For some reason keeps getting called w/both 1, then segfaulting - due to the definitions of DEC_BOTH and DEC_POS in character.h, - which lead to decrementing below initial address and then examining - character there. Need to investigate further.. */ - if (charpos < 2 || bytepos < 2) - { - //fprintf(stderr,"Returning because charpos = %d, bytepos = %d\n",charpos, bytepos); - return 0; - } -#endif - - DEC_BOTH (charpos, bytepos); - - while (charpos >= beg) + while (charpos > beg) { int c; + DEC_BOTH (charpos, bytepos); UPDATE_SYNTAX_TABLE_BACKWARD (charpos); c = FETCH_CHAR_AS_MULTIBYTE (bytepos); @@ -322,7 +309,6 @@ char_quoted (charpos, bytepos) if (! (code == Scharquote || code == Sescape)) break; - DEC_BOTH (charpos, bytepos); quoted = !quoted; } -- 2.39.2