aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/numconvert.c
diff options
context:
space:
mode:
authorDavid M. Syzdek <david@syzdek.net>2009-09-25 10:37:54 -0800
committerDavid M. Syzdek <david@syzdek.net>2009-09-25 10:37:54 -0800
commitebdc736f3b3a6f77dbee9d7cd7176dd9103b538c (patch)
treec104c2d7f657274cc0b410f45c6a139a9282059e /src/numconvert.c
parent43f9ab8e7987e4acc967ad21c069aac39b1c6471 (diff)
downloaddmstools-ebdc736f3b3a6f77dbee9d7cd7176dd9103b538c.tar.gz
dmstools-ebdc736f3b3a6f77dbee9d7cd7176dd9103b538c.tar.bz2
dmstools-ebdc736f3b3a6f77dbee9d7cd7176dd9103b538c.tar.xz
dmstools-ebdc736f3b3a6f77dbee9d7cd7176dd9103b538c.zip
improving number system recognition in numconvert
Diffstat (limited to 'src/numconvert.c')
-rw-r--r--src/numconvert.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/numconvert.c b/src/numconvert.c
index 22967d6..fe8a437 100644
--- a/src/numconvert.c
+++ b/src/numconvert.c
@@ -227,6 +227,7 @@ int main(int argc, char * argv[])
227 len = 0; 227 len = 0;
228 if (!(base)) 228 if (!(base))
229 { 229 {
230 base = 10;
230 if (!(strncmp("00", argv[x], 2))) 231 if (!(strncmp("00", argv[x], 2)))
231 base = 2; 232 base = 2;
232 else if (!(strncmp("0x", argv[x], 2))) 233 else if (!(strncmp("0x", argv[x], 2)))
@@ -234,7 +235,10 @@ int main(int argc, char * argv[])
234 else if (!(strncmp("0", argv[x], 1))) 235 else if (!(strncmp("0", argv[x], 1)))
235 base = 8; 236 base = 8;
236 else 237 else
237 base = 10; 238 for(y = 0; y < strlen(argv[x]); y++)
239 if ( ((argv[x][y] >= 'a') && (argv[x][y] <= 'z')) ||
240 ((argv[x][y] >= 'A') && (argv[x][y] <= 'Z')) )
241 base = 16;
238 }; 242 };
239 num = strtoumax(argv[x], NULL, base); 243 num = strtoumax(argv[x], NULL, base);
240 if (opt & MY_OPT_OCT) len = printf((len ? ",0%jo" : "0%jo"), num); 244 if (opt & MY_OPT_OCT) len = printf((len ? ",0%jo" : "0%jo"), num);