--- od.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/od.c b/od.c index 0b1c5c6..9ff8ff2 100644 --- a/od.c +++ b/od.c _AT_@ -212,7 +212,7 @@ main(int argc, char *argv[]) { int fd; struct type *t; - int ret = 0, len; + int ret = 0, len, defbytes; char *s; big_endian = (*(uint16_t *)"\0\xff" == 0xff); _AT_@ -260,6 +260,7 @@ main(int argc, char *argv[]) case 'o': case 'u': case 'x': + defbytes = 0; /* todo: allow multiple digits */ if (*(s+1) > '0' && *(s+1) <= '9') { len = *(s+1) - '0'; _AT_@ -271,17 +272,17 @@ main(int argc, char *argv[]) case 'S': len = sizeof(short); break; + default: + defbytes = 1; case 'I': len = sizeof(int); break; case 'L': len = sizeof(long); break; - default: - len = sizeof(int); } } - addtype(*s++, len); + addtype(defbytes ? *s : *s++, len); break; default: usage(); -- 2.25.1Received on Wed Mar 04 2020 - 17:11:45 CET
This archive was generated by hypermail 2.3.0 : Wed Mar 04 2020 - 17:12:43 CET