summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarc-André Lureau <marcandre.lureau@redhat.com>2011-12-22 01:33:48 +0100
committerMarc-André Lureau <marcandre.lureau@gmail.com>2012-03-15 02:01:08 +0100
commit9ed80dd6cfb6de8674b8f6475979385a5322d8e9 (patch)
treea65e5ece8a6ac0c11acc25496ddcc0bafe1a6982
parent3f962fd861a0c49d9da7a1af55705206f5c57a34 (diff)
build: remove 'win' directory
Let's use the only included file directly instead.
-rw-r--r--Makefile.am4
-rw-r--r--win/Makefile.am1
-rw-r--r--win/my_getopt-1.5/ChangeLog22
-rw-r--r--win/my_getopt-1.5/LICENSE22
-rw-r--r--win/my_getopt-1.5/Makefile.am14
-rw-r--r--win/my_getopt-1.5/Makefile.test26
-rw-r--r--win/my_getopt-1.5/README140
-rw-r--r--win/my_getopt-1.5/getopt.3288
-rw-r--r--win/my_getopt-1.5/getopt.h56
-rw-r--r--win/my_getopt-1.5/getopt.txt330
-rw-r--r--win/my_getopt-1.5/main.c387
-rw-r--r--win/my_getopt-1.5/my_getopt.c281
-rw-r--r--win/my_getopt-1.5/my_getopt.h72
13 files changed, 0 insertions, 1643 deletions
diff --git a/Makefile.am b/Makefile.am
index 10750e2..7955b30 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,3 @@
-if OS_WIN32
-SUBDIRS = win
-endif
-
NULL =
noinst_LTLIBRARIES = libspice-common.la
diff --git a/win/Makefile.am b/win/Makefile.am
deleted file mode 100644
index 201691b..0000000
--- a/win/Makefile.am
+++ /dev/null
@@ -1 +0,0 @@
-SUBDIRS = my_getopt-1.5
diff --git a/win/my_getopt-1.5/ChangeLog b/win/my_getopt-1.5/ChangeLog
deleted file mode 100644
index a671fdb..0000000
--- a/win/my_getopt-1.5/ChangeLog
+++ /dev/null
@@ -1,22 +0,0 @@
-2006-12-09 Benjamin C. W. Sittler <bsittler@>
-
- * my_getopt.c: add my_getopt_reset to reset the argument parser
-
- * README: updated email address, updated for version 1.5
-
-2002-07-26 Benjamin C. W. Sittler <bsittler@knownow.com>
-
- * README: updated for version 1.4
-
- * my_getopt.c: now we include <sys/types.h> explicitly for those
- systems that narrowly (mis-)interpret ANSI C and POSIX
- (_my_getopt_internal): added an explicit cast to size_t to make
- g++ happy
-
- * getopt.h, my_getopt.h: added extern "C" { ... } for C++
- compilation (thanks to Jeff Lawson <bovine@ud.com> and others)
-
-2001-08-20 Benjamin C. W. Sittler <bsittler@knownow.com>
-
- * getopt.h (getopt_long_only): fixed typo (thanks to Justin Lee
- <justin_lee@ud.com>)
diff --git a/win/my_getopt-1.5/LICENSE b/win/my_getopt-1.5/LICENSE
deleted file mode 100644
index 2224aba..0000000
--- a/win/my_getopt-1.5/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-my_getopt - a command-line argument parser
-Copyright 1997-2001, Benjamin Sittler
-
-Permission is hereby granted, free of charge, to any person
-obtaining a copy of this software and associated documentation
-files (the "Software"), to deal in the Software without
-restriction, including without limitation the rights to use, copy,
-modify, merge, publish, distribute, sublicense, and/or sell copies
-of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be
-included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
diff --git a/win/my_getopt-1.5/Makefile.am b/win/my_getopt-1.5/Makefile.am
deleted file mode 100644
index 73cbf78..0000000
--- a/win/my_getopt-1.5/Makefile.am
+++ /dev/null
@@ -1,14 +0,0 @@
-NULL =
-
-EXTRA_DIST = \
- ChangeLog \
- getopt.3 \
- getopt.h \
- getopt.txt \
- LICENSE \
- main.c \
- Makefile \
- my_getopt.c \
- my_getopt.h \
- README \
- $(NULL)
diff --git a/win/my_getopt-1.5/Makefile.test b/win/my_getopt-1.5/Makefile.test
deleted file mode 100644
index 083cc4a..0000000
--- a/win/my_getopt-1.5/Makefile.test
+++ /dev/null
@@ -1,26 +0,0 @@
-all: copy
-
-# Compiler options
-#CCOPTS = -g -O3 -Wall -Werror
-CCOPTS =
-
-# Compiler
-CC = gcc -Wall -Werror
-#CC = cc
-
-# Linker
-LD = $(CC)
-
-# Utility to remove a file
-RM = rm
-
-OBJS = main.o my_getopt.o
-
-copy: $(OBJS)
- $(LD) -o $@ $(OBJS)
-
-clean:
- $(RM) -f copy $(OBJS) *~
-
-%.o: %.c getopt.h my_getopt.h
- $(CC) $(CCOPTS) -o $@ -c $<
diff --git a/win/my_getopt-1.5/README b/win/my_getopt-1.5/README
deleted file mode 100644
index 3a9afad..0000000
--- a/win/my_getopt-1.5/README
+++ /dev/null
@@ -1,140 +0,0 @@
-my_getopt - a command-line argument parser
-Copyright 1997-2006, Benjamin Sittler
-
-The author can be reached by sending email to <bsittler@gmail.com>.
-
-The version of my_getopt in this package (1.5) has a BSD-like license;
-see the file LICENSE for details. Version 1.0 of my_getopt was similar
-to the GPL'ed version of my_getopt included with SMOKE-16 Version 1,
-Release 19990717. SMOKE-16 packages are available from:
-
- http://geocities.com/bsittler/#smoke16
-
-OVERVIEW OF THE ARGUMENT PARSER
-===============================
-
-The getopt(), getopt_long() and getopt_long_only() functions parse
-command line arguments. The argc and argv parameters passed to these
-functions correspond to the argument count and argument list passed to
-your program's main() function at program start-up. Element 0 of the
-argument list conventionally contains the name of your program. Any
-remaining arguments starting with "-" (except for "-" or "--" by
-themselves) are option arguments, some of include option values. This
-family of getopt() functions allows intermixed option and non-option
-arguments anywhere in the argument list, except that "--" by itself
-causes the remaining elements of the argument list to be treated as
-non-option arguments.
-
-[ See the parts of this document labeled "DOCUMENTATION" and
- "WHY RE-INVENT THE WHEEL?" for a more information. ]
-
-FILES
-=====
-
-The following four files constitute the my_getopt package:
-
- LICENSE - license and warranty information for my_getopt
- my_getopt.c - implementation of my getopt replacement
- my_getopt.h - interface for my getopt replacement
- getopt.h - a header file to make my getopt look like GNU getopt
-
-USAGE
-=====
-
-To use my_getopt in your application, include the following line to
-your main program source:
-
- #include "getopt.h"
-
-This line should appear after your standard system header files to
-avoid conflicting with your system's built-in getopt.
-
-Then compile my_getopt.c into my_getopt.o, and link my_getopt.o into
-your application:
-
- $ cc -c my_getopt.c
- $ ld -o app app.o ... my_getopt.o
-
-To avoid conflicting with standard library functions, the function
-names and global variables used by my_getopt all begin with `my_'. To
-ensure compatibility with existing C programs, the `getopt.h' header
-file uses the C preprocessor to redefine names like getopt, optarg,
-optind, and so forth to my_getopt, my_optarg, my_optind, etc.
-
-SAMPLE PROGRAM
-==============
-
-There is also a public-domain sample program:
-
- main.c - main() for a sample program using my_getopt
- Makefile - build script for the sample program (called `copy')
-
-To build and test the sample program:
-
- $ make
- $ ./copy -help
- $ ./copy -version
-
-The sample program bears a slight resemblance to the UNIX `cat'
-utility, but can be used rot13-encode streams, and can redirect output
-to a file.
-
-DOCUMENTATION
-=============
-
-There is not yet any real documentation for my_getopt. For the moment,
-use the Linux manual page for getopt. It has its own copyright and
-license; view the file `getopt.3' in a text editor for more details.
-
- getopt.3 - the manual page for GNU getopt
- getopt.txt - preformatted copy of the manual page for GNU getopt,
- for your convenience
-
-WHY RE-INVENT THE WHEEL?
-========================
-
-I re-implemented getopt, getopt_long, and getopt_long_only because
-there were noticable bugs in several versions of the GNU
-implementations, and because the GNU versions aren't always available
-on some systems (*BSD, for example.) Other systems don't include any
-sort of standard argument parser (Win32 with Microsoft tools, for
-example, has no getopt.)
-
-These should do all the expected Unix- and GNU-style argument
-parsing, including permution, bunching, long options with single or
-double dashes (double dashes are required if you use
-my_getopt_long,) and optional arguments for both long and short
-options. A word with double dashes all by themselves halts argument
-parsing. A required long option argument can be in the same word as
-the option name, separated by '=', or in the next word. An optional
-long option argument must be in the same word as the option name,
-separated by '='.
-
-As with the GNU versions, a '+' prefix to the short option
-specification (or the POSIXLY_CORRECT environment variable) disables
-permution, a '-' prefix to the short option specification returns 1
-for non-options, ':' after a short option indicates a required
-argument, and '::' after a short option specification indicates an
-optional argument (which must appear in the same word.) If you'd like
-to recieve ':' instead of '?' for missing option arguments, prefix the
-short option specification with ':'.
-
-The original intent was to re-implement the documented behavior of
-the GNU versions, but I have found it necessary to emulate some of
-the undocumented behavior as well. Some programs depend on it.
-
-KNOWN BUGS
-==========
-
-The GNU versions support POSIX-style -W "name=value" long
-options. Currently, my_getopt does not support these, because I
-don't have any documentation on them (other than the fact that they
-are enabled by "W;" in the short option specification.) As a
-temporary workaround, my_getopt treats "W;" in the short option
-string identically to "W:".
-
-The GNU versions support internationalized/localized
-messages. Currently, my_getopt does not.
-
-There should be re-entrant versions of all these functions so that
-multiple threads can parse arguments simultaneously.
diff --git a/win/my_getopt-1.5/getopt.3 b/win/my_getopt-1.5/getopt.3
deleted file mode 100644
index a63fcd8..0000000
--- a/win/my_getopt-1.5/getopt.3
+++ /dev/null
@@ -1,288 +0,0 @@
-.\" (c) 1993 by Thomas Koenig (ig25@rz.uni-karlsruhe.de)
-.\"
-.\" Permission is granted to make and distribute verbatim copies of this
-.\" manual provided the copyright notice and this permission notice are
-.\" preserved on all copies.
-.\"
-.\" Permission is granted to copy and distribute modified versions of this
-.\" manual under the conditions for verbatim copying, provided that the
-.\" entire resulting derived work is distributed under the terms of a
-.\" permission notice identical to this one
-.\"
-.\" Since the Linux kernel and libraries are constantly changing, this
-.\" manual page may be incorrect or out-of-date. The author(s) assume no
-.\" responsibility for errors or omissions, or for damages resulting from
-.\" the use of the information contained herein. The author(s) may not
-.\" have taken the same level of care in the production of this manual,
-.\" which is licensed free of charge, as they might when working
-.\" professionally.
-.\"
-.\" Formatted or processed versions of this manual, if unaccompanied by
-.\" the source, must acknowledge the copyright and authors of this work.
-.\" License.
-.\" Modified Sat Jul 24 19:27:50 1993 by Rik Faith (faith@cs.unc.edu)
-.\" Modified Mon Aug 30 22:02:34 1995 by Jim Van Zandt <jrv@vanzandt.mv.com>
-.\" longindex is a pointer, has_arg can take 3 values, using consistent
-.\" names for optstring and longindex, "\n" in formats fixed. Documenting
-.\" opterr and getopt_long_only. Clarified explanations (borrowing heavily
-.\" from the source code).
-.TH GETOPT 3 "Aug 30, 1995" "GNU" "Linux Programmer's Manual"
-.SH NAME
-getopt \- Parse command line options
-.SH SYNOPSIS
-.nf
-.B #include <unistd.h>
-.sp
-.BI "int getopt(int " argc ", char * const " argv[] ","
-.BI " const char *" optstring ");"
-.sp
-.BI "extern char *" optarg ;
-.BI "extern int " optind ", " opterr ", " optopt ;
-.sp
-.B #include <getopt.h>
-.sp
-.BI "int getopt_long(int " argc ", char * const " argv[] ",
-.BI " const char *" optstring ,
-.BI " const struct option *" longopts ", int *" longindex ");"
-.sp
-.BI "int getopt_long_only(int " argc ", char * const " argv[] ",
-.BI " const char *" optstring ,
-.BI " const struct option *" longopts ", int *" longindex ");"
-.fi
-.SH DESCRIPTION
-The
-.B getopt()
-function parses the command line arguments. Its arguments
-.I argc
-and
-.I argv
-are the argument count and array as passed to the
-.B main()
-function on program invocation.
-An element of \fIargv\fP that starts with `-' (and is not exactly "-" or "--")
-is an option element. The characters of this element
-(aside from the initial `-') are option characters. If \fBgetopt()\fP
-is called repeatedly, it returns successively each of the option characters
-from each of the option elements.
-.PP
-If \fBgetopt()\fP finds another option character, it returns that
-character, updating the external variable \fIoptind\fP and a static
-variable \fInextchar\fP so that the next call to \fBgetopt()\fP can
-resume the scan with the following option character or
-\fIargv\fP-element.
-.PP
-If there are no more option characters, \fBgetopt()\fP returns
-\fBEOF\fP. Then \fIoptind\fP is the index in \fIargv\fP of the first
-\fIargv\fP-element that is not an option.
-.PP
-.I optstring
-is a string containing the legitimate option characters. If such a
-character is followed by a colon, the option requires an argument, so
-\fBgetopt\fP places a pointer to the following text in the same
-\fIargv\fP-element, or the text of the following \fIargv\fP-element, in
-.IR optarg .
-Two colons mean an option takes
-an optional arg; if there is text in the current \fIargv\fP-element,
-it is returned in \fIoptarg\fP, otherwise \fIoptarg\fP is set to zero.
-.PP
-By default, \fBgetargs()\fP permutes the contents of \fIargv\fP as it
-scans, so that eventually all the non-options are at the end. Two
-other modes are also implemented. If the first character of
-\fIoptstring\fP is `+' or the environment variable POSIXLY_CORRECT is
-set, then option processing stops as soon as a non-option argument is
-encountered. If the first character of \fIoptstring\fP is `-', then
-each non-option \fIargv\fP-element is handled as if it were the argument of
-an option with character code 1. (This is used by programs that were
-written to expect options and other \fIargv\fP-elements in any order
-and that care about the ordering of the two.)
-The special argument `--' forces an end of option-scanning regardless
-of the scanning mode.
-.PP
-If \fBgetopt()\fP does not recognize an option character, it prints an
-error message to stderr, stores the character in \fIoptopt\fP, and
-returns `?'. The calling program may prevent the error message by
-setting \fIopterr\fP to 0.
-.PP
-The
-.B getopt_long()
-function works like
-.B getopt()
-except that it also accepts long options, started out by two dashes.
-Long option names may be abbreviated if the abbreviation is
-unique or is an exact match for some defined option. A long option
-may take a parameter, of the form
-.B --arg=param
-or
-.BR "--arg param" .
-.PP
-.I longopts
-is a pointer to the first element of an array of
-.B struct option
-declared in
-.B <getopt.h>
-as
-.nf
-.sp
-.in 10
-struct option {
-.in 14
-const char *name;
-int has_arg;
-int *flag;
-int val;
-.in 10
-};
-.fi
-.PP
-The meanings of the different fields are:
-.TP
-.I name
-is the name of the long option.
-.TP
-.I has_arg
-is:
-\fBno_argument\fP (or 0) if the option does not take an argument,
-\fBrequired_argument\fP (or 1) if the option requires an argument, or
-\fBoptional_argument\fP (or 2) if the option takes an optional argument.
-.TP
-.I flag
-specifies how results are returned for a long option. If \fIflag\fP
-is \fBNULL\fP, then \fBgetopt_long()\fP returns \fIval\fP. (For
-example, the calling program may set \fIval\fP to the equivalent short
-option character.) Otherwise, \fBgetopt_long()\fP returns 0, and
-\fIflag\fP points to a variable which is set to \fIval\fP if the
-option is found, but left unchanged if the option is not found.
-.TP
-\fIval\fP
-is the value to return, or to load into the variable pointed
-to by \fIflag\fP.
-.PP
-The last element of the array has to be filled with zeroes.
-.PP
-If \fIlongindex\fP is not \fBNULL\fP, it
-points to a variable which is set to the index of the long option relative to
-.IR longopts .
-.PP
-\fBgetopt_long_only()\fP is like \fBgetopt_long()\fP, but `-' as well
-as `--' can indicate a long option. If an option that starts with `-'
-(not `--') doesn't match a long option, but does match a short option,
-it is parsed as a short option instead.
-.SH "RETURN VALUE"
-The
-.B getopt()
-function returns the option character if the option was found
-successfully, `:' if there was a missing parameter for one of the
-options, `?' for an unknown option character, or \fBEOF\fP
-for the end of the option list.
-.PP
-\fBgetopt_long()\fP and \fBgetopt_long_only()\fP also return the option
-character when a short option is recognized. For a long option, they
-return \fIval\fP if \fIflag\fP is \fBNULL\fP, and 0 otherwise. Error
-and EOF returns are the same as for \fBgetopt()\fP, plus `?' for an
-ambiguous match or an extraneous parameter.
-.SH "ENVIRONMENT VARIABLES"
-.TP
-.SM
-.B POSIXLY_CORRECT
-If this is set, then option processing stops as soon as a non-option
-argument is encountered.
-.SH "EXAMPLE"
-The following example program, from the source code, illustrates the
-use of
-.BR getopt_long()
-with most of its features.
-.nf
-.sp
-#include <stdio.h>
-
-int
-main (argc, argv)
- int argc;
- char **argv;
-{
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
- int option_index = 0;
- static struct option long_options[] =
- {
- {"add", 1, 0, 0},
- {"append", 0, 0, 0},
- {"delete", 1, 0, 0},
- {"verbose", 0, 0, 0},
- {"create", 1, 0, 'c'},
- {"file", 1, 0, 0},
- {0, 0, 0, 0}
- };
-
- c = getopt_long (argc, argv, "abc:d:012",
- long_options, &option_index);
- if (c == -1)
- break;
-
- switch (c)
- {
- case 0:
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\\n");
- break;
-
- case '0':
- case '1':
- case '2':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\\n");
- digit_optind = this_option_optind;
- printf ("option %c\\n", c);
- break;
-
- case 'a':
- printf ("option a\\n");
- break;
-
- case 'b':
- printf ("option b\\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\\n", optarg);
- break;
-
- case 'd':
- printf ("option d with value `%s'\\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\\n", c);
- }
- }
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\\n");
- }
-
- exit (0);
-}
-.fi
-.SH "BUGS"
-This manpage is confusing.
-.SH "CONFORMING TO"
-.TP
-\fBgetopt()\fP:
-POSIX.1, provided the environment variable POSIXLY_CORRECT is set.
-Otherwise, the elements of \fIargv\fP aren't really const, because we
-permute them. We pretend they're const in the prototype to be
-compatible with other systems.
-
diff --git a/win/my_getopt-1.5/getopt.h b/win/my_getopt-1.5/getopt.h
deleted file mode 100644
index df07082..0000000
--- a/win/my_getopt-1.5/getopt.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * getopt.h - cpp wrapper for my_getopt to make it look like getopt.
- * Copyright 1997, 2000, 2001, 2002, Benjamin Sittler
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef MY_WRAPPER_GETOPT_H_INCLUDED
-#define MY_WRAPPER_GETOPT_H_INCLUDED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#include "my_getopt.h"
-
-#undef getopt
-#define getopt my_getopt
-#undef getopt_long
-#define getopt_long my_getopt_long
-#undef getopt_long_only
-#define getopt_long_only my_getopt_long_only
-#undef _getopt_internal
-#define _getopt_internal _my_getopt_internal
-#undef opterr
-#define opterr my_opterr
-#undef optind
-#define optind my_optind
-#undef optopt
-#define optopt my_optopt
-#undef optarg
-#define optarg my_optarg
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MY_WRAPPER_GETOPT_H_INCLUDED */
diff --git a/win/my_getopt-1.5/getopt.txt b/win/my_getopt-1.5/getopt.txt
deleted file mode 100644
index ae08824..0000000
--- a/win/my_getopt-1.5/getopt.txt
+++ /dev/null
@@ -1,330 +0,0 @@
-
-
-
-GETOPT(3) Linux Programmer's Manual GETOPT(3)
-
-
-NAME
- getopt - Parse command line options
-
-SYNOPSIS
- #include <unistd.h>
-
- int getopt(int argc, char * const argv[],
- const char *optstring);
-
- extern char *optarg;
- extern int optind, opterr, optopt;
-
- #include <getopt.h>
-
- int getopt_long(int argc, char * const argv[],
- const char *optstring,
- const struct option *longopts, int *longindex);
-
- int getopt_long_only(int argc, char * const argv[],
- const char *optstring,
- const struct option *longopts, int *longindex);
-
-DESCRIPTION
- The getopt() function parses the command line arguments.
- Its arguments argc and argv are the argument count and
- array as passed to the main() function on program invoca-
- tion. An element of argv that starts with `-' (and is not
- exactly "-" or "--") is an option element. The characters
- of this element (aside from the initial `-') are option
- characters. If getopt() is called repeatedly, it returns
- successively each of the option characters from each of
- the option elements.
-
- If getopt() finds another option character, it returns
- that character, updating the external variable optind and
- a static variable nextchar so that the next call to
- getopt() can resume the scan with the following option
- character or argv-element.
-
- If there are no more option characters, getopt() returns
- EOF. Then optind is the index in argv of the first argv-
- element that is not an option.
-
- optstring is a string containing the legitimate option
- characters. If such a character is followed by a colon,
- the option requires an argument, so getopt places a
- pointer to the following text in the same argv-element, or
- the text of the following argv-element, in optarg. Two
- colons mean an option takes an optional arg; if there is
- text in the current argv-element, it is returned in
- optarg, otherwise optarg is set to zero.
-
- By default, getargs() permutes the contents of argv as it
- scans, so that eventually all the non-options are at the
-
-
-
-GNU Aug 30, 1995 1
-
-
-
-
-
-GETOPT(3) Linux Programmer's Manual GETOPT(3)
-
-
- end. Two other modes are also implemented. If the first
- character of optstring is `+' or the environment variable
- POSIXLY_CORRECT is set, then option processing stops as
- soon as a non-option argument is encountered. If the
- first character of optstring is `-', then each non-option
- argv-element is handled as if it were the argument of an
- option with character code 1. (This is used by programs
- that were written to expect options and other argv-ele-
- ments in any order and that care about the ordering of the
- two.) The special argument `--' forces an end of option-
- scanning regardless of the scanning mode.
-
- If getopt() does not recognize an option character, it
- prints an error message to stderr, stores the character in
- optopt, and returns `?'. The calling program may prevent
- the error message by setting opterr to 0.
-
- The getopt_long() function works like getopt() except that
- it also accepts long options, started out by two dashes.
- Long option names may be abbreviated if the abbreviation
- is unique or is an exact match for some defined option. A
- long option may take a parameter, of the form --arg=param
- or --arg param.
-
- longopts is a pointer to the first element of an array of
- struct option declared in <getopt.h> as
-
- struct option {
- const char *name;
- int has_arg;
- int *flag;
- int val;
- };
-
- The meanings of the different fields are:
-
- name is the name of the long option.
-
- has_arg
- is: no_argument (or 0) if the option does not take
- an argument, required_argument (or 1) if the option
- requires an argument, or optional_argument (or 2)
- if the option takes an optional argument.
-
- flag specifies how results are returned for a long
- option. If flag is NULL, then getopt_long()
- returns val. (For example, the calling program may
- set val to the equivalent short option character.)
- Otherwise, getopt_long() returns 0, and flag points
- to a variable which is set to val if the option is
- found, but left unchanged if the option is not
- found.
-
- val is the value to return, or to load into the
-
-
-
-GNU Aug 30, 1995 2
-
-
-
-
-
-GETOPT(3) Linux Programmer's Manual GETOPT(3)
-
-
- variable pointed to by flag.
-
- The last element of the array has to be filled with
- zeroes.
-
- If longindex is not NULL, it points to a variable which is
- set to the index of the long option relative to longopts.
-
- getopt_long_only() is like getopt_long(), but `-' as well
- as `--' can indicate a long option. If an option that
- starts with `-' (not `--') doesn't match a long option,
- but does match a short option, it is parsed as a short
- option instead.
-
-RETURN VALUE
- The getopt() function returns the option character if the
- option was found successfully, `:' if there was a missing
- parameter for one of the options, `?' for an unknown
- option character, or EOF for the end of the option list.
-
- getopt_long() and getopt_long_only() also return the
- option character when a short option is recognized. For a
- long option, they return val if flag is NULL, and 0 other-
- wise. Error and EOF returns are the same as for getopt(),
- plus `?' for an ambiguous match or an extraneous parame-
- ter.
-
-ENVIRONMENT VARIABLES
- POSIXLY_CORRECT
- If this is set, then option processing stops as
- soon as a non-option argument is encountered.
-
-EXAMPLE
- The following example program, from the source code,
- illustrates the use of getopt_long() with most of its fea-
- tures.
-
- #include <stdio.h>
-
- int
- main (argc, argv)
- int argc;
- char **argv;
- {
- int c;
- int digit_optind = 0;
-
- while (1)
- {
- int this_option_optind = optind ? optind : 1;
- int option_index = 0;
- static struct option long_options[] =
- {
- {"add", 1, 0, 0},
-
-
-
-GNU Aug 30, 1995 3
-
-
-
-
-
-GETOPT(3) Linux Programmer's Manual GETOPT(3)
-
-
- {"append", 0, 0, 0},
- {"delete", 1, 0, 0},
- {"verbose", 0, 0, 0},
- {"create", 1, 0, 'c'},
- {"file", 1, 0, 0},
- {0, 0, 0, 0}
- };
-
- c = getopt_long (argc, argv, "abc:d:012",
- long_options, &option_index);
- if (c == -1)
- break;
-
- switch (c)
- {
- case 0:
- printf ("option %s", long_options[option_index].name);
- if (optarg)
- printf (" with arg %s", optarg);
- printf ("\n");
- break;
-
- case '0':
- case '1':
- case '2':
- if (digit_optind != 0 && digit_optind != this_option_optind)
- printf ("digits occur in two different argv-elements.\n");
- digit_optind = this_option_optind;
- printf ("option %c\n", c);
- break;
-
- case 'a':
- printf ("option a\n");
- break;
-
- case 'b':
- printf ("option b\n");
- break;
-
- case 'c':
- printf ("option c with value `%s'\n", optarg);
- break;
-
- case 'd':
- printf ("option d with value `%s'\n", optarg);
- break;
-
- case '?':
- break;
-
- default:
- printf ("?? getopt returned character code 0%o ??\n", c);
- }
- }
-
-
-
-GNU Aug 30, 1995 4
-
-
-
-
-
-GETOPT(3) Linux Programmer's Manual GETOPT(3)
-
-
- if (optind < argc)
- {
- printf ("non-option ARGV-elements: ");
- while (optind < argc)
- printf ("%s ", argv[optind++]);
- printf ("\n");
- }
-
- exit (0);
- }
-
-BUGS
- This manpage is confusing.
-
-CONFORMING TO
- getopt():
- POSIX.1, provided the environment variable
- POSIXLY_CORRECT is set. Otherwise, the elements of
- argv aren't really const, because we permute them.
- We pretend they're const in the prototype to be
- compatible with other systems.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-GNU Aug 30, 1995 5
-
-
diff --git a/win/my_getopt-1.5/main.c b/win/my_getopt-1.5/main.c
deleted file mode 100644
index a9de272..0000000
--- a/win/my_getopt-1.5/main.c
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * copy - test program for my getopt() re-implementation
- *
- * This program is in the public domain.
- */
-
-#define VERSION \
-"0.3"
-
-#define COPYRIGHT \
-"This program is in the public domain."
-
-/* for isprint(), printf(), fopen(), perror(), getenv(), strcmp(), etc. */
-#include <ctype.h>
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-/* for my getopt() re-implementation */
-#include "getopt.h"
-
-/* the default verbosity level is 0 (no verbose reporting) */
-static unsigned verbose = 0;
-
-/* print version and copyright information */
-static void
-version(char *progname)
-{
- printf("%s version %s\n"
- "%s\n",
- progname,
- VERSION,
- COPYRIGHT);
-}
-
-/* print a help summary */
-static void
-help(char *progname)
-{
- printf("Usage: %s [options] [FILE]...\n"
- "Options:\n"
- "-h or -help show this message and exit\n"
- "-append append to the output file\n"
- "-o FILE or\n"
- "-output FILE send output to FILE (default is stdout)\n"
- "-r or --rotate rotate letters 13 positions (rot13)\n"
- "-rNUM or\n"
- "--rotate=NUM rotate letters NUM positions\n"
- "-truncate truncate the output file "
- "(this is the default)\n"
- "-v or -verbose increase the level of verbosity by 1"
- "(the default is 0)\n"
- "-vNUM or\n"
- "-verbose=NUM set the level of verbosity to NUM\n"
- "-V or -version print program version and exit\n"
- "\n"
- "This program reads the specified FILEs "
- "(or stdin if none are given)\n"
- "and writes their bytes to the specified output FILE "
- "(or stdout if none is\n"
- "given.) It can optionally rotate letters.\n",
- progname);
-}
-
-/* print usage information to stderr */
-static void
-usage(char *progname)
-{
- fprintf(stderr,
- "Summary: %s [-help] [-version] [options] [FILE]...\n",
- progname);
-}
-
-/* input file handler -- returns nonzero or exit()s on failure */
-static int
-handle(char *progname,
- FILE *infile, char *infilename,
- FILE *outfile, char *outfilename,
- int rotate)
-{
- int c;
- unsigned long bytes_copied = 0;
-
- if (verbose > 2)
- {
- fprintf(stderr,
- "%s: copying from `%s' to `%s'\n",
- progname,
- infilename,
- outfilename);
- }
- while ((c = getc(infile)) != EOF)
- {
- if (rotate && isalpha(c))
- {
- const char *letters = "abcdefghijklmnopqrstuvwxyz";
- char *match;
- if ((match = strchr(letters, tolower(c))))
- {
- char rc = letters[(match - letters + rotate) % 26];
- if (isupper(c))
- rc = toupper(rc);
- c = rc;
- }
- }
- if (putc(c, outfile) == EOF)
- {
- perror(outfilename);
- exit(1);
- }
- bytes_copied ++;
- }
- if (! feof(infile))
- {
- perror(infilename);
- return 1;
- }
- if (verbose > 2)
- {
- fprintf(stderr,
- "%s: %lu bytes copied from `%s' to `%s'\n",
- progname,
- bytes_copied,
- infilename,
- outfilename);
- }
- return 0;
-}
-
-/* argument parser and dispatcher */
-int
-main(int argc, char * argv[])
-{
- /* the program name */
- char *progname = argv[0];
- /* during argument parsing, opt contains the return value from getopt() */
- int opt;
- /* the output filename is initially 0 (a.k.a. stdout) */
- char *outfilename = 0;
- /* the default return value is initially 0 (success) */
- int retval = 0;
- /* initially we truncate */
- int append = 0;
- /* initially we don't rotate letters */
- int rotate = 0;
-
- /* short options string */
- char *shortopts = "Vho:r::v::";
- /* long options list */
- struct option longopts[] =
- {
- /* name, has_arg, flag, val */ /* longind */
- { "append", no_argument, 0, 0 }, /* 0 */
- { "truncate", no_argument, 0, 0 }, /* 1 */
- { "version", no_argument, 0, 'V' }, /* 3 */
- { "help", no_argument, 0, 'h' }, /* 4 */
- { "output", required_argument, 0, 'o' }, /* 5 */
- { "rotate", optional_argument, 0, 'r' }, /* 6 */
- { "verbose", optional_argument, 0, 'v' }, /* 7 */
- /* end-of-list marker */
- { 0, 0, 0, 0 }
- };
- /* long option list index */
- int longind = 0;
-
- /*
- * print a warning when the POSIXLY_CORRECT environment variable will
- * interfere with argument placement
- */
- if (getenv("POSIXLY_CORRECT"))
- {
- fprintf(stderr,
- "%s: "
- "Warning: implicit argument reordering disallowed by "
- "POSIXLY_CORRECT\n",
- progname);
- }
-
- /* parse all options from the command line */
- while ((opt =
- getopt_long_only(argc, argv, shortopts, longopts, &longind)) != -1)
- switch (opt)
- {
- case 0: /* a long option without an equivalent short option */
- switch (longind)
- {
- case 0: /* -append */
- append = 1;
- break;
- case 1: /* -truncate */
- append = 0;
- break;
- default: /* something unexpected has happened */
- fprintf(stderr,
- "%s: "
- "getopt_long_only unexpectedly returned %d for `--%s'\n",
- progname,
- opt,
- longopts[longind].name);
- return 1;
- }
- break;
- case 'V': /* -version */
- version(progname);
- return 0;
- case 'h': /* -help */
- help(progname);
- return 0;
- case 'r': /* -rotate[=NUM] */
- if (optarg)
- {
- /* we use this while trying to parse a numeric argument */
- char ignored;
- if (sscanf(optarg,
- "%d%c",
- &rotate,
- &ignored) != 1)
- {
- fprintf(stderr,
- "%s: "
- "rotation `%s' is not a number\n",
- progname,
- optarg);
- usage(progname);
- return 2;
- }
- /* normalize rotation */
- while (rotate < 0)
- {
- rotate += 26;
- }
- rotate %= 26;
- }
- else
- rotate = 13;
- break;
- case 'o': /* -output=FILE */
- outfilename = optarg;
- /* we allow "-" as a synonym for stdout here */
- if (! strcmp(optarg, "-"))
- {
- outfilename = 0;
- }
- break;
- case 'v': /* -verbose[=NUM] */
- if (optarg)
- {
- /* we use this while trying to parse a numeric argument */
- char ignored;
- if (sscanf(optarg,
- "%u%c",
- &verbose,
- &ignored) != 1)
- {
- fprintf(stderr,
- "%s: "
- "verbosity level `%s' is not a number\n",
- progname,
- optarg);
- usage(progname);
- return 2;
- }
- }
- else
- verbose ++;
- break;
- case '?': /* getopt_long_only noticed an error */
- usage(progname);
- return 2;
- default: /* something unexpected has happened */
- fprintf(stderr,
- "%s: "
- "getopt_long_only returned an unexpected value (%d)\n",
- progname,
- opt);
- return 1;
- }
-
- /* re-open stdout to outfilename, if requested */
- if (outfilename)
- {
- if (! freopen(outfilename, (append ? "a" : "w"), stdout))
- {
- perror(outfilename);
- return 1;
- }
- }
- else
- {
- /* make a human-readable version of the output filename "-" */
- outfilename = "stdout";
- /* you can't truncate stdout */
- append = 1;
- }
-
- if (verbose)
- {
- fprintf(stderr,
- "%s: verbosity level is %u; %s `%s'; rotation %d\n",
- progname,
- verbose,
- (append ? "appending to" : "truncating"),
- outfilename,
- rotate);
- }
-
- if (verbose > 1)
- {
- fprintf(stderr,
- "%s: %d input file(s) were given\n",
- progname,
- ((argc > optind) ? (argc - optind) : 0));
- }
-
- if (verbose > 3)
- {
- fprintf(stderr,
- "\topterr: %d\n\toptind: %d\n\toptopt: %d (%c)\n\toptarg: %s\n",
- opterr,
- optind,
- optopt, optopt,
- optarg ? optarg : "(null)");
- }
-
- /* handle each of the input files (or stdin, if no files were given) */
- if (optind < argc)
- {
- int argindex;
-
- for (argindex = optind; argindex < argc; argindex ++)
- {
- char *infilename = argv[argindex];
- FILE *infile;
-
- /* we allow "-" as a synonym for stdin here */
- if (! strcmp(infilename, "-"))
- {
- infile = stdin;
- infilename = "stdin";
- }
- else if (! (infile = fopen(infilename, "r")))
- {
- perror(infilename);
- retval = 1;
- continue;
- }
- if (handle(progname,
- infile, argv[optind],
- stdout, outfilename,
- rotate))
- {
- retval = 1;
- fclose(infile);
- continue;
- }
- if ((infile != stdin) && fclose(infile))
- {
- perror(infilename);
- retval = 1;
- }
- }
- }
- else
- {
- retval =
- handle(progname,
- stdin, "stdin",
- stdout, outfilename,
- rotate);
- }
-
- /* close stdout */
- if (fclose(stdout))
- {
- perror(outfilename);
- return 1;
- }
-
- if (verbose > 3)
- {
- fprintf(stderr,
- "%s: normal return, exit code is %d\n",
- progname,
- retval);
- }
- return retval;
-}
diff --git a/win/my_getopt-1.5/my_getopt.c b/win/my_getopt-1.5/my_getopt.c
deleted file mode 100644
index 5237b8e..0000000
--- a/win/my_getopt-1.5/my_getopt.c
+++ /dev/null
@@ -1,281 +0,0 @@
-/*
- * my_getopt.c - my re-implementation of getopt.
- * Copyright 1997, 2000, 2001, 2002, 2006, Benjamin Sittler
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#include <sys/types.h>
-#include <stdlib.h>
-#include <stdio.h>
-#include <string.h>
-#include "my_getopt.h"
-
-int my_optind=1, my_opterr=1, my_optopt=0;
-char *my_optarg=0;
-
-/* reset argument parser to start-up values */
-int my_getopt_reset(void)
-{
- my_optind = 1;
- my_opterr = 1;
- my_optopt = 0;
- my_optarg = 0;
- return 0;
-}
-
-/* this is the plain old UNIX getopt, with GNU-style extensions. */
-/* if you're porting some piece of UNIX software, this is all you need. */
-/* this supports GNU-style permution and optional arguments */
-
-int my_getopt(int argc, char * argv[], const char *opts)
-{
- static int charind=0;
- char mode, colon_mode;
- int off = 0, opt = -1;
-
- if(getenv("POSIXLY_CORRECT")) colon_mode = mode = '+';
- else {
- if((colon_mode = *opts) == ':') off ++;
- if(((mode = opts[off]) == '+') || (mode == '-')) {
- off++;
- if((colon_mode != ':') && ((colon_mode = opts[off]) == ':'))
- off ++;
- }
- }
- my_optarg = 0;
- if(charind) {
- const char *s;
- my_optopt = argv[my_optind][charind];
- for(s=opts+off; *s; s++) if(my_optopt == *s) {
- charind++;
- if((*(++s) == ':') || ((my_optopt == 'W') && (*s == ';'))) {
- if(argv[my_optind][charind]) {
- my_optarg = &(argv[my_optind++][charind]);
- charind = 0;
- } else if(*(++s) != ':') {
- charind = 0;
- if(++my_optind >= argc) {
- if(my_opterr) fprintf(stderr,
- "%s: option requires an argument -- %c\n",
- argv[0], my_optopt);
- opt = (colon_mode == ':') ? ':' : '?';
- goto my_getopt_ok;
- }
- my_optarg = argv[my_optind++];
- }
- }
- opt = my_optopt;
- goto my_getopt_ok;
- }
- if(my_opterr) fprintf(stderr,
- "%s: illegal option -- %c\n",
- argv[0], my_optopt);
- opt = '?';
- if(argv[my_optind][++charind] == '\0') {
- my_optind++;
- charind = 0;
- }
- my_getopt_ok:
- if(charind && ! argv[my_optind][charind]) {
- my_optind++;
- charind = 0;
- }
- } else if((my_optind >= argc) ||
- ((argv[my_optind][0] == '-') &&
- (argv[my_optind][1] == '-') &&
- (argv[my_optind][2] == '\0'))) {
- my_optind++;
- opt = -1;
- } else if((argv[my_optind][0] != '-') ||
- (argv[my_optind][1] == '\0')) {
- char *tmp;
- int i, j, k;
-
- if(mode == '+') opt = -1;
- else if(mode == '-') {
- my_optarg = argv[my_optind++];
- charind = 0;
- opt = 1;
- } else {
- for(i=j=my_optind; i<argc; i++) if((argv[i][0] == '-') &&
- (argv[i][1] != '\0')) {
- my_optind=i;
- opt=my_getopt(argc, argv, opts);
- while(i > j) {
- tmp=argv[--i];
- for(k=i; k+1<my_optind; k++) argv[k]=argv[k+1];
- argv[--my_optind]=tmp;
- }
- break;
- }
- if(i == argc) opt = -1;
- }
- } else {
- charind++;
- opt = my_getopt(argc, argv, opts);
- }
- if (my_optind > argc) my_optind = argc;
- return opt;
-}
-
-/* this is the extended getopt_long{,_only}, with some GNU-like
- * extensions. Implements _getopt_internal in case any programs
- * expecting GNU libc getopt call it.
- */
-
-int _my_getopt_internal(int argc, char * argv[], const char *shortopts,
- const struct option *longopts, int *longind,
- int long_only)
-{
- char mode, colon_mode = *shortopts;
- int shortoff = 0, opt = -1;
-
- if(getenv("POSIXLY_CORRECT")) colon_mode = mode = '+';
- else {
- if((colon_mode = *shortopts) == ':') shortoff ++;
- if(((mode = shortopts[shortoff]) == '+') || (mode == '-')) {
- shortoff++;
- if((colon_mode != ':') && ((colon_mode = shortopts[shortoff]) == ':'))
- shortoff ++;
- }
- }
- my_optarg = 0;
- if((my_optind >= argc) ||
- ((argv[my_optind][0] == '-') &&
- (argv[my_optind][1] == '-') &&
- (argv[my_optind][2] == '\0'))) {
- my_optind++;
- opt = -1;
- } else if((argv[my_optind][0] != '-') ||
- (argv[my_optind][1] == '\0')) {
- char *tmp;
- int i, j, k;
-
- opt = -1;
- if(mode == '+') return -1;
- else if(mode == '-') {
- my_optarg = argv[my_optind++];
- return 1;
- }
- for(i=j=my_optind; i<argc; i++) if((argv[i][0] == '-') &&
- (argv[i][1] != '\0')) {
- my_optind=i;
- opt=_my_getopt_internal(argc, argv, shortopts,
- longopts, longind,
- long_only);
- while(i > j) {
- tmp=argv[--i];
- for(k=i; k+1<my_optind; k++)
- argv[k]=argv[k+1];
- argv[--my_optind]=tmp;
- }
- break;
- }
- } else if((!long_only) && (argv[my_optind][1] != '-'))
- opt = my_getopt(argc, argv, shortopts);
- else {
- int charind, offset;
- int found = 0, ind, hits = 0;
-
- if(((my_optopt = argv[my_optind][1]) != '-') && ! argv[my_optind][2]) {
- int c;
-
- ind = shortoff;
- while((c = shortopts[ind++])) {
- if(((shortopts[ind] == ':') ||
- ((c == 'W') && (shortopts[ind] == ';'))) &&
- (shortopts[++ind] == ':'))
- ind ++;
- if(my_optopt == c) return my_getopt(argc, argv, shortopts);
- }
- }
- offset = 2 - (argv[my_optind][1] != '-');
- for(charind = offset;
- (argv[my_optind][charind] != '\0') &&
- (argv[my_optind][charind] != '=');
- charind++);
- for(ind = 0; longopts[ind].name && !hits; ind++)
- if((strlen(longopts[ind].name) == (size_t) (charind - offset)) &&
- (strncmp(longopts[ind].name,
- argv[my_optind] + offset, charind - offset) == 0))
- found = ind, hits++;
- if(!hits) for(ind = 0; longopts[ind].name; ind++)
- if(strncmp(longopts[ind].name,
- argv[my_optind] + offset, charind - offset) == 0)
- found = ind, hits++;
- if(hits == 1) {
- opt = 0;
-
- if(argv[my_optind][charind] == '=') {
- if(longopts[found].has_arg == 0) {
- opt = '?';
- if(my_opterr) fprintf(stderr,
- "%s: option `--%s' doesn't allow an argument\n",
- argv[0], longopts[found].name);
- } else {
- my_optarg = argv[my_optind] + ++charind;
- charind = 0;
- }
- } else if(longopts[found].has_arg == 1) {
- if(++my_optind >= argc) {
- opt = (colon_mode == ':') ? ':' : '?';
- if(my_opterr) fprintf(stderr,
- "%s: option `--%s' requires an argument\n",
- argv[0], longopts[found].name);
- } else my_optarg = argv[my_optind];
- }
- if(!opt) {
- if (longind) *longind = found;
- if(!longopts[found].flag) opt = longopts[found].val;
- else *(longopts[found].flag) = longopts[found].val;
- }
- my_optind++;
- } else if(!hits) {
- if(offset == 1) opt = my_getopt(argc, argv, shortopts);
- else {
- opt = '?';
- if(my_opterr) fprintf(stderr,
- "%s: unrecognized option `%s'\n",
- argv[0], argv[my_optind++]);
- }
- } else {
- opt = '?';
- if(my_opterr) fprintf(stderr,
- "%s: option `%s' is ambiguous\n",
- argv[0], argv[my_optind++]);
- }
- }
- if (my_optind > argc) my_optind = argc;
- return opt;
-}
-
-int my_getopt_long(int argc, char * argv[], const char *shortopts,
- const struct option *longopts, int *longind)
-{
- return _my_getopt_internal(argc, argv, shortopts, longopts, longind, 0);
-}
-
-int my_getopt_long_only(int argc, char * argv[], const char *shortopts,
- const struct option *longopts, int *longind)
-{
- return _my_getopt_internal(argc, argv, shortopts, longopts, longind, 1);
-}
diff --git a/win/my_getopt-1.5/my_getopt.h b/win/my_getopt-1.5/my_getopt.h
deleted file mode 100644
index c75101a..0000000
--- a/win/my_getopt-1.5/my_getopt.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * my_getopt.h - interface to my re-implementation of getopt.
- * Copyright 1997, 2000, 2001, 2002, 2006, Benjamin Sittler
- *
- * Permission is hereby granted, free of charge, to any person
- * obtaining a copy of this software and associated documentation
- * files (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy,
- * modify, merge, publish, distribute, sublicense, and/or sell copies
- * of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
- * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef MY_GETOPT_H_INCLUDED
-#define MY_GETOPT_H_INCLUDED
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* reset argument parser to start-up values */
-extern int my_getopt_reset(void);
-
-/* UNIX-style short-argument parser */
-extern int my_getopt(int argc, char * argv[], const char *opts);
-
-extern int my_optind, my_opterr, my_optopt;
-extern char *my_optarg;
-
-struct option {
- const char *name;
- int has_arg;
- int *flag;
- int val;
-};
-
-/* human-readable values for has_arg */
-#undef no_argument
-#define no_argument 0
-#undef required_argument
-#define required_argument 1
-#undef optional_argument
-#define optional_argument 2
-
-/* GNU-style long-argument parsers */
-extern int my_getopt_long(int argc, char * argv[], const char *shortopts,
- const struct option *longopts, int *longind);
-
-extern int my_getopt_long_only(int argc, char * argv[], const char *shortopts,
- const struct option *longopts, int *longind);
-
-extern int _my_getopt_internal(int argc, char * argv[], const char *shortopts,
- const struct option *longopts, int *longind,
- int long_only);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MY_GETOPT_H_INCLUDED */