- if (source->chars[n] > 0xffff) {
- sprintf(target, "U%08x", source->chars[n]);
- } else if (source->chars[n] > 0xff) {
- sprintf(target, "u%04x", source->chars[n]);
- } else if (source->chars[n] < 32 || source->chars[n] >= 127) {
- sprintf(target, "%03o", source->chars[n] & 0xff);
+ if (uch > 0xffff) {
+ _nc_SPRINTF(target, CUR_SLIMIT "U%08x", uch);
+ } else if (uch > 0xff) {
+ _nc_SPRINTF(target, CUR_SLIMIT "u%04x", uch);
+ } else if (uch < 32 || uch >= 127) {
+ _nc_SPRINTF(target, CUR_SLIMIT "%03o", uch & 0xff);