diff options
author | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2019-01-01 18:37:11 +0000 |
---|---|---|
committer | giraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8> | 2019-01-01 18:37:11 +0000 |
commit | bb08a23c35e7d61ede772230feeba1590c76f2b8 (patch) | |
tree | f1d749e8d05e4824d33fa556c5eb66a4f007f4ad /editor | |
parent | 1ad40a3dedfdcc8779b702a38555e3c2b213b4fd (diff) | |
download | netpbm-mirror-bb08a23c35e7d61ede772230feeba1590c76f2b8.tar.gz netpbm-mirror-bb08a23c35e7d61ede772230feeba1590c76f2b8.tar.xz netpbm-mirror-bb08a23c35e7d61ede772230feeba1590c76f2b8.zip |
cleanup
git-svn-id: http://svn.code.sf.net/p/netpbm/code/trunk@3477 9d0c8265-081b-0410-96cb-a4ca84ce46f8
Diffstat (limited to 'editor')
-rw-r--r-- | editor/pamstretch.c | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/editor/pamstretch.c b/editor/pamstretch.c index 04883c35..073ee6e1 100644 --- a/editor/pamstretch.c +++ b/editor/pamstretch.c @@ -27,8 +27,9 @@ #include <limits.h> #include "pm_c_util.h" -#include "pam.h" +#include "nstring.h" #include "shhopt.h" +#include "pam.h" enum an_edge_mode { EDGE_DROP, @@ -118,22 +119,23 @@ parse_command_line(int argc, char ** argv, "optional file specification", argc-1); { - char *endptr; /* ptr to 1st invalid character in scale arg */ + const char * error; /* error message of pm_string_to_uint */ unsigned int scale; - - scale = strtol(argv[1], &endptr, 10); - if (*argv[1] == '\0') - pm_error("Scale argument is a null string. " - "Must be a number."); - else if (*endptr != '\0') - pm_error("Scale argument contains non-numeric character '%c'.", - *endptr); - else if (scale < 2) - pm_error("Scale argument must be at least 2. " - "You specified %d", scale); - cmdline_p->xscale = scale; - cmdline_p->yscale = scale; + + pm_string_to_uint(argv[1], &scale, &error); + + if (error == NULL) { + if (scale < 2) + pm_error("Scale argument must be at least 2. " + "You specified %d", scale); + cmdline_p->xscale = scale; + cmdline_p->yscale = scale; + } + else + pm_error("Invalid scale factor: %s", error); + } + if (argc-1 > 1) cmdline_p->input_filespec = argv[2]; else |