PCHAR
#define PCHAR(c) snprintf_func((c), arg)
#undef PCHAR
#define PCHAR(c) { \
#undef PCHAR
#undef PCHAR
#define PCHAR(c) {int cc=(c); if (func) (*func)(cc,arg); else *d++ = cc; retval++; }
#define PCHAR(c) { if (retval < tmpsz) { *outbuf++ = (c); retval++; } }