[hackers] [PATCH-v2] od: set -tx default byte number to integer size

2020-03-04 Thread Quentin Rameau
Scratch the above patch, I forgot to credit prez for the report.
Please use the attached patch!

Thanks Michael
>From f3eef8e9c4820b7764a229fa40d714f52fc676ee Mon Sep 17 00:00:00 2001
From: Quentin Rameau 
Date: Wed, 4 Mar 2020 17:02:15 +0100
Subject: [PATCH] od: set -tx default byte number to integer size

Thanks to prez  for the report and
base patch!
---
 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
@@ -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);
@@ -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';
@@ -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.1



[hackers] [PATCH] od: set -tx default byte number to integer size

2020-03-04 Thread Quentin Rameau
---
 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
@@ -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);
@@ -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';
@@ -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.1