aboutsummaryrefslogtreecommitdiff
path: root/misc/win32/getopt.c
diff options
context:
space:
mode:
Diffstat (limited to 'misc/win32/getopt.c')
-rw-r--r--misc/win32/getopt.c143
1 files changed, 0 insertions, 143 deletions
diff --git a/misc/win32/getopt.c b/misc/win32/getopt.c
deleted file mode 100644
index 6941ef451..000000000
--- a/misc/win32/getopt.c
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1987, 1993, 1994
- * The Regents of the University of California. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include "misc.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 */
-
-#define EMSG ""
-
-/* ***APRDOC********************************************************
- * ap_status_t ap_getopt(ap_context_t *, ap_int32_t, char *const *,
- * const char *, ap_int32_t)
- * Parse the command line options passed to the program.
- * arg 1) The context to operate on.
- * arg 2) The number of arguments passed to ap_getopt to parse
- * arg 3) The array of command line options to parse
- * arg 4) A string of characters that are acceptable options to the program.
- * characters followed by ":" are required to have an option
- * associated
- * arg 5) The next option found. There are four potential values for
- * this variable on exit. They are:
- * APR_EOF -- No more options to parse
- * APR_BADCH -- Found a bad option character
- * APR_BADARG -- Missing parameter for the found option
- * Other -- The next option found.
- * NOTE: Arguments 2 and 3 are most commonly argc and argv from
- * main(argc, argv)
- */
-ap_status_t ap_getopt(struct context_t *cont, ap_int32_t nargc,
- char *const *nargv, const char *ostr, ap_int32_t *rv)
-{
- char *p;
- static char *place = EMSG; /* option letter processing */
- char *oli; /* option letter list index */
-
- if (optreset || !*place) { /* update scanning pointer */
- optreset = 0;
- if (optind >= nargc || *(place = nargv[optind]) != '-') {
- place = EMSG;
- *rv = optopt;
- return (APR_EOF);
- }
- if (place[1] && *++place == '-') { /* found "--" */
- ++optind;
- place = EMSG;
- *rv = optopt;
- return (APR_EOF);
- }
- } /* option letter okay? */
- if ((optopt = (int) *place++) == (int) ':' ||
- !(oli = strchr(ostr, optopt))) {
- /*
- * if the user didn't specify '-' as an option,
- * assume it means -1.
- */
- if (optopt == (int) '-')
- *rv = optopt;
- return (APR_EOF);
- if (!*place)
- ++optind;
- if (opterr && *ostr != ':') {
- if (!(p = strrchr(*nargv, '/')))
- p = *nargv;
- else
- ++p;
- (void) fprintf(stderr,
- "%s: illegal option -- %c\n", p, optopt);
- }
- *rv = optopt;
- return APR_BADCH;
- }
- if (*++oli != ':') { /* don't need argument */
- optarg = NULL;
- if (!*place)
- ++optind;
- }
- else { /* need an argument */
- if (*place) /* no white space */
- optarg = place;
- else if (nargc <= ++optind) { /* no arg */
- place = EMSG;
- if (*ostr == ':')
- *rv = optopt;
- return (APR_BADARG);
- if (opterr) {
- if (!(p = strrchr(*nargv, '/')))
- p = *nargv;
- else
- ++p;
- (void) fprintf(stderr,
- "%s: option requires an argument -- %c\n",
- p, optopt);
- }
- *rv = optopt;
- return (APR_BADCH);
- }
- else /* white space */
- optarg = nargv[optind];
- place = EMSG;
- ++optind;
- }
- *rv = optopt;
- return APR_SUCCESS;
-}
-
-