1getopt.h is a modified version of the getopt.h found in the glibc snapshot
2on 1998-04-14. Below the patch that has been applied to this file. The glibc
3maintainer has been informed of these patches.
4
5diff -c3 getopt.h.orig getopt.h
6*** getopt.h.orig	Sat Jun 21 03:01:53 1997
7--- getopt.h	Mon Aug 28 12:36:27 2000
8***************
9*** 1,5 ****
10  /* Declarations for getopt.
11!    Copyright (C) 1989,90,91,92,93,94,96,97 Free Software Foundation, Inc.
12     This file is part of the GNU C Library.
13  
14     The GNU C Library is free software; you can redistribute it and/or
15--- 1,5 ----
16  /* Declarations for getopt.
17!    Copyright (C) 1989-1998, 2000 Free Software Foundation, Inc.
18     This file is part of the GNU C Library.
19  
20     The GNU C Library is free software; you can redistribute it and/or
21***************
22*** 78,84 ****
23  
24  struct option
25  {
26! #if defined (__STDC__) && __STDC__
27    const char *name;
28  #else
29    char *name;
30--- 78,84 ----
31  
32  struct option
33  {
34! #if (defined (__STDC__) && __STDC__) || defined (__cplusplus)
35    const char *name;
36  #else
37    char *name;
38***************
39*** 96,102 ****
40  #define required_argument	1
41  #define optional_argument	2
42  
43! #if defined (__STDC__) && __STDC__
44  #ifdef __GNU_LIBRARY__
45  /* Many other libraries have conflicting prototypes for getopt, with
46     differences in the consts, in stdlib.h.  To avoid compilation
47--- 96,108 ----
48  #define required_argument	1
49  #define optional_argument	2
50  
51! #if (defined (__STDC__) && __STDC__) || defined (__cplusplus)
52! #ifdef __cplusplus
53! /* SunOS4 declares getopt with the following prototype:
54!    extern int getopt (int argc, const char *const *argv, const char *shortopts);
55!    We cannot redeclare it when compiling C++ code. */
56! #define getopt(x,y,z) getopt_long(x, y, z, (const struct option *) 0, (int *) 0)
57! #else /* not __cplusplus */
58  #ifdef __GNU_LIBRARY__
59  /* Many other libraries have conflicting prototypes for getopt, with
60     differences in the consts, in stdlib.h.  To avoid compilation
61***************
62*** 105,110 ****
63--- 111,117 ----
64  #else /* not __GNU_LIBRARY__ */
65  extern int getopt ();
66  #endif /* __GNU_LIBRARY__ */
67+ #endif /* __cplusplus */
68  extern int getopt_long (int argc, char *const *argv, const char *shortopts,
69  		        const struct option *longopts, int *longind);
70  extern int getopt_long_only (int argc, char *const *argv,
71