This is done to allow reuse of the functin in last(1).
Signed-off-by: Sami Kerola <kerolasa@iki.fi>
#define iso8859x_iscntrl(c) \
(((c) & 0x7f) < 0x20 || (c) == 0x7f)
-static inline int carefulputc(int c, FILE *fp) {
+static inline int carefulputc(int c, FILE *fp, const char fail) {
int ret;
if (c == '\007' || c == '\t' || c == '\r' || c == '\n' ||
else if ((c & 0x80) || !isprint(c^0x40))
ret = fprintf(fp, "\\%3o", (unsigned char) c);
else {
- ret = putc('^', fp);
+ ret = putc(fail, fp);
if (ret != EOF)
ret = putc(c^0x40, fp);
}
cnt = 0;
}
if (ch != '\n')
- carefulputc(ch, fp);
+ carefulputc(ch, fp, '^');
}
}
}
{
char c;
-#define PUTC(c) if (carefulputc(c, stdout) == EOF) \
+#define PUTC(c) if (carefulputc(c, stdout, '^') == EOF) \
err(EXIT_FAILURE, _("carefulputc failed"));
while (*s) {
c = *s++;