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

From: Quentin Rameau <quinq_AT_fifth.space>
Date: Wed, 4 Mar 2020 17:11:45 +0100

---
 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.1
Received 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