Regression introduced by fb486bb1a5038912d064291b12c7aef5da3d8b63

Found-by: clang static analyzer
Signed-off-by: Jeremy Huddleston <jerem...@apple.com>
---
 bdftruncate.c |   21 ++++++++++-----------
 1 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/bdftruncate.c b/bdftruncate.c
index a527305..e2b5d87 100644
--- a/bdftruncate.c
+++ b/bdftruncate.c
@@ -43,14 +43,10 @@
 
 static int iswide(unsigned int);
 static void usage(void);
-
-static int opt_minus_w;
-static int opt_plus_w;
-static int removewide;
-static unsigned long threshold;
+static int parse_threshold(const char *str, unsigned long *threshold);
 
 static int
-parse_threshold(const char *str)
+parse_threshold(const char *str, unsigned long *threshold)
 {
        int base;
        char *end_ptr;
@@ -63,14 +59,14 @@ parse_threshold(const char *str)
                base = 10;
 
        errno = 0;
-       threshold = strtoul(str, &end_ptr, base);
-       if (errno != 0 || threshold == 0)
+       *threshold = strtoul(str, &end_ptr, base);
+       if (errno != 0 || *threshold == 0)
                return 1;
        return 0;
 }
 
 static void
-process_line(const char *line)
+process_line(const char *line, int removewide, unsigned long threshold)
 {
        if (strncmp(line, "ENCODING", 8) == 0) {
                unsigned long enc;
@@ -120,6 +116,9 @@ int
 main(int argc, char **argv)
 {
        int removewide;
+       unsigned long threshold;
+       int opt_minus_w;
+       int opt_plus_w;
        char *line, *input_ptr;
        size_t line_len, rest_len;
 
@@ -139,7 +138,7 @@ main(int argc, char **argv)
 
        if (argc != 1 || (opt_plus_w && opt_minus_w))
                usage();
-       if (parse_threshold(*argv)) {
+       if (parse_threshold(*argv, &threshold)) {
                fprintf(stderr, "Illegal threshold %s\n", *argv);
                usage();
        }
@@ -178,7 +177,7 @@ main(int argc, char **argv)
                                break;
                        }
                }
-               process_line(line);
+               process_line(line, removewide, threshold);
        }
 
        return EXIT_SUCCESS;
-- 
1.7.4.1


_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to