Try to better mimic GNU getopt.h which does not assume to make visible

all unistd.h functions, use _GETOPT_DECLARE define for that.
This commit is contained in:
Andrey A. Chernov 2004-02-23 04:17:59 +00:00
parent 3f52a8ab55
commit 1919b885d0
2 changed files with 13 additions and 6 deletions

View File

@ -41,12 +41,10 @@
#define _GETOPT_H_
#include <sys/cdefs.h>
#include <unistd.h>
/*
* GNU-like getopt_long()
* GNU-like getopt_long() & getopt() for GNU programs.
*/
#if !defined(_POSIX_SOURCE) && !defined(_XOPEN_SOURCE)
#define no_argument 0
#define required_argument 1
#define optional_argument 2
@ -66,9 +64,15 @@ struct option {
};
__BEGIN_DECLS
int getopt_long __P((int, char * const *, const char *,
const struct option *, int *));
int getopt_long(int, char * const *, const char *,
const struct option *, int *);
#ifndef _GETOPT_DECLARED
#define _GETOPT_DECLARED
int getopt(int, char * const [], const char *);
extern char *optarg; /* getopt(3) external variables */
extern int optind, opterr, optopt;
#endif /* _GETOPT_DECLARED */
__END_DECLS
#endif
#endif /* !_GETOPT_H_ */

View File

@ -371,10 +371,13 @@ ssize_t write(int, const void *, size_t);
/* 1003.2-1992 */
#if __POSIX_VISIBLE >= 199209 || __XSI_VISIBLE
size_t confstr(int, char *, size_t);
#ifndef _GETOPT_DECLARED
#define _GETOPT_DECLARED
int getopt(int, char * const [], const char *);
extern char *optarg; /* getopt(3) external variables */
extern int optind, opterr, optopt;
#endif /* _GETOPT_DECLARED */
#endif
/* ISO/IEC 9945-1: 1996 */