From: Paul Eggert Date: Tue, 22 Mar 2011 16:20:45 +0000 (-0700) Subject: * coding.c (encode_coding_raw_text): Avoid unnecessary test X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~513^2~4 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=8abc3f12955673bdb367b2de5556ff66f202d2d0;p=emacs.git * coding.c (encode_coding_raw_text): Avoid unnecessary test the first time through the loop, since we know p0 < p1 then. This also avoids a gcc -Wstrict-overflow warning. --- diff --git a/src/ChangeLog b/src/ChangeLog index a341d1b4678..45982f607f4 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,9 @@ 2011-03-22 Paul Eggert + * coding.c (encode_coding_raw_text): Avoid unnecessary test + the first time through the loop, since we know p0 < p1 then. + This also avoids a gcc -Wstrict-overflow warning. + * lisp.h (SAFE_ALLOCA, SAFE_ALLOCA_LISP): Avoid 'int' overflow leading to a memory leak, possible in functions like load_charset_map_from_file that can allocate an unbounded number diff --git a/src/coding.c b/src/coding.c index 0c2836c19f6..0596d16bf46 100644 --- a/src/coding.c +++ b/src/coding.c @@ -5266,11 +5266,12 @@ encode_coding_raw_text (struct coding_system *coding) unsigned char str[MAX_MULTIBYTE_LENGTH], *p0 = str, *p1 = str; CHAR_STRING_ADVANCE (c, p1); - while (p0 < p1) + do { EMIT_ONE_BYTE (*p0); p0++; } + while (p0 < p1); } } else