cp = "\xa8\xc0"; \
break; \
case 0x2c7 ... 0x2cb: \
- cp = "\xa1\xa6\0\0\0\0\0\0\xa1\xa5\0\0\xa8\x40\0\0\xa8\x41" + ((ch - 0x2c7) * 4); \
+ cp = &"\xa1\xa6\0\0\0\0\0\0\xa1\xa5\0\0\xa8\x40\0\0\xa8\x41"[(ch - 0x2c7) * 4]; \
break; \
case 0x2d9: \
cp = "\xa8\x42"; \
buf[1] = '\x80' + (ch - 0x2588); \
break; \
case 0x2593 ... 0x2595: \
- cp = "\xa8\x88\0\0\xa8\x89\0\0\xa8\x8a" + ((ch - 0x2593) * 4); \
+ cp = &"\xa8\x88\0\0\xa8\x89\0\0\xa8\x8a"[(ch - 0x2593) * 4]; \
break; \
case 0x25a0: \
cp = "\xa1\xf6"; \
cp = __gbk_from_ucs4_tab12[ch - 0xff01]; \
break; \
case 0xffe0 ... 0xffe5: \
- cp = "\xa1\xe9\0\0\xa1\xea\0\0\xa9\x56\0\0\xa3\xfe\0\0\xa9\x57\0\0\xa3\xa4" + ((ch - 0xffe0) * 4); \
+ cp = &"\xa1\xe9\0\0\xa1\xea\0\0\xa9\x56\0\0\xa3\xfe\0\0\xa9\x57\0\0\xa3\xa4" [(ch - 0xffe0) * 4]; \
break; \
default: \
UNICODE_TAG_HANDLER (ch, 4); \
} \
\
assert (used >= 1 && used <= 4); \
- escseq = ")A\0\0)G)E" + (used - 1) * 2; \
+ escseq = &")A\0\0)G)E"[(used - 1) * 2]; \
*outptr++ = ESC; \
*outptr++ = '$'; \
*outptr++ = *escseq++; \
} \
\
assert ((used >> 5) >= 3 && (used >> 5) <= 7); \
- escseq = "+I+J+K+L+M" + ((used >> 5) - 3) * 2; \
+ escseq = &"+I+J+K+L+M"[((used >> 5) - 3) * 2]; \
*outptr++ = ESC; \
*outptr++ = '$'; \
*outptr++ = *escseq++; \
} \
\
assert ((used >> 3) >= 1 && (used >> 3) <= 3); \
- escseq = ")A)G*H" + ((used >> 3) - 1) * 2; \
+ escseq = &")A)G*H"[((used >> 3) - 1) * 2]; \
*outptr++ = ESC; \
*outptr++ = '$'; \
*outptr++ = *escseq++; \