From d098ac4abc805d6bdfc2b331de4633d7bda03b00 Mon Sep 17 00:00:00 2001 From: Michael Forney Date: Sun, 25 Feb 2018 22:56:07 -0800 Subject: [PATCH] od: For the 'c' type, format non-printable charecters as octal This is the behavior specified by POSIX. --- od.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/od.c b/od.c index eb63318..0b1c5c6 100644 --- a/od.c +++ b/od.c @@ -1,4 +1,5 @@ /* See LICENSE file for copyright and license details. */ +#include #include #include #include @@ -69,6 +70,8 @@ printchunk(const unsigned char *s, unsigned char format, size_t len) case 'c': if (strchr("\a\b\t\n\v\f\r\0", *s)) { printf(" %3s", escdict[*s]); + } else if (!isprint(*s)) { + printf(" %3o", *s); } else { printf(" %3c", *s); }