public inbox for glibc-cvs@sourceware.org help / color / mirror / Atom feed
From: Florian Weimer <fw@sourceware.org> To: glibc-cvs@sourceware.org Subject: [glibc] io: Implement lchmod using fchmodat [BZ #14578] Date: Wed, 12 Feb 2020 08:01:00 -0000 [thread overview] Message-ID: <20200212080151.64108.qmail@sourceware.org> (raw) https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6b89c385d8bd0700b25bac2c2d0bebe68d5cc05d commit 6b89c385d8bd0700b25bac2c2d0bebe68d5cc05d Author: Florian Weimer <fweimer@redhat.com> Date: Wed Jan 22 18:56:04 2020 +0100 io: Implement lchmod using fchmodat [BZ #14578] Diff: --- include/sys/stat.h | 1 + io/fchmodat.c | 1 + io/lchmod.c | 10 ++++------ sysdeps/mach/hurd/fchmodat.c | 1 + sysdeps/unix/sysv/linux/fchmodat.c | 1 + 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/include/sys/stat.h b/include/sys/stat.h index b82d452..92284ca 100644 --- a/include/sys/stat.h +++ b/include/sys/stat.h @@ -9,6 +9,7 @@ extern int __lstat (const char *__file, struct stat *__buf); extern int __chmod (const char *__file, __mode_t __mode); libc_hidden_proto (__chmod) extern int __fchmod (int __fd, __mode_t __mode); +libc_hidden_proto (fchmodat) extern __mode_t __umask (__mode_t __mask); extern int __mkdir (const char *__path, __mode_t __mode); libc_hidden_proto (__mkdir) diff --git a/io/fchmodat.c b/io/fchmodat.c index 7f3a07a..78895ac 100644 --- a/io/fchmodat.c +++ b/io/fchmodat.c @@ -42,3 +42,4 @@ fchmodat (int fd, const char *file, mode_t mode, int flag) return -1; } stub_warning (fchmodat) +libc_hidden_def (fchmodat) diff --git a/io/lchmod.c b/io/lchmod.c index 90b33a4..8b78803 100644 --- a/io/lchmod.c +++ b/io/lchmod.c @@ -1,4 +1,4 @@ -/* lchmod -- Change the protections of a file or symbolic link. Stub version. +/* lchmod -- Change the protections of a file or symbolic link. Generic version. Copyright (C) 2002-2020 Free Software Foundation, Inc. This file is part of the GNU C Library. @@ -17,15 +17,13 @@ <https://www.gnu.org/licenses/>. */ #include <errno.h> -#include <sys/stat.h> +#include <fcntl.h> #include <sys/types.h> +#include <unistd.h> /* Change the protections of FILE to MODE. */ int lchmod (const char *file, mode_t mode) { - __set_errno (ENOSYS); - return -1; + return fchmodat (AT_FDCWD, file, mode, AT_SYMLINK_NOFOLLOW); } - -stub_warning (lchmod) diff --git a/sysdeps/mach/hurd/fchmodat.c b/sysdeps/mach/hurd/fchmodat.c index cd227d5..d42f952 100644 --- a/sysdeps/mach/hurd/fchmodat.c +++ b/sysdeps/mach/hurd/fchmodat.c @@ -37,3 +37,4 @@ fchmodat (int fd, const char *file, mode_t mode, int flag) return __hurd_fail (err); return 0; } +libc_hidden_def (fchmodat) diff --git a/sysdeps/unix/sysv/linux/fchmodat.c b/sysdeps/unix/sysv/linux/fchmodat.c index 224439f..c41ebb2 100644 --- a/sysdeps/unix/sysv/linux/fchmodat.c +++ b/sysdeps/unix/sysv/linux/fchmodat.c @@ -38,3 +38,4 @@ fchmodat (int fd, const char *file, mode_t mode, int flag) return INLINE_SYSCALL (fchmodat, 3, fd, file, mode); } +libc_hidden_def (fchmodat)
reply other threads:[~2020-02-12 8:01 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20200212080151.64108.qmail@sourceware.org \ --to=fw@sourceware.org \ --cc=glibc-cvs@sourceware.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).