about summary refs log tree commit diff
path: root/editor
diff options
context:
space:
mode:
authorgiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2019-01-01 18:37:11 +0000
committergiraffedata <giraffedata@9d0c8265-081b-0410-96cb-a4ca84ce46f8>2019-01-01 18:37:11 +0000
commitbb08a23c35e7d61ede772230feeba1590c76f2b8 (patch)
treef1d749e8d05e4824d33fa556c5eb66a4f007f4ad /editor
parent1ad40a3dedfdcc8779b702a38555e3c2b213b4fd (diff)
downloadnetpbm-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.c32
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