summaryrefslogtreecommitdiffstats
path: root/libc/sysdeps/linux/common/bits/getopt.h
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2005-11-18 03:14:53 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2005-11-18 03:14:53 +0000
commitf87c7bd4133a2b3ad9b45c32fab33d167a348c4b (patch)
tree7259957b97704c375b3d8ab42f8da3d52665845e /libc/sysdeps/linux/common/bits/getopt.h
parent164a928b77f596b6617a4bbf43a2c06bc35a5602 (diff)
downloaduClibc-alpine-f87c7bd4133a2b3ad9b45c32fab33d167a348c4b.tar.bz2
uClibc-alpine-f87c7bd4133a2b3ad9b45c32fab33d167a348c4b.tar.xz
Massive merge from trunk.
Diffstat (limited to 'libc/sysdeps/linux/common/bits/getopt.h')
-rw-r--r--libc/sysdeps/linux/common/bits/getopt.h39
1 files changed, 28 insertions, 11 deletions
diff --git a/libc/sysdeps/linux/common/bits/getopt.h b/libc/sysdeps/linux/common/bits/getopt.h
index fd1cb7b15..a192c039b 100644
--- a/libc/sysdeps/linux/common/bits/getopt.h
+++ b/libc/sysdeps/linux/common/bits/getopt.h
@@ -1,5 +1,6 @@
/* Declarations for getopt.
- Copyright (C) 1989-1994, 1996-1999, 2001 Free Software Foundation, Inc.
+ Copyright (C) 1989-1994,1996-1999,2001,2003,2004
+ Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -19,6 +20,8 @@
#ifndef _GETOPT_H
+#include <features.h>
+
#ifndef __need_getopt
# define _GETOPT_H 1
#endif
@@ -34,6 +37,17 @@
# 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
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -133,23 +147,26 @@ struct option
arguments to the option '\0'. This behavior is specific to the GNU
`getopt'. */
+#if defined __GNU_LIBRARY__ || defined __UCLIBC__
/* Many other libraries have conflicting prototypes for getopt, with
differences in the consts, in stdlib.h. To avoid compilation
errors, only prototype getopt for the GNU C library. */
-extern int getopt (int __argc, char *const *__argv, const char *__shortopts);
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
+ __THROW;
+#else /* not __GNU_LIBRARY__ */
+extern int getopt ();
+#endif /* __GNU_LIBRARY__ */
#ifndef __need_getopt
-extern int getopt_long (int __argc, char *const *__argv, const char *__shortopts,
- const struct option *__longopts, int *__longind);
-extern int getopt_long_only (int __argc, char *const *__argv,
+extern int getopt_long (int ___argc, char *const *___argv,
+ const char *__shortopts,
+ const struct option *__longopts, int *__longind)
+ __THROW;
+extern int getopt_long_only (int ___argc, char *const *___argv,
const char *__shortopts,
- const struct option *__longopts, int *__longind);
+ const struct option *__longopts, int *__longind)
+ __THROW;
-/* Internal only. Users should not call this directly. */
-extern int _getopt_internal (int __argc, char *const *__argv,
- const char *__shortopts,
- const struct option *__longopts, int *__longind,
- int __long_only);
#endif
#ifdef __cplusplus