mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-27 03:41:23 +08:00
Add xfchmod to libsupport
This commit is contained in:
parent
a7e9dbb774
commit
7a72265436
@ -96,6 +96,7 @@ libsupport-routines = \
|
|||||||
xdlfcn \
|
xdlfcn \
|
||||||
xdlmopen \
|
xdlmopen \
|
||||||
xdup2 \
|
xdup2 \
|
||||||
|
xfchmod \
|
||||||
xfclose \
|
xfclose \
|
||||||
xfopen \
|
xfopen \
|
||||||
xfork \
|
xfork \
|
||||||
|
28
support/xfchmod.c
Normal file
28
support/xfchmod.c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/* fchmod with error checking.
|
||||||
|
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||||
|
This file is part of the GNU C Library.
|
||||||
|
|
||||||
|
The GNU C Library is free software; you can redistribute it and/or
|
||||||
|
modify it under the terms of the GNU Lesser General Public
|
||||||
|
License as published by the Free Software Foundation; either
|
||||||
|
version 2.1 of the License, or (at your option) any later version.
|
||||||
|
|
||||||
|
The GNU C Library is distributed in the hope that it will be useful,
|
||||||
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
Lesser General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU Lesser General Public
|
||||||
|
License along with the GNU C Library; if not, see
|
||||||
|
<https://www.gnu.org/licenses/>. */
|
||||||
|
|
||||||
|
#include <support/check.h>
|
||||||
|
#include <support/xunistd.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
|
||||||
|
void
|
||||||
|
xfchmod (int fd, mode_t mode)
|
||||||
|
{
|
||||||
|
if (fchmod (fd, mode) != 0)
|
||||||
|
FAIL_EXIT1 ("fchmod (%d, 0%o): %m", fd, mode);
|
||||||
|
}
|
@ -46,6 +46,7 @@ long long xlseek (int fd, long long offset, int whence);
|
|||||||
void xftruncate (int fd, long long length);
|
void xftruncate (int fd, long long length);
|
||||||
void xsymlink (const char *target, const char *linkpath);
|
void xsymlink (const char *target, const char *linkpath);
|
||||||
void xchdir (const char *path);
|
void xchdir (const char *path);
|
||||||
|
void xfchmod (int fd, mode_t mode);
|
||||||
|
|
||||||
/* Equivalent of "mkdir -p". */
|
/* Equivalent of "mkdir -p". */
|
||||||
void xmkdirp (const char *, mode_t);
|
void xmkdirp (const char *, mode_t);
|
||||||
|
Loading…
Reference in New Issue
Block a user