emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lib-src/getopt.h


From: Miles Bader
Subject: [Emacs-diffs] Changes to emacs/lib-src/getopt.h
Date: Fri, 04 Apr 2003 01:21:36 -0500

Index: emacs/lib-src/getopt.h
diff -c emacs/lib-src/getopt.h:1.11 emacs/lib-src/getopt.h:1.12
*** emacs/lib-src/getopt.h:1.11 Wed Aug 23 17:41:36 2000
--- emacs/lib-src/getopt.h      Wed Dec  4 06:08:06 2002
***************
*** 1,21 ****
  /* 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 address@hidden
!    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.  */
  
  #ifndef _GETOPT_H
  
--- 1,20 ----
  /* Declarations for getopt.
!    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.  */
  
  #ifndef _GETOPT_H
  
***************
*** 23,28 ****
--- 22,38 ----
  # 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,88 ****
  
  struct option
  {
! # if defined __STDC__ && __STDC__
    const char *name;
  # else
    char *name;
--- 92,98 ----
  
  struct option
  {
! # if (defined __STDC__ && __STDC__) || defined __cplusplus
    const char *name;
  # else
    char *name;
***************
*** 126,150 ****
     arguments to the option '\0'.  This behavior is specific to the GNU
     `getopt'.  */
  
! #if defined __STDC__ && __STDC__
  # 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);
  # 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,
                             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,
                             const char *__shortopts,
                             const struct option *__longopts, int *__longind,
                             int __long_only);
--- 136,161 ----
     arguments to the option '\0'.  This behavior is specific to the GNU
     `getopt'.  */
  
! #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);
  # 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,
                             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,
                             const char *__shortopts,
                             const struct option *__longopts, int *__longind,
                             int __long_only);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]