From 954938c5f165a1869d5c5e849972e8c4aaa648ad Mon Sep 17 00:00:00 2001 From: ian Date: Sun, 11 May 2008 19:50:29 +0000 Subject: [PATCH] fix argument parsing --- hostside/realtime.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/hostside/realtime.c b/hostside/realtime.c index d2c83bb..1153d1d 100644 --- a/hostside/realtime.c +++ b/hostside/realtime.c @@ -325,16 +325,18 @@ int main(int argc, const char **argv) { /* do this before we call malloc so that MAP_FIXED is sure to work */ persist_entrails_run_converter(); - while ((arg=*++argv) && *arg=='-') { + while ((arg=*++argv) && *arg=='-' && arg[1]) { arg++; - switch (*arg++) { - case 's': device= arg; break; - case 'p': persist_fn= arg; break; - case 'v': picio_send_noise= atoi(arg); break; - case 'm': sta_state= Sta_Manual; break; - case 'L': logcopy_fn= arg; break; - case 'S': simulate= arg; break; - default: badusage("unknown option"); + while (arg && *arg) { + switch (*arg++) { + case 's': device= arg; arg=0; break; + case 'p': persist_fn= arg; arg=0; break; + case 'v': picio_send_noise= atoi(arg); arg=0; break; + case 'm': sta_state= Sta_Manual; break; + case 'L': logcopy_fn= arg; arg=0; break; + case 'S': simulate= arg; arg=0; break; + default: badusage("unknown option"); + } } } -- 2.30.2