]> git.refcnt.org Git - colorize.git/blobdiff - colorize.c
Declare color sets variables as constant
[colorize.git] / colorize.c
index 690283a8347b5d95bacf433ee143da6f74080d25..902e189f27a261fb0e32882b26da1bd0d9d5c7e2 100644 (file)
@@ -2,7 +2,7 @@
  * colorize - Read text from standard input stream or file and print
  *            it colorized through use of ANSI escape sequences
  *
- * Copyright (c) 2011-2014 Steven Schubiger
+ * Copyright (c) 2011-2015 Steven Schubiger
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
 
 #define DEBUG_FILE "debug.txt"
 
-#define VERSION "0.54"
+#define VERSION "0.55"
 
 typedef enum { false, true } bool;
 
@@ -286,7 +286,7 @@ main (int argc, char **argv)
     log = open_file (DEBUG_FILE, "w");
 #endif
 
-    while ((opt = getopt_long (argc, argv, "hv", long_opts, NULL)) != -1)
+    while ((opt = getopt_long (argc, argv, "hV", long_opts, NULL)) != -1)
       {
         PARSE_OPT:
         switch (opt)
@@ -330,7 +330,7 @@ main (int argc, char **argv)
               break;
             case 'h':
               SET_OPT_TYPE (OPT_HELP);
-            case 'v':
+            case 'V':
               SET_OPT_TYPE (OPT_VERSION);
             case '?':
               print_hint ();
@@ -411,7 +411,7 @@ print_help (void)
     printf ("\t\t    --clean-all\n");
     printf ("\t\t    --exclude-random\n");
     printf ("\t\t-h, --help\n");
-    printf ("\t\t-v, --version\n\n");
+    printf ("\t\t-V, --version\n\n");
 }
 
 static void
@@ -471,7 +471,7 @@ cleanup (void)
         unsigned int i;
         for (i = 0; i < stacked_vars; i++)
           if (vars_list[i])
-            free_null (vars_list[i]);
+            free (vars_list[i]);
 
         free_null (vars_list);
       }
@@ -483,8 +483,8 @@ free_color_names (struct color_name **color_names)
     unsigned int i;
     for (i = 0; color_names[i]; i++)
       {
-        free_null (color_names[i]->name);
-        free_null (color_names[i]->orig);
+        free (color_names[i]->name);
+        free (color_names[i]->orig);
         free_null (color_names[i]);
       }
 }
@@ -610,7 +610,6 @@ process_args (unsigned int arg_cnt, char **arg_strings, bool *bold, const struct
                   break;
                 case BACKGROUND:
                   vfprintf_fail (formats[FMT_COLOR], tables[BACKGROUND].desc, color, "cannot be bold");
-                  break;
                 default: /* never reached */
                   ABORT_TRACE ();
               }
@@ -633,11 +632,11 @@ process_args (unsigned int arg_cnt, char **arg_strings, bool *bold, const struct
     if (color_names[BACKGROUND])
       {
         unsigned int i;
-        unsigned int color_sets[2][2] = { { FOREGROUND, BACKGROUND }, { BACKGROUND, FOREGROUND } };
+        const unsigned int color_sets[2][2] = { { FOREGROUND, BACKGROUND }, { BACKGROUND, FOREGROUND } };
         for (i = 0; i < 2; i++)
           {
-            unsigned int color1 = color_sets[i][0];
-            unsigned int color2 = color_sets[i][1];
+            const unsigned int color1 = color_sets[i][0];
+            const unsigned int color2 = color_sets[i][1];
             if (CHECK_COLORS_RANDOM (color1, color2))
               vfprintf_fail (formats[FMT_RANDOM], tables[color1].desc, color_names[color1]->orig, "cannot be combined with", color_names[color2]->orig);
           }
@@ -666,13 +665,12 @@ process_file_arg (const char *file_string, const char **file, FILE **stream)
           *stream = stdin;
         else
           {
-            FILE *s;
             const char *file = file_string;
             struct stat sb;
             int ret;
 
             errno = 0;
-            ret = lstat (file, &sb);
+            ret = stat (file, &sb);
 
             if (ret == -1)
               vfprintf_fail (formats[FMT_FILE], file, strerror (errno));
@@ -680,12 +678,7 @@ process_file_arg (const char *file_string, const char **file, FILE **stream)
             if (!VALID_FILE_TYPE (sb.st_mode))
               vfprintf_fail (formats[FMT_TYPE], file, "unrecognized type", get_file_type (sb.st_mode));
 
-            errno = 0;
-
-            s = fopen (file, "r");
-            if (!s)
-              vfprintf_fail (formats[FMT_FILE], file, strerror (errno));
-            *stream = s;
+            *stream = open_file (file, "r");
           }
         *file = file_string;
       }
@@ -987,7 +980,7 @@ print_free_offsets (const char *line, char ***offsets, unsigned int count)
           RESTORE_CHAR (offsets[i + 1][0], ch);
       }
     for (i = 0; i < count; i++)
-      free_null (offsets[i]);
+      free (offsets[i]);
     free_null (offsets);
 }