]> Savannah Git Hosting - gnulib.git/commit
chmodat, chownat: new modules
authorPaul Eggert <eggert@cs.ucla.edu>
Sat, 22 Feb 2020 20:09:11 +0000 (12:09 -0800)
committerPaul Eggert <eggert@cs.ucla.edu>
Sat, 22 Feb 2020 20:10:22 +0000 (12:10 -0800)
commitdd3ba651b6fae93d4fd1abe4b1632275548197bd
tree028e54d518e1275678277e5689cdf6e062c2e71b
parentc0a2d3240cc61e13591cff7ef267d80a4bbef001
chmodat, chownat: new modules

These are split from fchmodat, fchownat.  GNU Emacs needs the
POSIX-specified fchmodat, but not the gnulib-specified chmodat and
lchmodat.  Split the latter two into a new module chmodat.
Similarly for fchownat.  This the same basic idea for why statat
was split from fstatat on 2013-01-23.
* lib/chmodat.c, lib/openat.h (CHMODAT_INLINE):
Rename from FCHMODAT_INLINE.  All uses changed.
* lib/chownat.c, lib/openat.h (CHOWNAT_INLINE):
Rename from FCHOWNAT_INLINE.  All uses changed.
* lib/openat.h:
(chownat, lchownat): Define if GNULIB_CHOWNAT, not GNULIB_FCHOWNAT.
(chmodat, lchmodat): Define if GNULIB_CHMODAT, not GNULIB_FCHMODAT.
* modules/chmodat, modules/chownat, tests/test-chownat.c: New files.
* modules/fchmodat (Files:): Remove lib/fchmodat.c.
(configure.ac): Remove fchmodat module indicator.
(Makefile.am): Omit chmodat.c.
(Maintainer): Add self.
* modules/fchownat: Similarly, but for chown.
* tests/test-fchownat.c (BASE): Don't define if already defined.
(do_chown, do_lchown) [!TEST_CHOWNAT]: Test fchownat instead.
ChangeLog
lib/chmodat.c
lib/chownat.c
lib/openat.h
modules/chmodat [new file with mode: 0644]
modules/chownat [new file with mode: 0644]
modules/fchmodat
modules/fchownat
tests/test-chownat.c [new file with mode: 0644]
tests/test-fchownat.c