summaryrefslogtreecommitdiff
path: root/modules/fchmodat
Commit message (Collapse)AuthorAgeFilesLines
* fchmodat, fchownat, fstatat: port to non-inlining compilersPaul Eggert2012-10-151-0/+2
| | | | | | | | | | | | | | 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.
* faccessat, etc.: support AT_FDCWD-only usePaul Eggert2012-10-141-1/+0
| | | | | | | | | | | | | | * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support this function only if its first argument is AT_FDCWD. Emacs wants faccessat for AT_EACCESS but not for any first-arg values other than AT_FDCWD, so it doesn't want all the openat machinery with fchdir etc. * modules/faccessat, modules/fchmodat, modules/fchownat (Files): * modules/fstatat, modules/mkdirat, modules/openat (Files): * modules/unlinkat (Files): Remove lib/openat-priv.h, as at-internal supplies this file. Removing this file here allows us to support programs like Emacs that avoid at-internal.
* fchmodat, fchownat, fstatat: use extern-inlinePaul Eggert2012-09-221-1/+1
| | | | | | | | | | | | | | | * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE): * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE): * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE): New macros. * lib/openat.h: Replace all uses of 'static inline' with them. Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END. * modules/fchmodat, modules/fchownat, modules/fstatat: * modules/openat-h: (Depends-on): Add extern-inline. (configure.ac): Remove AC_C_INLINE.
* Depend on module fcntl-h when AT_FDCWD is used.Bruno Haible2011-11-191-0/+1
| | | | | | | | | | | | | | | | | * modules/utimens (Depends-on): Add fcntl-h. * modules/areadlinkat (Depends-on): Likewise. * modules/areadlinkat-with-size (Depends-on): Likewise. * modules/faccessat (Depends-on): Likewise. * modules/fchmodat (Depends-on): Likewise. * modules/fchownat (Depends-on): Likewise. * modules/getcwd (Depends-on): Likewise. * modules/mkdirat (Depends-on): Likewise. * modules/mkfifoat (Depends-on): Likewise. * modules/readlinkat (Depends-on): Likewise. * modules/symlinkat (Depends-on): Likewise. * modules/dup2-tests (Depends-on): Likewise. * modules/fdutimensat-tests (Depends-on): Likewise. * modules/futimens-tests (Depends-on): Likewise.
* More conditional dependencies.Bruno Haible2011-11-091-8/+8
| | | | | | | | | | | | | | | * modules/faccessat (Depends-on): Add conditions. * modules/fchmodat (Depends-on): Likewise. * modules/fchownat (Depends-on): Likewise. * modules/fstatat (Depends-on): Likewise. * modules/mkfifoat (Depends-on): Likewise. * modules/readlinkat (Depends-on): Likewise. * modules/symlinkat (Depends-on): Likewise. * modules/unlinkat (Depends-on): Likewise. * modules/utimensat (Depends-on): Likewise. * modules/mkdirat (Depends-on): Add sys_stat. Add conditions. * modules/linkat (Depends-on): Refine the conditions. * modules/renameat (Depends-on): Likewise.
* New modules 'at-internal', 'openat-h', split off from module 'openat'.Bruno Haible2011-11-051-6/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR. * modules/openat (Description): Add reference to POSIX function. (Files): Remove lib/openat.h, lib/openat-proc.c. (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h, intprops, unistd. (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke gl_FCNTL_MODULE_INDICATOR. (Include): Remove unistd.h, openat.h. * modules/areadlinkat (Files): Add lib/at-func.c. (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, openat-die, openat-h, save-cwd. * modules/areadlinkat-with-size (Files): Add lib/at-func.c. (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, openat-die, openat-h, save-cwd, unistd. * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h. (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, openat-h, save-cwd. Remove fcntl-h, openat. * modules/fchmodat (Files): Remove lib/openat.h. (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, openat, stdbool, unistd. * modules/fchownat (Files): Remove lib/openat.h. (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, openat, stdbool, sys_stat. * modules/fdopendir (Files): Remove lib/openat-priv.h, lib/openat-proc.c. (Depends-on): Add at-internal. (condigure.ac): Remove AC_LIBOBJ of openat-proc. * modules/fstatat (Files): Remove lib/openat.h. (Depends-on): Add at-internal, openat-h. Remove dirent, openat, stdbool, unistd. * modules/fts (Depends-on): Add openat-h. * modules/linkat (Depends-on): Add at-internal, openat-h. Remove openat. * modules/mkdirat (Files): Remove lib/openat.h. (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h, openat, stdbool, sys_stat. * modules/mkfifoat (Files): Add lib/at-func.c. (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, openat-h, save-cwd. Remove fcntl-h, openat. * modules/openat-die (Depends-on): Add openat-h. Remove openat. * modules/readlinkat (Files): Add lib/at-func.c. (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, openat-h, save-cwd. Remove fcntl-h, openat. * modules/renameat (Depends-on): Add at-internal, openat-h. Remove openat. * modules/selinux-at (Files): Add lib/at-func.c. (Depends-on): Add at-internal, dosname, errno, extensions, fchdir, fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat. * modules/symlinkat (Files): Add lib/at-func.c. (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die, openat-h, save-cwd. Remove fcntl-h, openat. * modules/unlinkat (Files): Remove lib/openat.h. (Depends-on): Add at-internal, openat-h. Remove dirent, openat, stdbool. * modules/utimensat (Files): Add lib/at-func.c. (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h, openat-die, openat-h, save-cwd. * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat. * modules/fdutimensat-tests (Depends-on): Add openat. * modules/fstatat-tests (Depends-on): Add openat-h. * modules/readlinkat-tests (Depends-on): Add openat. * modules/symlinkat-tests (Depends-on): Add openat.
* openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.Bruno Haible2011-11-041-0/+1
| | | | | | | | * modules/fchmodat (Depends-on): Add openat-die. * modules/fchownat (Depends-on): Likewise. * modules/linkat (Depends-on): Likewise. * modules/renameat (Depends-on): Likewise. * modules/openat (Depends-on): Add dirent.
* New module 'fchmodat', split off from module 'openat'.Bruno Haible2011-11-021-0/+42
* lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is defined. * m4/fchmodat.m4: New file, extracted from m4/openat.m4. * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test for fchmodat, lchmod. Don't set HAVE_FCHMODAT. * modules/fchmodat: New file, extracted from modules/openat. * modules/openat (Files): Remove lib/fchmodat.c. (configure.ac): Remove AC_LIBOBJ of fchmodat. * modules/fchmodat-tests: New file, extracted from modules/openat-tests. * modules/openat-tests (Files): Remove tests/test-fchmodat.c. (Makefile.am): Remove rules for test-fchmodat. * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead of module 'openat'. * NEWS: Mention the change.