* src/smooth/ftgrays.c (FT_GRAY_SET): Adjust for better code.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
diff --git a/ChangeLog b/ChangeLog
index d482631..679327a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,8 @@
-2021-05-07 Alexei Podtelezhnikov <apodtele@gmail.com>
+2021-05-11 Alexei Podtelezhnikov <apodtele@gmail.com>
+
+ * src/smooth/ftgrays.c (FT_GRAY_SET): Adjust for better code.
+
+2021-05-11 Alexei Podtelezhnikov <apodtele@gmail.com>
[smooth] Faster bitmap sweeping.
diff --git a/src/smooth/ftgrays.c b/src/smooth/ftgrays.c
index a40877e..c29f4bf 100644
--- a/src/smooth/ftgrays.c
+++ b/src/smooth/ftgrays.c
@@ -409,22 +409,21 @@ typedef ptrdiff_t FT_PtrDist;
/* It is faster to write small spans byte-by-byte than calling */
/* `memset'. This is mainly due to the cost of the function call. */
-#define FT_GRAY_SET( d, s, count ) \
- FT_BEGIN_STMNT \
- unsigned char* q = d; \
- unsigned char c = (unsigned char)s; \
- switch ( count ) \
- { \
- case 7: *q++ = c; /* fall through */ \
- case 6: *q++ = c; /* fall through */ \
- case 5: *q++ = c; /* fall through */ \
- case 4: *q++ = c; /* fall through */ \
- case 3: *q++ = c; /* fall through */ \
- case 2: *q++ = c; /* fall through */ \
- case 1: *q = c; /* fall through */ \
- case 0: break; \
- default: FT_MEM_SET( d, s, count ); \
- } \
+#define FT_GRAY_SET( d, s, count ) \
+ FT_BEGIN_STMNT \
+ unsigned char* q = d; \
+ switch ( count ) \
+ { \
+ case 7: *q++ = (unsigned char)s; /* fall through */ \
+ case 6: *q++ = (unsigned char)s; /* fall through */ \
+ case 5: *q++ = (unsigned char)s; /* fall through */ \
+ case 4: *q++ = (unsigned char)s; /* fall through */ \
+ case 3: *q++ = (unsigned char)s; /* fall through */ \
+ case 2: *q++ = (unsigned char)s; /* fall through */ \
+ case 1: *q = (unsigned char)s; /* fall through */ \
+ case 0: break; \
+ default: FT_MEM_SET( d, s, count ); \
+ } \
FT_END_STMNT