OLD | NEW |
1 #include <unistd.h> | 1 #include <unistd.h> |
2 #include <errno.h> | 2 #include <errno.h> |
3 #include <fcntl.h> | 3 #include <fcntl.h> |
4 #include "syscall.h" | 4 #include "syscall.h" |
5 | 5 |
6 void __procfdname(char *, unsigned); | 6 void __procfdname(char*, unsigned); |
7 | 7 |
8 int fchdir(int fd) | 8 int fchdir(int fd) { |
9 { | 9 int ret = __syscall(SYS_fchdir, fd); |
10 » int ret = __syscall(SYS_fchdir, fd); | 10 if (ret != -EBADF || __syscall(SYS_fcntl, fd, F_GETFD) < 0) |
11 » if (ret != -EBADF || __syscall(SYS_fcntl, fd, F_GETFD) < 0) | 11 return __syscall_ret(ret); |
12 » » return __syscall_ret(ret); | |
13 | 12 |
14 » char buf[15+3*sizeof(int)]; | 13 char buf[15 + 3 * sizeof(int)]; |
15 » __procfdname(buf, fd); | 14 __procfdname(buf, fd); |
16 » return syscall(SYS_chdir, buf); | 15 return syscall(SYS_chdir, buf); |
17 } | 16 } |
OLD | NEW |