]> git.eshelyaron.com Git - emacs.git/commitdiff
* term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
authorPaul Eggert <eggert@cs.ucla.edu>
Fri, 1 Apr 2011 17:34:25 +0000 (10:34 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Fri, 1 Apr 2011 17:34:25 +0000 (10:34 -0700)
src/ChangeLog
src/term.c

index 899467316304540f3fa3e1080d51ded642a45a5f..30a45692ea6c7bd6cd78c298b068c8c6b87ded03 100644 (file)
@@ -1,5 +1,7 @@
 2011-04-01  Paul Eggert  <eggert@cs.ucla.edu>
 
+       * term.c (tty_write_glyphs): Use size_t; this avoids overflow warning.
+
        * coding.c: Remove vars that are set but not used.
        (DECODE_COMPOSITION_RULE): Remove 2nd arg, which is unused.
        All callers changed.
index fc7726298c5f95279a9fc9796816602a366af667..fc07c2b8d061ac4ee36bd389a5fdb47fd5f1ac98 100644 (file)
@@ -707,6 +707,7 @@ tty_write_glyphs (struct frame *f, struct glyph *string, int len)
 {
   unsigned char *conversion_buffer;
   struct coding_system *coding;
+  size_t n, stringlen;
 
   struct tty_display_info *tty = FRAME_TTY (f);
 
@@ -734,13 +735,12 @@ tty_write_glyphs (struct frame *f, struct glyph *string, int len)
      the tail.  */
   coding->mode &= ~CODING_MODE_LAST_BLOCK;
 
-  while (len > 0)
+  for (stringlen = len; stringlen != 0; stringlen -= n)
     {
       /* Identify a run of glyphs with the same face.  */
       int face_id = string->face_id;
-      int n;
 
-      for (n = 1; n < len; ++n)
+      for (n = 1; n < stringlen; ++n)
        if (string[n].face_id != face_id)
          break;
 
@@ -748,7 +748,7 @@ tty_write_glyphs (struct frame *f, struct glyph *string, int len)
       tty_highlight_if_desired (tty);
       turn_on_face (f, face_id);
 
-      if (n == len)
+      if (n == stringlen)
        /* This is the last run.  */
        coding->mode |= CODING_MODE_LAST_BLOCK;
       conversion_buffer = encode_terminal_code (string, n, coding);
@@ -762,7 +762,6 @@ tty_write_glyphs (struct frame *f, struct glyph *string, int len)
            fwrite (conversion_buffer, 1, coding->produced, tty->termscript);
          UNBLOCK_INPUT;
        }
-      len -= n;
       string += n;
 
       /* Turn appearance modes off.  */