Do not analyze if sort field selector is rubbish.
authorSami Kerola <kerolasa@iki.fi>
Sat, 22 Jan 2011 21:50:14 +0000 (22:50 +0100)
committerSami Kerola <kerolasa@iki.fi>
Sat, 22 Jan 2011 21:50:14 +0000 (22:50 +0100)
Error message also had a bug, it's changed to be over all more
helpful.

Signed-off-by: Sami Kerola <kerolasa@iki.fi>

src/dhcpd-pools.c
src/sort.c

index ef18faa..7c07170 100644 (file)
@@ -122,6 +122,9 @@ int main(int argc, char **argv)
                                strncpy(config.sort, optarg,
                                        (size_t) sorts);
                        }
+                       for (i = 0; i < sorts; i++) {
+                               field_selector(config.sort[i]);
+                       }
                        break;
                case 'r':
                        /* What ever sort in reverse order */
@@ -181,7 +184,7 @@ int main(int argc, char **argv)
                output_analysis = output_csv;
                break;
        default:
-               errx(EXIT_FAILURE, "main: unknown ouput format `%c'",
+               errx(EXIT_FAILURE, "main: unknown output format `%c'",
                     config.output_format[0]);
        }
 
index 40ecad4..8f769e3 100644 (file)
@@ -23,6 +23,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 #include <string.h>
+#include <errno.h>
 #include <err.h>
 
 #include "dhcpd-pools.h"
@@ -117,9 +118,9 @@ void field_selector(char c)
                returner = ret_tcperc;
                break;
        default:
-               errx(EXIT_FAILURE,
-                    "field_selector: unknown sort order `%c'",
-                    config.sort[0]);
+               warnx("field_selector: unknown sort order `%c'", c);
+               errx(EXIT_FAILURE, "Try `%s --help' for more information.",
+                       program_invocation_short_name);
        }
 }