diff options
| author | David M. Syzdek <david@syzdek.net> | 2009-09-25 10:37:54 -0800 |
|---|---|---|
| committer | David M. Syzdek <david@syzdek.net> | 2009-09-25 10:37:54 -0800 |
| commit | ebdc736f3b3a6f77dbee9d7cd7176dd9103b538c (patch) | |
| tree | c104c2d7f657274cc0b410f45c6a139a9282059e /src/numconvert.c | |
| parent | 43f9ab8e7987e4acc967ad21c069aac39b1c6471 (diff) | |
| download | dmstools-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.c | 6 |
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); |
