chiark / gitweb /
Bugfixes: install service prog in right place; allow no extra routes.
[userv-utils.git] / ipif / service.c
index 5ed6014893495b65ecae6459bcaf24e144d14e11..ad55e30c29407341527235865208591233f18d6b 100644 (file)
@@ -202,13 +202,13 @@ static unsigned long eat_number(const char **argp, const char *what,
   char *ep;
   int endchar;
 
-  if (!*argp) { badusage("missing number %s\n",what); }
+  if (!*argp) { badusage("missing number %s",what); }
   rv= strtoul(*argp,&ep,0);
   if ((endchar= *ep)) {
-    if (!endchars) badusage("junk after number %s\n",what);
+    if (!endchars) badusage("junk after number %s",what);
     if (!strchr(endchars,endchar))
       badusage("invalid character or delimiter `%c' in or after number, %s:"
-              " expected %s (or none?)\n", endchar,what,endchars);
+              " expected %s (or none?)", endchar,what,endchars);
     *argp= ep+1;
   } else {
     *argp= 0;
@@ -259,7 +259,7 @@ static void eat_prefixmask(const char **argp, const char *what,
   len= eat_number(argp,whatbuf, 0,32, endchars,endchar_r);
 
   mask= (~0UL << (32-len));
-  if (prefix & ~mask) badusage("%s prefix %08lx not fully contained in mask %08lx\n",
+  if (prefix & ~mask) badusage("%s prefix %08lx not fully contained in mask %08lx",
                               what,prefix,mask);
   *prefix_r= prefix;
   if (mask_r) *mask_r= mask;
@@ -432,7 +432,7 @@ static void parseargs(int argc, const char *const *argv) {
   
   carg= *++argv;
   for (nexroutes=0;
-       carg;
+       carg && *carg;
        nexroutes++) {
     if (nexroutes == MAXEXROUTES)
       fatal("too many extra routes (only %d allowed)",MAXEXROUTES);