Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
e1e86c97
Commit
e1e86c97
authored
Dec 04, 2002
by
Richard M. Stallman
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Maybe include ctype.h.
Treat __cplusplus like __STDC__. (decls): Use __ in arg names.
parent
062b24bf
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
28 additions
and
17 deletions
+28
-17
lib-src/getopt.h
lib-src/getopt.h
+28
-17
No files found.
lib-src/getopt.h
View file @
e1e86c97
/* Declarations for getopt.
Copyright (C) 1989
,90,91,92,93,94,96,97,98
Free Software Foundation, Inc.
NOTE: The canonical source of this file is maintained with
the GNU C Library.
Bugs can be reported to bug-glibc@gnu.org.
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 2, or (at your option)
any
later version.
Copyright (C) 1989
-1994, 1996-1999, 2001
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 2, 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, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307,
USA. */
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation,
Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef _GETOPT_H
...
...
@@ -23,6 +22,17 @@
# define _GETOPT_H 1
#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
#ifdef __cplusplus
extern
"C"
{
#endif
...
...
@@ -82,7 +92,7 @@ extern int optopt;
struct
option
{
# if defined __STDC__ && __STDC__
# if
(
defined __STDC__ && __STDC__
) || defined __cplusplus
const
char
*
name
;
# else
char
*
name
;
...
...
@@ -126,25 +136,26 @@ struct option
arguments to the option '\0'. This behavior is specific to the GNU
`getopt'. */
#if defined __STDC__ && __STDC__
#if
(
defined __STDC__ && __STDC__
) || defined __cplusplus
# ifdef __GNU_LIBRARY__
/* 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
);
# 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
,
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_only
(
int
___
argc
,
char
*
const
*
___
argv
,
const
char
*
__shortopts
,
const
struct
option
*
__longopts
,
int
*
__longind
);
/* Internal only. Users should not call this directly. */
extern
int
_getopt_internal
(
int
argc
,
char
*
const
*
argv
,
extern
int
_getopt_internal
(
int
___
argc
,
char
*
const
*
___
argv
,
const
char
*
__shortopts
,
const
struct
option
*
__longopts
,
int
*
__longind
,
int
__long_only
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment