diff options
-rw-r--r-- | uxd.c | 30 |
1 files changed, 18 insertions, 12 deletions
@@ -63,14 +63,6 @@ extern int optind; #define CYAN 6 #define WHITE 7 /* don't use (could be the background color) */ -/* default colors */ -int normal_colors[] = { GREEN, YELLOW }; -int bad_color = RED; -int special_color = PURPLE; - -/* toggles between 0 and 1 for each normal character */ -int cur_normal_hilite = 0; - /* highlight types. HL_NORM_INV is only used for the hex bytes, not the human-readable right column. */ #define HL_NORMAL 0 @@ -89,12 +81,26 @@ int cur_normal_hilite = 0; #define PRINT_BAD "�" #define PRINT_BOM "B" +/* sprintf() formats for hex data */ +#define LC_BYTE_FMT "%02x" +#define LC_ADDR_FMT "%04x: " +#define UC_BYTE_FMT "%02X" +#define UC_ADDR_FMT "%04X: " + /* name (read from argv[0]), for error/warning messages. */ const char *self; /* the input file, either stdin or a file we open for reading. */ FILE *input; +/* default colors */ +int normal_colors[] = { GREEN, YELLOW }; +int bad_color = RED; +int special_color = PURPLE; + +/* toggles between 0 and 1 for each normal character */ +int cur_normal_hilite = 0; + /* these buffers are bigger than they need to be really. */ /* offset and hex bytes: */ char left_buf[4096]; @@ -134,8 +140,8 @@ long display_offset = 0; /* -o */ long seekpos = 0; /* -s, -S */ int seek_offset_zero = 0; /* -S */ long limit; /* -l */ -const char *hex_byte_fmt = "%02x"; /* -u */ -const char *hex_word_fmt = "%04x: "; /* " */ +const char *hex_byte_fmt = LC_BYTE_FMT; /* -u */ +const char *hex_addr_fmt = LC_ADDR_FMT; /* " */ char *dump_data_arg = NULL; /* -d */ long dump_data_idx = 0; /* -d */ @@ -291,7 +297,7 @@ void parse_args(int argc, char **argv) { seekpos = parse_number(opt, optarg); break; case 'u': - hex_byte_fmt = "%02X"; hex_word_fmt = "%04X: "; break; + hex_byte_fmt = UC_BYTE_FMT; hex_addr_fmt = UC_ADDR_FMT; break; case 'h': usage(); break; case 'v': @@ -481,7 +487,7 @@ void append_left(unsigned char byte, int dash, int hl_type) { char tmpbuf[100]; if(!dump_column) - sprintf(left_buf, hex_word_fmt, filepos + display_offset); + sprintf(left_buf, hex_addr_fmt, filepos + display_offset); append_hilite(left_buf, hl_type); sprintf(tmpbuf, hex_byte_fmt, byte); |