From 6fcd60ddd903df13402704fe6026cb1f8e780fd7 Mon Sep 17 00:00:00 2001 From: Rich Felker Date: Thu, 6 Sep 2018 13:39:08 -0400 Subject: [PATCH] move and deduplicate declarations of __procfdname to make it checkable syscall.h was chosen as the header to declare it, since its intended usage is alongside syscalls as a fallback for operations the direct syscall does not support. --- src/internal/procfdname.c | 2 ++ src/internal/syscall.h | 2 ++ src/misc/realpath.c | 2 -- src/process/fexecve.c | 2 -- src/stat/fchmod.c | 2 -- src/stat/fchmodat.c | 2 -- src/stat/fstat.c | 2 -- src/unistd/fchdir.c | 2 -- src/unistd/fchown.c | 2 -- src/unistd/ttyname_r.c | 3 +-- 10 files changed, 5 insertions(+), 16 deletions(-) diff --git a/src/internal/procfdname.c b/src/internal/procfdname.c index 697e0bdc..fd7306ab 100644 --- a/src/internal/procfdname.c +++ b/src/internal/procfdname.c @@ -1,3 +1,5 @@ +#include "syscall.h" + void __procfdname(char *buf, unsigned fd) { unsigned i, j; diff --git a/src/internal/syscall.h b/src/internal/syscall.h index c12a46cd..5737f3a2 100644 --- a/src/internal/syscall.h +++ b/src/internal/syscall.h @@ -244,4 +244,6 @@ hidden long __syscall_ret(unsigned long), __syscall(syscall_arg_t, ...), #define __sys_open_cp(...) __SYSCALL_DISP(__sys_open_cp,,__VA_ARGS__) #define sys_open_cp(...) __syscall_ret(__sys_open_cp(__VA_ARGS__)) +void __procfdname(char [static 15+3*sizeof(int)], unsigned); + #endif diff --git a/src/misc/realpath.c b/src/misc/realpath.c index 88c849cd..d2708e59 100644 --- a/src/misc/realpath.c +++ b/src/misc/realpath.c @@ -7,8 +7,6 @@ #include #include "syscall.h" -void __procfdname(char *, unsigned); - char *realpath(const char *restrict filename, char *restrict resolved) { int fd; diff --git a/src/process/fexecve.c b/src/process/fexecve.c index 8be3f760..554c1981 100644 --- a/src/process/fexecve.c +++ b/src/process/fexecve.c @@ -4,8 +4,6 @@ #include #include "syscall.h" -void __procfdname(char *, unsigned); - int fexecve(int fd, char *const argv[], char *const envp[]) { int r = __syscall(SYS_execveat, fd, "", argv, envp, AT_EMPTY_PATH); diff --git a/src/stat/fchmod.c b/src/stat/fchmod.c index 93e1b64c..7a503eef 100644 --- a/src/stat/fchmod.c +++ b/src/stat/fchmod.c @@ -3,8 +3,6 @@ #include #include "syscall.h" -void __procfdname(char *, unsigned); - int fchmod(int fd, mode_t mode) { int ret = __syscall(SYS_fchmod, fd, mode); diff --git a/src/stat/fchmodat.c b/src/stat/fchmodat.c index d94667ae..be61bdf3 100644 --- a/src/stat/fchmodat.c +++ b/src/stat/fchmodat.c @@ -3,8 +3,6 @@ #include #include "syscall.h" -void __procfdname(char *, unsigned); - int fchmodat(int fd, const char *path, mode_t mode, int flag) { if (!flag) return syscall(SYS_fchmodat, fd, path, mode, flag); diff --git a/src/stat/fstat.c b/src/stat/fstat.c index ab4afc0f..f6d16522 100644 --- a/src/stat/fstat.c +++ b/src/stat/fstat.c @@ -4,8 +4,6 @@ #include "syscall.h" #include "libc.h" -void __procfdname(char *, unsigned); - int fstat(int fd, struct stat *st) { int ret = __syscall(SYS_fstat, fd, st); diff --git a/src/unistd/fchdir.c b/src/unistd/fchdir.c index 72c3915e..dee45ba6 100644 --- a/src/unistd/fchdir.c +++ b/src/unistd/fchdir.c @@ -3,8 +3,6 @@ #include #include "syscall.h" -void __procfdname(char *, unsigned); - int fchdir(int fd) { int ret = __syscall(SYS_fchdir, fd); diff --git a/src/unistd/fchown.c b/src/unistd/fchown.c index 75075eec..737b3672 100644 --- a/src/unistd/fchown.c +++ b/src/unistd/fchown.c @@ -3,8 +3,6 @@ #include #include "syscall.h" -void __procfdname(char *, unsigned); - int fchown(int fd, uid_t uid, gid_t gid) { int ret = __syscall(SYS_fchown, fd, uid, gid); diff --git a/src/unistd/ttyname_r.c b/src/unistd/ttyname_r.c index 33aa4ae1..cb364c29 100644 --- a/src/unistd/ttyname_r.c +++ b/src/unistd/ttyname_r.c @@ -1,8 +1,7 @@ #include #include #include - -void __procfdname(char *, unsigned); +#include "syscall.h" int ttyname_r(int fd, char *name, size_t size) { -- 2.25.1