fchmodat, fchownat, fstatat: port to non-inlining compilers
authorPaul Eggert <eggert@cs.ucla.edu>
Mon, 15 Oct 2012 20:07:07 +0000 (13:07 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Mon, 15 Oct 2012 20:19:13 +0000 (13:19 -0700)
Problem reported for FreeBSD 9 by Jim Meyering in
<http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
* lib/chmodat.c, lib/chownat.c, lib/statat.c:
New files, which define FCHMODAT_INLINE etc.
* lib/fchmodat.c (FCHMODAT_INLINE):
* lib/fchownat.c (FCHOWNAT_INLINE):
* lib/fstatat.c (FSTATAT_INLINE):
Remove, as chmodat.c etc. now do this.
* modules/fchmodat (Files): Add lib/chmodat.c.
* modules/fchownat (Files): Add lib/chownat.c.
* modules/fstatat (Files): Add lib/statat.c.

ChangeLog
lib/chmodat.c [new file with mode: 0644]
lib/chownat.c [new file with mode: 0644]
lib/fchmodat.c
lib/fchownat.c
lib/fstatat.c
lib/statat.c [new file with mode: 0644]
modules/fchmodat
modules/fchownat
modules/fstatat

index ac74fdb..fca0234 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,18 @@
+2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
+
+       fchmodat, fchownat, fstatat: port to non-inlining compilers
+       Problem reported for FreeBSD 9 by Jim Meyering in
+       <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
+       * lib/chmodat.c, lib/chownat.c, lib/statat.c:
+       New files, which define FCHMODAT_INLINE etc.
+       * lib/fchmodat.c (FCHMODAT_INLINE):
+       * lib/fchownat.c (FCHOWNAT_INLINE):
+       * lib/fstatat.c (FSTATAT_INLINE):
+       Remove, as chmodat.c etc. now do this.
+       * modules/fchmodat (Files): Add lib/chmodat.c.
+       * modules/fchownat (Files): Add lib/chownat.c.
+       * modules/fstatat (Files): Add lib/statat.c.
+
 2012-10-15  Jim Meyering  <jim@meyering.net>
 
        fchmodat.c, fchownat.c: compile-impeding typos
diff --git a/lib/chmodat.c b/lib/chmodat.c
new file mode 100644 (file)
index 0000000..3c69689
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define FCHMODAT_INLINE _GL_EXTERN_INLINE
+#include "openat.h"
diff --git a/lib/chownat.c b/lib/chownat.c
new file mode 100644 (file)
index 0000000..3937f9c
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define FCHOWNAT_INLINE _GL_EXTERN_INLINE
+#include "openat.h"
index 8612cd4..ce848fd 100644 (file)
@@ -18,8 +18,6 @@
 
 #include <config.h>
 
-#define FCHMODAT_INLINE _GL_EXTERN_INLINE
-
 #include <sys/stat.h>
 
 #include <errno.h>
index 72bad1b..4f6a44d 100644 (file)
@@ -23,8 +23,6 @@
 
 #include <config.h>
 
-#define FCHOWNAT_INLINE _GL_EXTERN_INLINE
-
 #include <unistd.h>
 
 #include <errno.h>
index 71b04d5..5b097fc 100644 (file)
@@ -23,8 +23,6 @@
 #define __need_system_sys_stat_h
 #include <config.h>
 
-#define FSTATAT_INLINE _GL_EXTERN_INLINE
-
 /* Get the original definition of fstatat.  It might be defined as a macro.  */
 #include <sys/types.h>
 #include <sys/stat.h>
diff --git a/lib/statat.c b/lib/statat.c
new file mode 100644 (file)
index 0000000..28e21fe
--- /dev/null
@@ -0,0 +1,3 @@
+#include <config.h>
+#define FSTATAT_INLINE _GL_EXTERN_INLINE
+#include "openat.h"
index 44cc919..7a5e1a6 100644 (file)
@@ -3,6 +3,7 @@ fchmodat() function: Change access permissions of a file at a directory.
 
 Files:
 lib/fchmodat.c
+lib/chmodat.c
 lib/at-func.c
 m4/fchmodat.m4
 
@@ -28,6 +29,7 @@ gl_MODULE_INDICATOR([fchmodat]) dnl for lib/openat.h
 gl_SYS_STAT_MODULE_INDICATOR([fchmodat])
 
 Makefile.am:
+lib_SOURCES += chmodat.c
 
 Include:
 <sys/stat.h>
index 0b16be8..385f38d 100644 (file)
@@ -3,6 +3,7 @@ fchownat() function: Change the owner of a file at a directory.
 
 Files:
 lib/fchownat.c
+lib/chownat.c
 lib/at-func.c
 m4/fchownat.m4
 
@@ -30,6 +31,7 @@ gl_MODULE_INDICATOR([fchownat]) dnl for lib/openat.h
 gl_UNISTD_MODULE_INDICATOR([fchownat])
 
 Makefile.am:
+lib_SOURCES += chownat.c
 
 Include:
 <unistd.h>
index 9b260d4..7aa99b8 100644 (file)
@@ -3,6 +3,7 @@ fstatat() function: Return information about a file at a directory.
 
 Files:
 lib/fstatat.c
+lib/statat.c
 lib/at-func.c
 m4/fstatat.m4
 m4/lstat.m4
@@ -30,6 +31,7 @@ gl_MODULE_INDICATOR([fstatat]) dnl for lib/openat.h
 gl_SYS_STAT_MODULE_INDICATOR([fstatat])
 
 Makefile.am:
+lib_SOURCES += statat.c
 
 Include:
 <sys/stat.h>