New version of comparisions does the same thing as the old without being quite as difficult to understand. Signed-off-by: Sami Kerola <kerolasa@xxxxxx> --- include/carefulputc.h | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/include/carefulputc.h b/include/carefulputc.h index f29dc69..c116d0a 100644 --- a/include/carefulputc.h +++ b/include/carefulputc.h @@ -10,26 +10,22 @@ #include <string.h> #include <ctype.h> -#define iso8859x_iscntrl(c) \ - (((c) & 0x7f) < 0x20 || (c) == 0x7f) - -static inline int fputc_careful(int c, FILE *fp, const char fail) { +static inline int fputc_careful(int c, FILE *fp, const char fail) +{ int ret; - if (c == '\007' || c == '\t' || c == '\r' || c == '\n' || - (!iso8859x_iscntrl(c) && (isprint(c) || isspace(c)))) + if (isprint(c) || c == '\a' || c == '\t' || c == '\r' || c == '\n') ret = putc(c, fp); - else if ((c & 0x80) || !isprint(c^0x40)) - ret = fprintf(fp, "\\%3o", (unsigned char) c); + else if (!isascii(c)) + ret = fprintf(fp, "\\%3o", (unsigned char)c); else { ret = putc(fail, fp); if (ret != EOF) - ret = putc(c^0x40, fp); + ret = putc(c ^ 0x40, fp); } return (ret < 0) ? EOF : 0; } - static inline void fputs_quoted(const char *data, FILE *out) { const char *p; -- 2.1.0 -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html