On HP-UX 10.20 in the HP C-ANSI-C environment
CAT2(macro, _A)
expands to
macro01
as _A obviously expands to 01. This fix "breaks" the token
* the function. This relies on the fact that ASCII characters have the same
* representation whether utf8 or not */
#define generic_utf8(macro, function, p) (isASCII(*(p)) \
- ? CAT2(macro, _A)(*(p)) \
+ ? CAT2(CAT2(macro,_)A)(*(p)) \
: (UTF8_IS_DOWNGRADEABLE_START(*(p))) \
? CAT2(macro, _L1) \
(TWO_BYTE_UTF8_TO_UNI(*(p), \