chiark / gitweb /
support iterations limit
authorian <ian>
Sun, 9 Jan 2005 02:04:22 +0000 (02:04 +0000)
committerian <ian>
Sun, 9 Jan 2005 02:04:22 +0000 (02:04 +0000)
hostside/main.c

index 5a34e3fb6487b8a6757270a9319ee8131d70e919..6407be89e0dced9f4f05f5efba82cdb3fe47c437 100644 (file)
@@ -20,15 +20,16 @@ int main(int argc, const char **argv) {
   char hbuf[3], *ep;
   Byte buf[NMRA_PACKET_MAX + COMMAND_ENCODED_MAX];
 
-  int repeat_delay= -1;
+  int repeat_delay= -1, iterations= -1;
   const char *serial_port, *data_string, *instruction;
   
-  assert(argc>=4 && argc<=6);
+  assert(argc>=4 && argc<=7);
   serial_port= argv[1];
   data_string= argv[2];
   instruction= argv[3];
   if (argc>4) serial_fudge_delay= atoi(argv[4]);
   if (argc>5) repeat_delay= atoi(argv[5]);
+  if (argc>6) iterations= atoi(argv[6]);
 
   serial_open(serial_port);
 
@@ -55,6 +56,7 @@ int main(int argc, const char **argv) {
     }
 
     if (repeat_delay < 0) break;
+    if (iterations >= 0 && !iterations--) break;
     if (repeat_delay > 0) usleep(repeat_delay);
   }