]> code.delx.au - gnu-emacs/commitdiff
lib/getopt_.h: Regenerate.
authorEli Zaretskii <eliz@gnu.org>
Fri, 11 Jan 2013 09:20:41 +0000 (11:20 +0200)
committerEli Zaretskii <eliz@gnu.org>
Fri, 11 Jan 2013 09:20:41 +0000 (11:20 +0200)
ChangeLog
lib/getopt_.h

index ba756946c56c074ddf99b8a478056a50df11f97d..2298c21a7fa614f9ffafc34147933800b49225d2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-01-11  Eli Zaretskii  <eliz@gnu.org>
+
+       * lib/getopt_.h: Regenerate.
+
 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
 
        Merge from gnulib, incorporating:
index 3f602dba2c6ed8e7d2ae9c6bded508559aca3c52..10edb73f41713b69f0b2ca56a32d7dd791fd7ee1 100644 (file)
-/* Declarations for getopt.
-   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 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
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-   GNU General Public License for more details.
-
-   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
-
-#if __GNUC__ >= 3
-#pragma GCC system_header
-#endif
-
-
-/* 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
-# define _GL_SYSTEM_GETOPT
-# ifndef __GNUC__
-# include <next_getopt.h>
-# else
-# include_next <getopt.h>
-# endif
-# undef _GL_SYSTEM_GETOPT
-#endif
-
-#ifndef _GL_GETOPT_H
-
-#ifndef __need_getopt
-# define _GL_GETOPT_H 1
-#endif
-
-/* Standalone applications should #define __GETOPT_PREFIX to an
-   identifier that prefixes the external functions and variables
-   defined in this header.  When this happens, include the
-   headers that might declare getopt so that they will not cause
-   confusion if included after this file (if the system had <getopt.h>,
-   we have already included it).  Then systematically rename
-   identifiers so that they do not collide with the system functions
-   and variables.  Renaming avoids problems with some compilers and
-   linkers.  */
-#if defined __GETOPT_PREFIX && !defined __need_getopt
-# if !HAVE_GETOPT_H
-#  include <stdlib.h>
-#  include <stdio.h>
-#  include <unistd.h>
-# endif
-# undef __need_getopt
-# undef getopt
-# undef getopt_long
-# undef getopt_long_only
-# undef optarg
-# undef opterr
-# undef optind
-# undef optopt
-# undef option
-# define __GETOPT_CONCAT(x, y) x ## y
-# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)
-# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)
-# define getopt __GETOPT_ID (getopt)
-# define getopt_long __GETOPT_ID (getopt_long)
-# define getopt_long_only __GETOPT_ID (getopt_long_only)
-# define optarg __GETOPT_ID (optarg)
-# define opterr __GETOPT_ID (opterr)
-# 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
-   getopt_long_only; they declare "char **argv".  libc uses prototypes
-   with "char *const *argv" that are incorrect because getopt_long and
-   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',
-   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.
-
-   The only place where __getopt_argv_const is used is in definitions
-   of getopt_long and getopt_long_only below, but these are visible
-   only if __need_getopt is not defined, so it is quite safe to rewrite
-   the conditional as follows:
-*/
-#if !defined __need_getopt
-# if defined __GETOPT_PREFIX
-#  define __getopt_argv_const /* empty */
-# else
-#  define __getopt_argv_const const
-# endif
-#endif
-
-/* If __GNU_LIBRARY__ is not already defined, either we are being used
-   standalone, or this is the first header included in the source file.
-   If we are being used with glibc, we need to include <features.h>, but
-   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is
-   not defined, include <ctype.h>, which will pull in <features.h> for us
-   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it
-   doesn't flood the namespace with stuff the way some other headers do.)  */
-#if !defined __GNU_LIBRARY__
-# include <ctype.h>
-#endif
-
-#ifndef __THROW
-# ifndef __GNUC_PREREQ
-#  define __GNUC_PREREQ(maj, min) (0)
-# endif
-# if defined __cplusplus && __GNUC_PREREQ (2,8)
-#  define __THROW       throw ()
-# else
-#  define __THROW
-# endif
-#endif
-
-/* The definition of _GL_ARG_NONNULL is copied here.  */
-/* A C macro for declaring that specific arguments must not be NULL.
-   Copyright (C) 2009-2012 Free Software Foundation, Inc.
-
-   This program is free software: you can redistribute it and/or modify it
-   under the terms of the GNU General Public License as published
-   by the Free Software Foundation; either version 3 of the License, or
-   (at your option) any later version.
-
-   This program is distributed in the hope that it will be useful,
-   but WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received a copy of the GNU General Public License
-   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
-
-/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools
-   that the values passed as arguments n, ..., m must be non-NULL pointers.
-   n = 1 stands for the first argument, n = 2 for the second argument etc.  */
-#ifndef _GL_ARG_NONNULL
-# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3
-#  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))
-# else
-#  define _GL_ARG_NONNULL(params)
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* For communication from 'getopt' to the caller.
-   When 'getopt' finds an option that takes an argument,
-   the argument value is returned here.
-   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
-   and for communication between successive calls to 'getopt'.
-
-   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
-   non-option elements that the caller should itself scan.
-
-   Otherwise, 'optind' communicates from one call to the next
-   how much of ARGV has been scanned so far.  */
-
-extern int optind;
-
-/* Callers store zero here to inhibit the error message 'getopt' prints
-   for unrecognized options.  */
-
-extern int opterr;
-
-/* Set to an option character which was unrecognized.  */
-
-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
-   of 'struct option' terminated by an element containing a name which is
-   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.
-
-   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.
-
-   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
-   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;
-  /* has_arg can't be an enum because some compilers complain about
-     type mismatches in all the code that assumes it is an int.  */
-  int has_arg;
-  int *flag;
-  int val;
-};
-#  define GNULIB_defined_struct_option 1
-# endif
-
-/* 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 */
-
-
-/* Get definitions and prototypes for functions to process the
-   arguments in ARGV (ARGC of them, minus the program name) for
-   options given in OPTS.
-
-   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
-   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'.
-
-   If a letter in OPTS is followed by two colons, its argument is
-   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
-   options.
-
-   If OPTS begins with '-', then non-option arguments are treated as
-   arguments to the option '\1'.  This behavior is specific to the GNU
-   '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)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-
-#ifndef __need_getopt
-extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,
-                        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,
-                             const char *__shortopts,
-                             const struct option *__longopts, int *__longind)
-       __THROW _GL_ARG_NONNULL ((2, 3));
-
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-
-/* Make sure we later can get all the definitions and declarations.  */
-#undef __need_getopt
-
-#endif /* _GL_GETOPT_H */
-#endif /* _GL_GETOPT_H */
+/* Declarations for getopt.\r
+   Copyright (C) 1989-1994, 1996-1999, 2001, 2003-2007, 2009-2013 Free Software\r
+   Foundation, Inc.\r
+   This file is part of the GNU C Library.\r
+\r
+   This program is free software: you can redistribute it and/or modify\r
+   it under the terms of the GNU General Public License as published by\r
+   the Free Software Foundation; either version 3 of the License, or\r
+   (at your option) any later version.\r
+\r
+   This program is distributed in the hope that it will be useful,\r
+   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+   GNU General Public License for more details.\r
+\r
+   You should have received a copy of the GNU General Public License\r
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */\r
+\r
+#ifndef _GL_GETOPT_H\r
+\r
+#if __GNUC__ >= 3\r
+#pragma GCC system_header\r
+#endif\r
+\r
+\r
+/* The include_next requires a split double-inclusion guard.  We must\r
+   also inform the replacement unistd.h to not recursively use\r
+   <getopt.h>; our definitions will be present soon enough.  */\r
+#if HAVE_GETOPT_H\r
+# define _GL_SYSTEM_GETOPT\r
+# ifndef __GNUC__\r
+# include <next_getopt.h>\r
+# else\r
+# include_next <getopt.h>\r
+# endif\r
+# undef _GL_SYSTEM_GETOPT\r
+#endif\r
+\r
+#ifndef _GL_GETOPT_H\r
+\r
+#ifndef __need_getopt\r
+# define _GL_GETOPT_H 1\r
+#endif\r
+\r
+/* Standalone applications should #define __GETOPT_PREFIX to an\r
+   identifier that prefixes the external functions and variables\r
+   defined in this header.  When this happens, include the\r
+   headers that might declare getopt so that they will not cause\r
+   confusion if included after this file (if the system had <getopt.h>,\r
+   we have already included it).  Then systematically rename\r
+   identifiers so that they do not collide with the system functions\r
+   and variables.  Renaming avoids problems with some compilers and\r
+   linkers.  */\r
+#if defined __GETOPT_PREFIX && !defined __need_getopt\r
+# if !HAVE_GETOPT_H\r
+#  define __need_system_stdlib_h\r
+#  include <stdlib.h>\r
+#  undef __need_system_stdlib_h\r
+#  include <stdio.h>\r
+#  include <unistd.h>\r
+# endif\r
+# undef __need_getopt\r
+# undef getopt\r
+# undef getopt_long\r
+# undef getopt_long_only\r
+# undef optarg\r
+# undef opterr\r
+# undef optind\r
+# undef optopt\r
+# undef option\r
+# define __GETOPT_CONCAT(x, y) x ## y\r
+# define __GETOPT_XCONCAT(x, y) __GETOPT_CONCAT (x, y)\r
+# define __GETOPT_ID(y) __GETOPT_XCONCAT (__GETOPT_PREFIX, y)\r
+# define getopt __GETOPT_ID (getopt)\r
+# define getopt_long __GETOPT_ID (getopt_long)\r
+# define getopt_long_only __GETOPT_ID (getopt_long_only)\r
+# define optarg __GETOPT_ID (optarg)\r
+# define opterr __GETOPT_ID (opterr)\r
+# define optind __GETOPT_ID (optind)\r
+# define optopt __GETOPT_ID (optopt)\r
+# define option __GETOPT_ID (option)\r
+# define _getopt_internal __GETOPT_ID (getopt_internal)\r
+#endif\r
+\r
+/* Standalone applications get correct prototypes for getopt_long and\r
+   getopt_long_only; they declare "char **argv".  libc uses prototypes\r
+   with "char *const *argv" that are incorrect because getopt_long and\r
+   getopt_long_only can permute argv; this is required for backward\r
+   compatibility (e.g., for LSB 2.0.1).\r
+\r
+   This used to be '#if defined __GETOPT_PREFIX && !defined __need_getopt',\r
+   but it caused redefinition warnings if both unistd.h and getopt.h were\r
+   included, since unistd.h includes getopt.h having previously defined\r
+   __need_getopt.\r
+\r
+   The only place where __getopt_argv_const is used is in definitions\r
+   of getopt_long and getopt_long_only below, but these are visible\r
+   only if __need_getopt is not defined, so it is quite safe to rewrite\r
+   the conditional as follows:\r
+*/\r
+#if !defined __need_getopt\r
+# if defined __GETOPT_PREFIX\r
+#  define __getopt_argv_const /* empty */\r
+# else\r
+#  define __getopt_argv_const const\r
+# endif\r
+#endif\r
+\r
+/* If __GNU_LIBRARY__ is not already defined, either we are being used\r
+   standalone, or this is the first header included in the source file.\r
+   If we are being used with glibc, we need to include <features.h>, but\r
+   that does not exist if we are standalone.  So: if __GNU_LIBRARY__ is\r
+   not defined, include <ctype.h>, which will pull in <features.h> for us\r
+   if it's from glibc.  (Why ctype.h?  It's guaranteed to exist and it\r
+   doesn't flood the namespace with stuff the way some other headers do.)  */\r
+#if !defined __GNU_LIBRARY__\r
+# include <ctype.h>\r
+#endif\r
+\r
+#ifndef __THROW\r
+# ifndef __GNUC_PREREQ\r
+#  define __GNUC_PREREQ(maj, min) (0)\r
+# endif\r
+# if defined __cplusplus && __GNUC_PREREQ (2,8)\r
+#  define __THROW       throw ()\r
+# else\r
+#  define __THROW\r
+# endif\r
+#endif\r
+\r
+/* The definition of _GL_ARG_NONNULL is copied here.  */\r
+/* A C macro for declaring that specific arguments must not be NULL.\r
+   Copyright (C) 2009-2013 Free Software Foundation, Inc.\r
+\r
+   This program is free software: you can redistribute it and/or modify it\r
+   under the terms of the GNU General Public License as published\r
+   by the Free Software Foundation; either version 3 of the License, or\r
+   (at your option) any later version.\r
+\r
+   This program is distributed in the hope that it will be useful,\r
+   but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU\r
+   General Public License for more details.\r
+\r
+   You should have received a copy of the GNU General Public License\r
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */\r
+\r
+/* _GL_ARG_NONNULL((n,...,m)) tells the compiler and static analyzer tools\r
+   that the values passed as arguments n, ..., m must be non-NULL pointers.\r
+   n = 1 stands for the first argument, n = 2 for the second argument etc.  */\r
+#ifndef _GL_ARG_NONNULL\r
+# if (__GNUC__ == 3 && __GNUC_MINOR__ >= 3) || __GNUC__ > 3\r
+#  define _GL_ARG_NONNULL(params) __attribute__ ((__nonnull__ params))\r
+# else\r
+#  define _GL_ARG_NONNULL(params)\r
+# endif\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+extern "C" {\r
+#endif\r
+\r
+/* For communication from 'getopt' to the caller.\r
+   When 'getopt' finds an option that takes an argument,\r
+   the argument value is returned here.\r
+   Also, when 'ordering' is RETURN_IN_ORDER,\r
+   each non-option ARGV-element is returned here.  */\r
+\r
+extern char *optarg;\r
+\r
+/* Index in ARGV of the next element to be scanned.\r
+   This is used for communication to and from the caller\r
+   and for communication between successive calls to 'getopt'.\r
+\r
+   On entry to 'getopt', zero means this is the first call; initialize.\r
+\r
+   When 'getopt' returns -1, this is the index of the first of the\r
+   non-option elements that the caller should itself scan.\r
+\r
+   Otherwise, 'optind' communicates from one call to the next\r
+   how much of ARGV has been scanned so far.  */\r
+\r
+extern int optind;\r
+\r
+/* Callers store zero here to inhibit the error message 'getopt' prints\r
+   for unrecognized options.  */\r
+\r
+extern int opterr;\r
+\r
+/* Set to an option character which was unrecognized.  */\r
+\r
+extern int optopt;\r
+\r
+#ifndef __need_getopt\r
+/* Describe the long-named options requested by the application.\r
+   The LONG_OPTIONS argument to getopt_long or getopt_long_only is a vector\r
+   of 'struct option' terminated by an element containing a name which is\r
+   zero.\r
+\r
+   The field 'has_arg' is:\r
+   no_argument          (or 0) if the option does not take an argument,\r
+   required_argument    (or 1) if the option requires an argument,\r
+   optional_argument    (or 2) if the option takes an optional argument.\r
+\r
+   If the field 'flag' is not NULL, it points to a variable that is set\r
+   to the value given in the field 'val' when the option is found, but\r
+   left unchanged if the option is not found.\r
+\r
+   To have a long-named option do something other than set an 'int' to\r
+   a compiled-in constant, such as set a value from 'optarg', set the\r
+   option's 'flag' field to zero and its 'val' field to a nonzero\r
+   value (the equivalent single-letter option character, if there is\r
+   one).  For long options that have a zero 'flag' field, 'getopt'\r
+   returns the contents of the 'val' field.  */\r
+\r
+# if !GNULIB_defined_struct_option\r
+struct option\r
+{\r
+  const char *name;\r
+  /* has_arg can't be an enum because some compilers complain about\r
+     type mismatches in all the code that assumes it is an int.  */\r
+  int has_arg;\r
+  int *flag;\r
+  int val;\r
+};\r
+#  define GNULIB_defined_struct_option 1\r
+# endif\r
+\r
+/* Names for the values of the 'has_arg' field of 'struct option'.  */\r
+\r
+# define no_argument            0\r
+# define required_argument      1\r
+# define optional_argument      2\r
+#endif  /* need getopt */\r
+\r
+\r
+/* Get definitions and prototypes for functions to process the\r
+   arguments in ARGV (ARGC of them, minus the program name) for\r
+   options given in OPTS.\r
+\r
+   Return the option character from OPTS just read.  Return -1 when\r
+   there are no more options.  For unrecognized options, or options\r
+   missing arguments, 'optopt' is set to the option letter, and '?' is\r
+   returned.\r
+\r
+   The OPTS string is a list of characters which are recognized option\r
+   letters, optionally followed by colons, specifying that that letter\r
+   takes an argument, to be placed in 'optarg'.\r
+\r
+   If a letter in OPTS is followed by two colons, its argument is\r
+   optional.  This behavior is specific to the GNU 'getopt'.\r
+\r
+   The argument '--' causes premature termination of argument\r
+   scanning, explicitly telling 'getopt' that there are no more\r
+   options.\r
+\r
+   If OPTS begins with '-', then non-option arguments are treated as\r
+   arguments to the option '\1'.  This behavior is specific to the GNU\r
+   'getopt'.  If OPTS begins with '+', or POSIXLY_CORRECT is set in\r
+   the environment, then do not permute arguments.  */\r
+\r
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)\r
+       __THROW _GL_ARG_NONNULL ((2, 3));\r
+\r
+#ifndef __need_getopt\r
+extern int getopt_long (int ___argc, char *__getopt_argv_const *___argv,\r
+                        const char *__shortopts,\r
+                        const struct option *__longopts, int *__longind)\r
+       __THROW _GL_ARG_NONNULL ((2, 3));\r
+extern int getopt_long_only (int ___argc, char *__getopt_argv_const *___argv,\r
+                             const char *__shortopts,\r
+                             const struct option *__longopts, int *__longind)\r
+       __THROW _GL_ARG_NONNULL ((2, 3));\r
+\r
+#endif\r
+\r
+#ifdef __cplusplus\r
+}\r
+#endif\r
+\r
+/* Make sure we later can get all the definitions and declarations.  */\r
+#undef __need_getopt\r
+\r
+#endif /* _GL_GETOPT_H */\r
+#endif /* _GL_GETOPT_H */\r