examples/serial_test.c: Don't crash if no pattern on write is given
authorUwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Mon, 5 Sep 2011 09:39:30 +0000 (11:39 +0200)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Mon, 5 Sep 2011 09:56:07 +0000 (11:56 +0200)
Exit immediate if invalid write pattern is given

examples/serial_test.c

index 60c5a84..46599b8 100644 (file)
@@ -34,7 +34,7 @@ int main(int argc, char **argv)
     int baudrate = 115200;
     int interface = INTERFACE_ANY;
     int do_write = 0;
-    unsigned int pattern;
+    unsigned int pattern = 0xffff;
     int retval = EXIT_FAILURE;
 
     while ((i = getopt(argc, argv, "i:v:p:b:w::")) != -1)
@@ -55,9 +55,13 @@ int main(int argc, char **argv)
                 break;
             case 'w':
                 do_write = 1;
-                pattern = strtoul(optarg, NULL, 0);
+                if (optarg)
+                    pattern = strtoul(optarg, NULL, 0);
                 if (pattern > 0xff)
+                {
                     fprintf(stderr, "Please provide a 8 bit pattern\n");
+                    exit(-1);
+                }
                 break;
             default:
                 fprintf(stderr, "usage: %s [-i interface] [-v vid] [-p pid] [-b baudrate] [-w [pattern]]\n", *argv);