X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Fglob-libc.h;h=26a131a0a9563bd82560359dba630f96a4142159;hb=a5ca560fc2c96a9ac5723c2389fbf1d883c863b8;hp=95b76c853598c403a157d204cd51d0c939ea9b9f;hpb=4ef30f6cf2439380afe78dee027e322fcbf8e756;p=gnulib.git diff --git a/lib/glob-libc.h b/lib/glob-libc.h index 95b76c853..26a131a0a 100644 --- a/lib/glob-libc.h +++ b/lib/glob-libc.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1991,92,95-98,2000,2001,2004 Free Software Foundation, Inc. +/* Copyright (C) 1991,92,95-98,2000,2001,2004-2007 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -23,6 +23,21 @@ # include #endif +/* GCC 2.95 and later have "__restrict"; C99 compilers have + "restrict", and "configure" may have defined "restrict". + Other compilers use __restrict, __restrict__, and _Restrict, and + 'configure' might #define 'restrict' to those words, so pick a + different name. */ +#ifndef _Restrict_ +# if 199901L <= __STDC_VERSION__ +# define _Restrict_ restrict +# elif 2 < __GNUC__ || (2 == __GNUC__ && 95 <= __GNUC_MINOR__) +# define _Restrict_ __restrict +# else +# define _Restrict_ +# endif +#endif + __BEGIN_DECLS /* We need `size_t' for the following definitions. */ @@ -104,13 +119,13 @@ typedef struct #else void *(*gl_readdir) (void *); #endif - void *(*gl_opendir) (__const char *); + void *(*gl_opendir) (const char *); #ifdef __USE_GNU - int (*gl_lstat) (__const char *__restrict, struct stat *__restrict); - int (*gl_stat) (__const char *__restrict, struct stat *__restrict); + int (*gl_lstat) (const char *_Restrict_, struct stat *_Restrict_); + int (*gl_stat) (const char *_Restrict_, struct stat *_Restrict_); #else - int (*gl_lstat) (__const char *__restrict, void *__restrict); - int (*gl_stat) (__const char *__restrict, void *__restrict); + int (*gl_lstat) (const char *_Restrict_, void *_Restrict_); + int (*gl_stat) (const char *_Restrict_, void *_Restrict_); #endif } glob_t; @@ -133,13 +148,13 @@ typedef struct # else void *(*gl_readdir) (void *); # endif - void *(*gl_opendir) (__const char *); + void *(*gl_opendir) (const char *); # ifdef __USE_GNU - int (*gl_lstat) (__const char *__restrict, struct stat64 *__restrict); - int (*gl_stat) (__const char *__restrict, struct stat64 *__restrict); + int (*gl_lstat) (const char *_Restrict_, struct stat64 *_Restrict_); + int (*gl_stat) (const char *_Restrict_, struct stat64 *_Restrict_); # else - int (*gl_lstat) (__const char *__restrict, void *__restrict); - int (*gl_stat) (__const char *__restrict, void *__restrict); + int (*gl_lstat) (const char *_Restrict_, void *_Restrict_); + int (*gl_stat) (const char *_Restrict_, void *_Restrict_); # endif } glob64_t; #endif @@ -158,25 +173,25 @@ typedef struct If memory cannot be allocated for PGLOB, GLOB_NOSPACE is returned. Otherwise, `glob' returns zero. */ #if !defined __USE_FILE_OFFSET64 || __GNUC__ < 2 || defined __GLOB_GNULIB -extern int glob (__const char *__restrict __pattern, int __flags, - int (*__errfunc) (__const char *, int), - glob_t *__restrict __pglob) __THROW; +extern int glob (const char *_Restrict_ __pattern, int __flags, + int (*__errfunc) (const char *, int), + glob_t *_Restrict_ __pglob) __THROW; /* Free storage allocated in PGLOB by a previous `glob' call. */ extern void globfree (glob_t *__pglob) __THROW; #else -extern int __REDIRECT_NTH (glob, (__const char *__restrict __pattern, +extern int __REDIRECT_NTH (glob, (const char *_Restrict_ __pattern, int __flags, - int (*__errfunc) (__const char *, int), - glob_t *__restrict __pglob), glob64); + int (*__errfunc) (const char *, int), + glob_t *_Restrict_ __pglob), glob64); extern void __REDIRECT_NTH (globfree, (glob_t *__pglob), globfree64); #endif #if defined __USE_LARGEFILE64 && !defined __GLOB_GNULIB -extern int glob64 (__const char *__restrict __pattern, int __flags, - int (*__errfunc) (__const char *, int), - glob64_t *__restrict __pglob) __THROW; +extern int glob64 (const char *_Restrict_ __pattern, int __flags, + int (*__errfunc) (const char *, int), + glob64_t *_Restrict_ __pglob) __THROW; extern void globfree64 (glob64_t *__pglob) __THROW; #endif @@ -188,7 +203,7 @@ extern void globfree64 (glob64_t *__pglob) __THROW; This function is not part of the interface specified by POSIX.2 but several programs want to use it. */ -extern int glob_pattern_p (__const char *__pattern, int __quote) __THROW; +extern int glob_pattern_p (const char *__pattern, int __quote) __THROW; #endif __END_DECLS