projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
maint: update copyright
[gnulib.git]
/
lib
/
getopt.in.h
diff --git
a/lib/getopt.in.h
b/lib/getopt.in.h
index
15c213f
..
7ab99fb
100644
(file)
--- a/
lib/getopt.in.h
+++ b/
lib/getopt.in.h
@@
-1,6
+1,6
@@
/* Declarations for getopt.
/* Declarations for getopt.
- Copyright (C) 1989-1994,
1996-1999,2001,2003,2004,2005,2006,2007,2009
- F
ree Software F
oundation, Inc.
+ Copyright (C) 1989-1994,
1996-1999, 2001, 2003-2007, 2009-2014 Free Software
+ Foundation, Inc.
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
This file is part of the GNU C Library.
This program is free software: you can redistribute it and/or modify
@@
-16,21
+16,26
@@
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef _
GL
_GETOPT_H
+#ifndef _
@GUARD_PREFIX@
_GETOPT_H
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
#if __GNUC__ >= 3
@PRAGMA_SYSTEM_HEADER@
#endif
+@PRAGMA_COLUMNS@
-/* The include_next requires a split double-inclusion guard. */
+/* The include_next requires a split double-inclusion guard. We must
+ also inform the replacement unistd.h to not recursively use
+ <getopt.h>; our definitions will be present soon enough. */
#if @HAVE_GETOPT_H@
#if @HAVE_GETOPT_H@
+# define _GL_SYSTEM_GETOPT
# @INCLUDE_NEXT@ @NEXT_GETOPT_H@
# @INCLUDE_NEXT@ @NEXT_GETOPT_H@
+# undef _GL_SYSTEM_GETOPT
#endif
#endif
-#ifndef _
GL
_GETOPT_H
+#ifndef _
@GUARD_PREFIX@
_GETOPT_H
#ifndef __need_getopt
#ifndef __need_getopt
-# define _
GL
_GETOPT_H 1
+# define _
@GUARD_PREFIX@
_GETOPT_H 1
#endif
/* Standalone applications should #define __GETOPT_PREFIX to an
#endif
/* Standalone applications should #define __GETOPT_PREFIX to an
@@
-44,7
+49,9
@@
linkers. */
#if defined __GETOPT_PREFIX && !defined __need_getopt
# if !@HAVE_GETOPT_H@
linkers. */
#if defined __GETOPT_PREFIX && !defined __need_getopt
# if !@HAVE_GETOPT_H@
+# define __need_system_stdlib_h
# include <stdlib.h>
# include <stdlib.h>
+# undef __need_system_stdlib_h
# include <stdio.h>
# include <unistd.h>
# endif
# include <stdio.h>
# include <unistd.h>
# endif
@@
-68,6
+75,7
@@
# define optind __GETOPT_ID (optind)
# define optopt __GETOPT_ID (optopt)
# define option __GETOPT_ID (option)
# define optind __GETOPT_ID (optind)
# define optopt __GETOPT_ID (optopt)
# define option __GETOPT_ID (option)
+# define _getopt_internal __GETOPT_ID (getopt_internal)
#endif
/* Standalone applications get correct prototypes for getopt_long and
#endif
/* Standalone applications get correct prototypes for getopt_long and
@@
-76,7
+84,7
@@
getopt_long_only can permute argv; this is required for backward
compatibility (e.g., for LSB 2.0.1).
getopt_long_only can permute argv; this is required for backward
compatibility (e.g., for LSB 2.0.1).
- This used to be
`
#if defined __GETOPT_PREFIX && !defined __need_getopt',
+ This used to be
'
#if defined __GETOPT_PREFIX && !defined __need_getopt',
but it caused redefinition warnings if both unistd.h and getopt.h were
included, since unistd.h includes getopt.h having previously defined
__need_getopt.
but it caused redefinition warnings if both unistd.h and getopt.h were
included, since unistd.h includes getopt.h having previously defined
__need_getopt.
@@
-110,39
+118,41
@@
# define __GNUC_PREREQ(maj, min) (0)
# endif
# if defined __cplusplus && __GNUC_PREREQ (2,8)
# define __GNUC_PREREQ(maj, min) (0)
# endif
# if defined __cplusplus && __GNUC_PREREQ (2,8)
-# define __THROW throw ()
+# define __THROW
throw ()
# else
# define __THROW
# endif
#endif
# else
# define __THROW
# endif
#endif
+/* The definition of _GL_ARG_NONNULL is copied here. */
+
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
extern "C" {
#endif
-/* For communication from
`
getopt' to the caller.
- When
`
getopt' finds an option that takes an argument,
+/* For communication from
'
getopt' to the caller.
+ When
'
getopt' finds an option that takes an argument,
the argument value is returned here.
the argument value is returned here.
- Also, when
`
ordering' is RETURN_IN_ORDER,
+ Also, when
'
ordering' is RETURN_IN_ORDER,
each non-option ARGV-element is returned here. */
extern char *optarg;
/* Index in ARGV of the next element to be scanned.
This is used for communication to and from the caller
each non-option ARGV-element is returned here. */
extern char *optarg;
/* Index in ARGV of the next element to be scanned.
This is used for communication to and from the caller
- and for communication between successive calls to
`
getopt'.
+ and for communication between successive calls to
'
getopt'.
- On entry to
`
getopt', zero means this is the first call; initialize.
+ On entry to
'
getopt', zero means this is the first call; initialize.
- When
`
getopt' returns -1, this is the index of the first of the
+ When
'
getopt' returns -1, this is the index of the first of the
non-option elements that the caller should itself scan.
non-option elements that the caller should itself scan.
- Otherwise,
`
optind' communicates from one call to the next
+ Otherwise,
'
optind' communicates from one call to the next
how much of ARGV has been scanned so far. */
extern int optind;
how much of ARGV has been scanned so far. */
extern int optind;
-/* Callers store zero here to inhibit the error message
`
getopt' prints
+/* Callers store zero here to inhibit the error message
'
getopt' prints
for unrecognized options. */
extern int opterr;
for unrecognized options. */
extern int opterr;
@@
-154,25
+164,26
@@
extern int optopt;
#ifndef __need_getopt
/* Describe the long-named options requested by the application.
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
#ifndef __need_getopt
/* Describe the long-named options requested by the application.
The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector
- of
`
struct option' terminated by an element containing a name which is
+ of
'
struct option' terminated by an element containing a name which is
zero.
zero.
- The field
`
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,
- optional_argument (or 2) if the option takes an optional argument.
+ The field
'
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,
+ optional_argument
(or 2) if the option takes an optional argument.
- If the field
`
flag' is not NULL, it points to a variable that is set
- to the value given in the field
`
val' when the option is found, but
+ If the field
'
flag' is not NULL, it points to a variable that is set
+ to the value given in the field
'
val' when the option is found, but
left unchanged if the option is not found.
left unchanged if the option is not found.
- To have a long-named option do something other than set an
`
int' to
- a compiled-in constant, such as set a value from
`
optarg', set the
- option's
`flag' field to zero and its `
val' field to a nonzero
+ To have a long-named option do something other than set an
'
int' to
+ a compiled-in constant, such as set a value from
'
optarg', set the
+ option's
'flag' field to zero and its '
val' field to a nonzero
value (the equivalent single-letter option character, if there is
value (the equivalent single-letter option character, if there is
- one). For long options that have a zero
`flag' field, `
getopt'
- returns the contents of the
`
val' field. */
+ one). For long options that have a zero
'flag' field, '
getopt'
+ returns the contents of the
'
val' field. */
+# if !GNULIB_defined_struct_option
struct option
{
const char *name;
struct option
{
const char *name;
@@
-182,13
+193,15
@@
struct option
int *flag;
int val;
};
int *flag;
int val;
};
+# define GNULIB_defined_struct_option 1
+# endif
-/* Names for the values of the
`has_arg' field of `
struct option'. */
+/* Names for the values of the
'has_arg' field of '
struct option'. */
-# define no_argument 0
-# define required_argument 1
-# define optional_argument 2
-#endif /* need getopt */
+# define no_argument
0
+# define required_argument
1
+# define optional_argument
2
+#endif
/* need getopt */
/* Get definitions and prototypes for functions to process the
/* Get definitions and prototypes for functions to process the
@@
-197,37
+210,37
@@
struct option
Return the option character from OPTS just read. Return -1 when
there are no more options. For unrecognized options, or options
Return the option character from OPTS just read. Return -1 when
there are no more options. For unrecognized options, or options
- missing arguments,
`
optopt' is set to the option letter, and '?' is
+ missing arguments,
'
optopt' is set to the option letter, and '?' is
returned.
The OPTS string is a list of characters which are recognized option
letters, optionally followed by colons, specifying that that letter
returned.
The OPTS string is a list of characters which are recognized option
letters, optionally followed by colons, specifying that that letter
- takes an argument, to be placed in
`
optarg'.
+ takes an argument, to be placed in
'
optarg'.
If a letter in OPTS is followed by two colons, its argument is
If a letter in OPTS is followed by two colons, its argument is
- optional. This behavior is specific to the GNU
`
getopt'.
+ optional. This behavior is specific to the GNU
'
getopt'.
- The argument
`
--' causes premature termination of argument
- scanning, explicitly telling
`
getopt' that there are no more
+ The argument
'
--' causes premature termination of argument
+ scanning, explicitly telling
'
getopt' that there are no more
options.
options.
- If OPTS begins with
`
-', then non-option arguments are treated as
+ If OPTS begins with
'
-', then non-option arguments are treated as
arguments to the option '\1'. This behavior is specific to the GNU
arguments to the option '\1'. This behavior is specific to the GNU
-
`getopt'. If OPTS begins with `
+', or POSIXLY_CORRECT is set in
+
'getopt'. If OPTS begins with '
+', or POSIXLY_CORRECT is set in
the environment, then do not permute arguments. */
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
the environment, then do not permute arguments. */
extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
- __THROW;
+ __THROW
_GL_ARG_NONNULL ((2, 3))
;
#ifndef __need_getopt
extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
#ifndef __need_getopt
extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind)
- __THROW;
+
const char *__shortopts,
+
const struct option *__longopts, int *__longind)
+ __THROW
_GL_ARG_NONNULL ((2, 3))
;
extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind)
- __THROW;
+
const char *__shortopts,
+
const struct option *__longopts, int *__longind)
+ __THROW
_GL_ARG_NONNULL ((2, 3))
;
#endif
#endif
@@
-238,5
+251,5
@@
extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,
/* Make sure we later can get all the definitions and declarations. */
#undef __need_getopt
/* Make sure we later can get all the definitions and declarations. */
#undef __need_getopt
-#endif /*
getopt.h
*/
-#endif /*
getopt.h
*/
+#endif /*
_@GUARD_PREFIX@_GETOPT_H
*/
+#endif /*
_@GUARD_PREFIX@_GETOPT_H
*/