]> git.ipfire.org Git - thirdparty/util-linux.git/blobdiff - include/carefulputc.h
include: carefulput: print determined char when unprintable char is found
[thirdparty/util-linux.git] / include / carefulputc.h
index 2d857ebb06f898a880956dc93ab10dc92fba90a5..d4d0ee4ea5096fed492db98d5dd67e4d9cfb2cfd 100644 (file)
@@ -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);
        }