diff options
Diffstat (limited to 'lib/gl/sys_stat.in.h')
-rw-r--r-- | lib/gl/sys_stat.in.h | 136 |
1 files changed, 73 insertions, 63 deletions
diff --git a/lib/gl/sys_stat.in.h b/lib/gl/sys_stat.in.h index f95571d679..8423f50a0e 100644 --- a/lib/gl/sys_stat.in.h +++ b/lib/gl/sys_stat.in.h @@ -1,5 +1,5 @@ /* Provide a more complete sys/stat header file. - Copyright (C) 2005-2009 Free Software Foundation, Inc. + Copyright (C) 2005-2010 Free Software Foundation, Inc. This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -47,7 +47,9 @@ #ifndef _GL_SYS_STAT_H #define _GL_SYS_STAT_H -/* The definition of GL_LINK_WARNING is copied here. */ +/* The definition of _GL_ARG_NONNULL is copied here. */ + +/* The definition of _GL_WARN_ON_USE is copied here. */ /* Before doing "#define mkdir rpl_mkdir" below, we need to include all headers that may declare mkdir(). */ @@ -295,20 +297,21 @@ extern "C" { #if @GNULIB_FCHMODAT@ # if !@HAVE_FCHMODAT@ -extern int fchmodat (int fd, char const *file, mode_t mode, int flag); +extern int fchmodat (int fd, char const *file, mode_t mode, int flag) + _GL_ARG_NONNULL ((2)); # endif #elif defined GNULIB_POSIXCHECK # undef fchmodat -# define fchmodat(d,n,m,f) \ - (GL_LINK_WARNING ("fchmodat is not portable - " \ - "use gnulib module openat for portability"), \ - fchmodat (d, n, m, f)) +# if HAVE_RAW_DECL_FCHMODAT +_GL_WARN_ON_USE (fchmodat, "fchmodat is not portable - " + "use gnulib module openat for portability"); +# endif #endif #if @REPLACE_FSTAT@ # define fstat rpl_fstat -extern int fstat (int fd, struct stat *buf); +extern int fstat (int fd, struct stat *buf) _GL_ARG_NONNULL ((2)); #endif @@ -318,14 +321,15 @@ extern int fstat (int fd, struct stat *buf); # define fstatat rpl_fstatat # endif # if !@HAVE_FSTATAT@ || @REPLACE_FSTATAT@ -extern int fstatat (int fd, char const *name, struct stat *st, int flags); +extern int fstatat (int fd, char const *name, struct stat *st, int flags) + _GL_ARG_NONNULL ((2, 3)); # endif #elif defined GNULIB_POSIXCHECK # undef fstatat -# define fstatat(d,n,s,f) \ - (GL_LINK_WARNING ("fstatat is not portable - " \ - "use gnulib module openat for portability"), \ - fstatat (d, n, s, f)) +# if HAVE_RAW_DECL_FSTATAT +_GL_WARN_ON_USE (fstatat, "fstatat is not portable - " + "use gnulib module openat for portability"); +# endif #endif @@ -339,10 +343,10 @@ extern int futimens (int fd, struct timespec const times[2]); # endif #elif defined GNULIB_POSIXCHECK # undef futimens -# define futimens(f,t) \ - (GL_LINK_WARNING ("futimens is not portable - " \ - "use gnulib module futimens for portability"), \ - futimens (f, t)) +# if HAVE_RAW_DECL_FUTIMENS +_GL_WARN_ON_USE (futimens, "futimens is not portable - " + "use gnulib module futimens for portability"); +# endif #endif @@ -360,14 +364,14 @@ extern int futimens (int fd, struct timespec const times[2]); # define lchmod chmod # endif # if 0 /* assume already declared */ -extern int lchmod (const char *filename, mode_t mode); +extern int lchmod (const char *filename, mode_t mode) _GL_ARG_NONNULL ((1)); # endif #elif defined GNULIB_POSIXCHECK # undef lchmod -# define lchmod(f,m) \ - (GL_LINK_WARNING ("lchmod is unportable - " \ - "use gnulib module lchmod for portability"), \ - lchmod (f, m)) +# if HAVE_RAW_DECL_LCHMOD +_GL_WARN_ON_USE (lchmod, "lchmod is unportable - " + "use gnulib module lchmod for portability"); +# endif #endif @@ -379,21 +383,22 @@ extern int lchmod (const char *filename, mode_t mode); # elif @REPLACE_LSTAT@ # undef lstat # define lstat rpl_lstat -extern int rpl_lstat (const char *name, struct stat *buf); +extern int rpl_lstat (const char *name, struct stat *buf) + _GL_ARG_NONNULL ((1, 2)); # endif #elif defined GNULIB_POSIXCHECK # undef lstat -# define lstat(p,b) \ - (GL_LINK_WARNING ("lstat is unportable - " \ - "use gnulib module lstat for portability"), \ - lstat (p, b)) +# if HAVE_RAW_DECL_LSTAT +_GL_WARN_ON_USE (lstat, "lstat is unportable - " + "use gnulib module lstat for portability"); +# endif #endif #if @REPLACE_MKDIR@ # undef mkdir # define mkdir rpl_mkdir -extern int mkdir (char const *name, mode_t mode); +extern int mkdir (char const *name, mode_t mode) _GL_ARG_NONNULL ((1)); #else /* mingw's _mkdir() function has 1 argument, but we pass 2 arguments. Additionally, it declares _mkdir (and depending on compile flags, an @@ -413,14 +418,15 @@ rpl_mkdir (char const *name, mode_t mode) #if @GNULIB_MKDIRAT@ # if !@HAVE_MKDIRAT@ -extern int mkdirat (int fd, char const *file, mode_t mode); +extern int mkdirat (int fd, char const *file, mode_t mode) + _GL_ARG_NONNULL ((2)); # endif #elif defined GNULIB_POSIXCHECK # undef mkdirat -# define mkdirat(d,n,m) \ - (GL_LINK_WARNING ("mkdirat is not portable - " \ - "use gnulib module openat for portability"), \ - mkdirat (d, n, m)) +# if HAVE_RAW_DECL_MKDIRAT +_GL_WARN_ON_USE (mkdirat, "mkdirat is not portable - " + "use gnulib module openat for portability"); +# endif #endif @@ -430,27 +436,28 @@ extern int mkdirat (int fd, char const *file, mode_t mode); # define mkfifo rpl_mkfifo # endif # if !@HAVE_MKFIFO@ || @REPLACE_MKFIFO@ -int mkfifo (char const *file, mode_t mode); +extern int mkfifo (char const *file, mode_t mode) _GL_ARG_NONNULL ((1)); # endif #elif defined GNULIB_POSIXCHECK # undef mkfifo -# define mkfifo(n,m) \ - (GL_LINK_WARNING ("mkfifo is not portable - " \ - "use gnulib module mkfifo for portability"), \ - mkfifo (n, m)) +# if HAVE_RAW_DECL_MKFIFO +_GL_WARN_ON_USE (mkfifo, "mkfifo is not portable - " + "use gnulib module mkfifo for portability"); +# endif #endif #if @GNULIB_MKFIFOAT@ # if !@HAVE_MKFIFOAT@ -int mkfifoat (int fd, char const *file, mode_t mode); +extern int mkfifoat (int fd, char const *file, mode_t mode) + _GL_ARG_NONNULL ((2)); # endif #elif defined GNULIB_POSIXCHECK # undef mkfifoat -# define mkfifoat(d,n,m) \ - (GL_LINK_WARNING ("mkfifoat is not portable - " \ - "use gnulib module mkfifoat for portability"), \ - mkfifoat (d, n, m)) +# if HAVE_RAW_DECL_MKFIFOAT +_GL_WARN_ON_USE (mkfifoat, "mkfifoat is not portable - " + "use gnulib module mkfifoat for portability"); +# endif #endif @@ -460,27 +467,29 @@ int mkfifoat (int fd, char const *file, mode_t mode); # define mknod rpl_mknod # endif # if !@HAVE_MKNOD@ || @REPLACE_MKNOD@ -int mknod (char const *file, mode_t mode, dev_t dev); +extern int mknod (char const *file, mode_t mode, dev_t dev) + _GL_ARG_NONNULL ((1)); # endif #elif defined GNULIB_POSIXCHECK # undef mknod -# define mknod(n,m,d) \ - (GL_LINK_WARNING ("mknod is not portable - " \ - "use gnulib module mknod for portability"), \ - mknod (n, m, d)) +# if HAVE_RAW_DECL_MKNOD +_GL_WARN_ON_USE (mknod, "mknod is not portable - " + "use gnulib module mknod for portability"); +# endif #endif #if @GNULIB_MKNODAT@ # if !@HAVE_MKNODAT@ -int mknodat (int fd, char const *file, mode_t mode, dev_t dev); +extern int mknodat (int fd, char const *file, mode_t mode, dev_t dev) + _GL_ARG_NONNULL ((2)); # endif #elif defined GNULIB_POSIXCHECK # undef mknodat -# define mknodat(f,n,m,d) \ - (GL_LINK_WARNING ("mknodat is not portable - " \ - "use gnulib module mkfifoat for portability"), \ - mknodat (f, n, m, d)) +# if HAVE_RAW_DECL_MKNODAT +_GL_WARN_ON_USE (mknodat, "mknodat is not portable - " + "use gnulib module mkfifoat for portability"); +# endif #endif @@ -499,14 +508,14 @@ int mknodat (int fd, char const *file, mode_t mode, dev_t dev); # else /* !_LARGE_FILES */ # define stat(name, st) rpl_stat (name, st) # endif /* !_LARGE_FILES */ -extern int stat (const char *name, struct stat *buf); +extern int stat (const char *name, struct stat *buf) _GL_ARG_NONNULL ((1, 2)); # endif #elif defined GNULIB_POSIXCHECK # undef stat -# define stat(p,b) \ - (GL_LINK_WARNING ("stat is unportable - " \ - "use gnulib module stat for portability"), \ - stat (p, b)) +# if HAVE_RAW_DECL_STAT +_GL_WARN_ON_USE (stat, "stat is unportable - " + "use gnulib module stat for portability"); +# endif #endif @@ -517,14 +526,15 @@ extern int stat (const char *name, struct stat *buf); # endif # if !@HAVE_UTIMENSAT@ || @REPLACE_UTIMENSAT@ extern int utimensat (int fd, char const *name, - struct timespec const times[2], int flag); + struct timespec const times[2], int flag) + _GL_ARG_NONNULL ((2)); # endif #elif defined GNULIB_POSIXCHECK # undef utimensat -# define utimensat(d,n,t,f) \ - (GL_LINK_WARNING ("utimensat is not portable - " \ - "use gnulib module utimensat for portability"), \ - utimensat (d, n, t, f)) +# if HAVE_RAW_DECL_UTIMENSAT +_GL_WARN_ON_USE (utimensat, "utimensat is not portable - " + "use gnulib module utimensat for portability"); +# endif #endif |