+2013-09-24 Paul Eggert <eggert@cs.ucla.edu>
+
+ * 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 <dmantipov@yandex.ru>
Use union for the payload of struct Lisp_Vector.
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);
}
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);
}