From 4100543aee0f7e77c1a8aec9e150b9e1720b8dcb Mon Sep 17 00:00:00 2001 From: "K. Richard Pixley" Date: Fri, 16 Oct 1992 05:49:54 +0000 Subject: use the provided enum for has_arg --- include/ChangeLog | 2 ++ include/getopt.h | 38 +++++++++++++++++++++++--------------- 2 files changed, 25 insertions(+), 15 deletions(-) (limited to 'include') diff --git a/include/ChangeLog b/include/ChangeLog index 37a19a6..2f038ae 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,5 +1,7 @@ Thu Oct 15 21:43:22 1992 K. Richard Pixley (rich@sendai.cygnus.com) + * getopt.h (struct option): use the provided enum for has_arg. + * demangle.h (AUTO_DEMANGLING, GNU_DEMANGLING, LUCID_DEMANGLING): ultrix compilers require enums to be enums and ints to be ints and casts where they meet. cast some diff --git a/include/getopt.h b/include/getopt.h index f64de31..6f42f80 100644 --- a/include/getopt.h +++ b/include/getopt.h @@ -1,9 +1,9 @@ /* Declarations for getopt. Copyright (C) 1989, 1990, 1991, 1992 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 2, or (at your option) + This program is free software; you can redistribute it and/or modify it + under the terms of the GNU Library 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, @@ -11,13 +11,17 @@ 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 + You should have received a copy of the GNU Library General Public + License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ #ifndef _GETOPT_H #define _GETOPT_H 1 +#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. @@ -66,6 +70,15 @@ extern int opterr; one). For long options that have a zero `flag' field, `getopt' returns the contents of the `val' field. */ +/* Names for the values of the `has_arg' field of `struct option'. */ + +enum _argtype +{ + no_argument, + required_argument, + optional_argument +}; + struct option { #if __STDC__ @@ -75,20 +88,11 @@ struct option #endif /* 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; + enum _argtype has_arg; int *flag; int val; }; -/* Names for the values of the `has_arg' field of `struct option'. */ - -enum _argtype -{ - no_argument, - required_argument, - optional_argument -}; - #if __STDC__ extern int getopt (int argc, char *const *argv, const char *shortopts); extern int getopt_long (int argc, char *const *argv, const char *shortopts, @@ -110,4 +114,8 @@ extern int getopt_long_only (); extern int _getopt_internal (); #endif /* not __STDC__ */ +#ifdef __cplusplus +} +#endif + #endif /* _GETOPT_H */ -- cgit v1.1