From 33049e8622869842791a970d33d21e4c97b83495 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Milo=C5=A1=20Mula=C4=8D?= Date: Mon, 16 Apr 2007 12:13:06 +0000 Subject: [PATCH] better argument handling - prevent coredumpig when args are in some 'bad' order (C or S before n) --- org.glite.lb.client/examples/job_reg.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/org.glite.lb.client/examples/job_reg.c b/org.glite.lb.client/examples/job_reg.c index b9300eb..4af5a5b 100644 --- a/org.glite.lb.client/examples/job_reg.c +++ b/org.glite.lb.client/examples/job_reg.c @@ -36,8 +36,8 @@ int main(int argc, char *argv[]) case 'j': job = (char *) strdup(optarg); break; case 'm': server = strdup(optarg); break; case 'n': num_subjobs = atoi(optarg); break; - case 'S': if (num_subjobs>0) { reg_subjobs = 1; break; } - case 'C': if (num_subjobs>0) { collection = 1; break; } + case 'S': reg_subjobs = 1; break; + case 'C': collection = 1; break; case 'P': pbs = 1; break; case 'l': jdl = (char *) strdup(optarg); break; case 'e': seed = strdup(optarg); break; @@ -46,6 +46,11 @@ int main(int argc, char *argv[]) } } while (!done); + if ((num_subjobs <= 0) && (reg_subjobs || collection) ) { + usage(argv[0]); + exit(EINVAL); + } + if (!job && !server) { fprintf(stderr,"%s: either -m server or -j jobid has to be specified\n",argv[0]); exit(1); -- 1.8.2.3