Hash :
2f1bb591
Author :
Date :
2022-06-22T01:43:52
chmod: New module. * lib/sys_stat.in.h (chmod): Declare when GNULIB_CHMOD is 1. * lib/chmod.c: New file, based on lib/lchmod.c. * m4/chmod.m4: New file, based on m4/fchmodat.m4. * m4/sys_stat_h.m4 (gl_SYS_STAT_H): Test whether chmod is declared. (gl_SYS_STAT_H_REQUIRE_DEFAULTS): Initialize GNULIB_CHMOD. (gl_SYS_STAT_H_DEFAULTS): Initialize REPLACE_CHMOD. * modules/sys_stat (Makefile.am): Substitute GNULIB_CHMOD, REPLACE_CHMOD. * modules/chmod: New file, based on modules/lchmod. * doc/posix-functions/chmod.texi: Mention the new module and the problems on IRIX and Windows.
@node chmod
@section @code{chmod}
@findex chmod
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9699919799/functions/chmod.html}
Gnulib module: chmod
Portability problems fixed by Gnulib:
@itemize
@item
This function does not fail when the file name argument ends in a slash
and (without the slash) names a non-directory, on some platforms:
AIX 7.2, IRIX 6.5.
@item
This function fails with a wrong error code (EINVAL instead of ENOTDIR)
when the file name argument ends in a slash and (without the slash) names
a non-directory, on some platforms:
mingw, MSVC.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@end itemize