]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - lib/getopt.c
Source Format Enforcement (#763)
[thirdparty/squid.git] / lib / getopt.c
index 1574e4d79f16b44059d0e4983b6713f618198684..463ca3dfd5ef491986c9c6bfab9967e16f555030 100644 (file)
@@ -1,3 +1,11 @@
+/*
+ * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
+ *
+ * Squid software is distributed under GPLv2+ license and includes
+ * contributions from numerous individuals and organizations.
+ * Please see the COPYING and CONTRIBUTORS files for details.
+ */
+
 /*
  * Copyright (c) 1987, 1993, 1994
  *      The Regents of the University of California.  All rights reserved.
  * SUCH DAMAGE.
  */
 
+#include "squid.h"
+
 #if defined(LIBC_SCCS) && !defined(lint)
 static char sccsid[] = "@(#)getopt.c   8.3 (Berkeley) 4/27/95";
 #endif /* LIBC_SCCS and not lint */
 
-#include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 
-int opterr = 1,                        /* if error message should be printed */
-             optind = 1,                       /* index into parent argv vector */
-                      optopt,                  /* character checked for validity */
-                      optreset;                        /* reset getopt */
-char *optarg;                  /* argument associated with option */
+int opterr = 1,         /* if error message should be printed */
+    optind = 1,            /* index into parent argv vector */
+    optopt,           /* character checked for validity */
+    optreset;         /* reset getopt */
+char *optarg;           /* argument associated with option */
 
-#define        BADCH   (int)'?'
-#define        BADARG  (int)':'
-#define        EMSG    ""
+#define BADCH   (int)'?'
+#define BADARG  (int)':'
+#define EMSG    (char*)""
 
 /*
  * getopt --
@@ -55,21 +64,21 @@ int nargc;
 char *const *nargv;
 const char *ostr;
 {
-    static char *place = EMSG; /* option letter processing */
-    char *oli;                 /* option letter list index */
+    static char *place = EMSG;  /* option letter processing */
+    char *oli;          /* option letter list index */
 
-    if (optreset || !*place) { /* update scanning pointer */
+    if (optreset || !*place) {  /* update scanning pointer */
         optreset = 0;
         if (optind >= nargc || *(place = nargv[optind]) != '-') {
             place = EMSG;
             return (-1);
         }
-        if (place[1] && *++place == '-') {     /* found "--" */
+        if (place[1] && *++place == '-') {  /* found "--" */
             ++optind;
             place = EMSG;
             return (-1);
         }
-    }                          /* option letter okay? */
+    }               /* option letter okay? */
     if ((optopt = (int) *place++) == (int) ':' ||
             !(oli = strchr(ostr, optopt))) {
         /*
@@ -85,14 +94,14 @@ const char *ostr;
                            "%s: illegal option -- %c\n", __FILE__, optopt);
         return (BADCH);
     }
-    if (*++oli != ':') {       /* don't need argument */
+    if (*++oli != ':') {    /* don't need argument */
         optarg = NULL;
         if (!*place)
             ++optind;
-    } else {                   /* need an argument */
-        if (*place)            /* no white space */
+    } else {            /* need an argument */
+        if (*place)     /* no white space */
             optarg = place;
-        else if (nargc <= ++optind) {  /* no arg */
+        else if (nargc <= ++optind) {   /* no arg */
             place = EMSG;
             if (*ostr == ':')
                 return (BADARG);
@@ -101,10 +110,11 @@ const char *ostr;
                                "%s: option requires an argument -- %c\n",
                                __FILE__, optopt);
             return (BADCH);
-        } else                 /* white space */
+        } else          /* white space */
             optarg = nargv[optind];
         place = EMSG;
         ++optind;
     }
-    return (optopt);           /* dump back option letter */
+    return (optopt);        /* dump back option letter */
 }
+