diff options
author | Tavian Barnes <tavianator@gmail.com> | 2011-04-03 21:00:59 -0400 |
---|---|---|
committer | Tavian Barnes <tavianator@gmail.com> | 2011-04-03 21:00:59 -0400 |
commit | 7bc2770af08e317b2076540050c68d2de55a11db (patch) | |
tree | f70c99bcf17b62cdb6a956f97e78c9513288febf /dimension/main.c | |
parent | 90e477cde0e9c2f7d8e085efa19b2fe2d0f9aae5 (diff) | |
download | dimension-7bc2770af08e317b2076540050c68d2de55a11db.tar.xz |
New dmnsn_strto* helper functions.
Diffstat (limited to 'dimension/main.c')
-rw-r--r-- | dimension/main.c | 47 |
1 files changed, 17 insertions, 30 deletions
diff --git a/dimension/main.c b/dimension/main.c index 80bc6e6..26f131c 100644 --- a/dimension/main.c +++ b/dimension/main.c @@ -104,48 +104,35 @@ main(int argc, char **argv) break; case 'w': - { - char *endptr; - width = strtol(optarg, &endptr, 10); - if (*endptr != '\0' || endptr == optarg || width <= 0) { - fprintf(stderr, "Invalid argument to --width!\n"); - print_usage(stderr, argv[0]); - return EXIT_FAILURE; - } - break; + if (!dmnsn_strtoi(&width, optarg, 10) || width <= 0) { + fprintf(stderr, "Invalid argument to --width!\n"); + print_usage(stderr, argv[0]); + return EXIT_FAILURE; } case 'h': - { - char *endptr; - height = strtol(optarg, &endptr, 10); - if (*endptr != '\0' || endptr == optarg || height <= 0) { - fprintf(stderr, "Invalid argument to --height!\n"); - print_usage(stderr, argv[0]); - return EXIT_FAILURE; - } - break; + if (!dmnsn_strtoi(&height, optarg, 10) || height <= 0) { + fprintf(stderr, "Invalid argument to --height!\n"); + print_usage(stderr, argv[0]); + return EXIT_FAILURE; } + break; case DMNSN_OPT_THREADS: - { - char *endptr; - nthreads = strtol(optarg, &endptr, 10); - if (*endptr != '\0' || endptr == optarg || nthreads <= 0) { - fprintf(stderr, "Invalid argument to --threads!\n"); - print_usage(stderr, argv[0]); - return EXIT_FAILURE; - } - break; + if (!dmnsn_strtoi(&nthreads, optarg, 10) || nthreads <= 0) { + fprintf(stderr, "Invalid argument to --threads!\n"); + print_usage(stderr, argv[0]); + return EXIT_FAILURE; } + break; case DMNSN_OPT_QUALITY: { - char *endptr; - quality = strtoul(optarg, &endptr, 0); - if (*endptr != '\0' || endptr == optarg) { + unsigned int iqual; + if (!dmnsn_strtoui(&iqual, optarg, 0)) { fprintf(stderr, "Invalid argument to --quality!\n"); print_usage(stderr, argv[0]); return EXIT_FAILURE; } + quality = iqual; break; } case DMNSN_OPT_STRICT: |