From 9da0f50e5ab74e7543f169cef831cc8c22ef4f43 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 24 Sep 2013 00:16:38 -0700 Subject: [PATCH] * dispnew.c (clear_glyph_row, copy_row_except_pointers): Prefer signed to unsigned integers where either will do. No need for 'const' on locals that do not escape. Omit easserts with unnecessary and unportable assumptions about alignment. Avoid unnecessary casts to char *. --- src/ChangeLog | 8 ++++++++ src/dispnew.c | 10 ++++------ 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index a2eb39e7196..e4d9ad3b835 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +2013-09-24 Paul Eggert + + * dispnew.c (clear_glyph_row, copy_row_except_pointers): + Prefer signed to unsigned integers where either will do. + No need for 'const' on locals that do not escape. + Omit easserts with unnecessary and unportable assumptions about + alignment. Avoid unnecessary casts to char *. + 2013-09-24 Dmitry Antipov Use union for the payload of struct Lisp_Vector. diff --git a/src/dispnew.c b/src/dispnew.c index f7e3fa54441..f9132f37f68 100644 --- a/src/dispnew.c +++ b/src/dispnew.c @@ -838,11 +838,10 @@ clear_window_matrices (struct window *w, bool desired_p) void clear_glyph_row (struct glyph_row *row) { - const size_t off = offsetof (struct glyph_row, used); + int off = offsetof (struct glyph_row, used); - eassert (off == sizeof row->glyphs); /* Zero everything except pointers in `glyphs'. */ - memset ((char *) row + off, 0, sizeof *row - off); + memset (row->used, 0, sizeof *row - off); } @@ -989,10 +988,9 @@ swap_glyph_pointers (struct glyph_row *a, struct glyph_row *b) static void copy_row_except_pointers (struct glyph_row *to, struct glyph_row *from) { - const size_t off = offsetof (struct glyph_row, x); + int off = offsetof (struct glyph_row, x); - eassert (off == sizeof to->glyphs + sizeof to->used + sizeof to->hash); - memcpy ((char *) to + off, (char *) from + off, sizeof *to - off); + memcpy (&to->x, &from->x, sizeof *to - off); } -- 2.11.4.GIT