fielding    01/01/28 00:59:16

  Modified:    misc/unix getopt.c
  Log:
  Eliminate warning and redundant exit conditions.
  
  Revision  Changes    Path
  1.31      +9 -7      apr/misc/unix/getopt.c
  
  Index: getopt.c
  ===================================================================
  RCS file: /home/cvs/apr/misc/unix/getopt.c,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- getopt.c  2000/12/21 00:48:54     1.30
  +++ getopt.c  2001/01/28 08:59:15     1.31
  @@ -209,7 +209,7 @@
                                          int *optch, const char **optarg)
   {
       const char *p;
  -    int i, len;
  +    int i;
   
       /* Let the calling program reset option processing. */
       if (os->reset) {
  @@ -239,15 +239,17 @@
        p = os->argv[os->ind++] + 1;
        if (*p == '-' && p[1] != '\0') {        /* Long option */
            /* Search for the long option name in the caller's table. */
  +         int len = 0;
  +
            p++;
  -         for (i = 0; opts[i].optch != 0; i++) {
  +         for (i = 0; ; i++) {
  +             if (opts[i].optch == 0)             /* No match */
  +                 return serr(os, "invalid option", p - 2, APR_BADCH);
                len = strlen(opts[i].name);
                if (strncmp(p, opts[i].name, len) == 0
                    && (p[len] == '\0' || p[len] == '='))
                    break;
            }
  -         if (opts[i].optch == 0)             /* No match */
  -             return serr(os, "invalid option", p - 2, APR_BADCH);
            *optch = opts[i].optch;
   
            if (opts[i].has_arg) {
  @@ -277,12 +279,12 @@
        * Now we're in a run of short options, and *p is the next one.
        * Look for it in the caller's table.
        */
  -    for (i = 0; opts[i].optch != 0; i++) {
  +    for (i = 0; ; i++) {
  +     if (opts[i].optch == 0)                     /* No match */
  +         return cerr(os, "invalid option character", *p, APR_BADCH);
        if (*p == opts[i].optch)
            break;
       }
  -    if (opts[i].optch == 0)                     /* No match */
  -     return cerr(os, "invalid option character", *p, APR_BADCH);
       *optch = *p++;
   
       if (opts[i].has_arg) {
  
  
  

Reply via email to