summaryrefslogtreecommitdiffstats
path: root/include/carefulputc.h
diff options
context:
space:
mode:
authorSami Kerola2013-08-17 20:15:11 +0200
committerKarel Zak2013-08-23 10:58:48 +0200
commitada6c48f0609edd0c04836370228485a6b1859a0 (patch)
treed99e85dcb7cce48061f75384ada2eb344bb8b4a8 /include/carefulputc.h
parentdocs: add long options to last.1 manual page (diff)
downloadkernel-qcow2-util-linux-ada6c48f0609edd0c04836370228485a6b1859a0.tar.gz
kernel-qcow2-util-linux-ada6c48f0609edd0c04836370228485a6b1859a0.tar.xz
kernel-qcow2-util-linux-ada6c48f0609edd0c04836370228485a6b1859a0.zip
include: carefulput: print determined char when unprintable char is found
This is done to allow reuse of the functin in last(1). Signed-off-by: Sami Kerola <kerolasa@iki.fi>
Diffstat (limited to 'include/carefulputc.h')
-rw-r--r--include/carefulputc.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/include/carefulputc.h b/include/carefulputc.h
index 2d857ebb0..d4d0ee4ea 100644
--- a/include/carefulputc.h
+++ b/include/carefulputc.h
@@ -10,7 +10,7 @@
#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' ||
@@ -19,7 +19,7 @@ static inline int carefulputc(int c, FILE *fp) {
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);
}