diff options
author | Ulrich Drepper <drepper@redhat.com> | 2006-02-27 21:45:10 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2006-02-27 21:45:10 +0000 |
commit | f39008b26550c574764aaec7aa063df52d6e021e (patch) | |
tree | 4e5d8e0c556dd7fb7a72a1fd79cf145e8bed2229 | |
parent | c804fb5f4e31447ff601bce0ccef996d7efa2552 (diff) | |
download | glibc-f39008b26550c574764aaec7aa063df52d6e021e.tar.gz glibc-f39008b26550c574764aaec7aa063df52d6e021e.tar.xz glibc-f39008b26550c574764aaec7aa063df52d6e021e.zip |
* sysdeps/unix/sysv/linux/linkat.c (linkat): Allow flags to be set
when syscall is used. * io/fcntl.h (AT_SYMLINK_FOLLOW): Define.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/linkat.c | 14 |
2 files changed, 13 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog index d7817a0657..dfdfbb7586 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2006-02-27 Ulrich Drepper <drepper@redhat.com> + + * sysdeps/unix/sysv/linux/linkat.c (linkat): Allow flags to be set + when syscall is used. + * io/fcntl.h (AT_SYMLINK_FOLLOW): Define. + 2006-02-26 Roland McGrath <roland@redhat.com> * sysdeps/unix/common/Makefile: File removed. diff --git a/sysdeps/unix/sysv/linux/linkat.c b/sysdeps/unix/sysv/linux/linkat.c index e1faf9db56..cfd0e18223 100644 --- a/sysdeps/unix/sysv/linux/linkat.c +++ b/sysdeps/unix/sysv/linux/linkat.c @@ -37,13 +37,6 @@ linkat (fromfd, from, tofd, to, flags) { int result; - // XXX Will be removed once the kernel support is in place. - if (flags != 0) - { - __set_errno (EINVAL); - return -1; - } - #ifdef __NR_linkat # ifndef __ASSUME_ATFCTS if (__have_atfcts >= 0) @@ -60,6 +53,13 @@ linkat (fromfd, from, tofd, to, flags) #endif #ifndef __ASSUME_ATFCTS + /* Without kernel support we cannot handle AT_SYMLINK_FOLLOW. */ + if (flags != 0) + { + __set_errno (EINVAL); + return -1; + } + static const char procfd[] = "/proc/self/fd/%d/%s"; char *buffrom = NULL; |