diff --git a/src/core/debug.c b/src/core/debug.c index 627d5d9a1..2161f9731 100644 --- a/src/core/debug.c +++ b/src/core/debug.c @@ -22,6 +22,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #include #include #include +#include #include /** @@ -96,9 +97,7 @@ static void dbg_hex_dump_da_row ( unsigned long dispaddr, const void *data, continue; } byte = bytes[i]; - if ( ( byte < 0x20 ) || ( byte >= 0x7f ) ) - byte = '.'; - dbg_printf ( "%c", byte ); + dbg_printf ( "%c", ( isprint ( byte ) ? byte : '.' ) ); } dbg_printf ( "\n" ); } diff --git a/src/include/ctype.h b/src/include/ctype.h index 9f5127bf1..e92ecb1c0 100644 --- a/src/include/ctype.h +++ b/src/include/ctype.h @@ -12,6 +12,7 @@ FILE_LICENCE ( GPL2_OR_LATER ); #define islower(c) ((c) >= 'a' && (c) <= 'z') #define isupper(c) ((c) >= 'A' && (c) <= 'Z') #define isxdigit(c) (isdigit(c) || ((c) >= 'A' && (c) <= 'F') || ((c) >= 'a' && (c) <= 'f')) +#define isprint(c) ((c) >= ' ' && (c) <= '~' ) static inline unsigned char tolower(unsigned char c) {