summaryrefslogtreecommitdiff
path: root/sysdeps/mach/hurd/linkat.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@redhat.com>2010-06-15 10:07:36 +0200
committerAndreas Schwab <schwab@redhat.com>2010-06-15 10:09:30 +0200
commit7314e378e3b0b2a6ea2f0bd7e77cd43a59e38a88 (patch)
treeabe81dc7c6f5cb9b3ed94c84159d180c1bcb5431 /sysdeps/mach/hurd/linkat.c
parent16552c01a66633c9e412984d9d92616bd4e5303c (diff)
parent765ade4b29d9fcc4b236b4f3ae5bfd1174978442 (diff)
Merge remote branch 'origin/master' into fedora/master
Diffstat (limited to 'sysdeps/mach/hurd/linkat.c')
-rw-r--r--sysdeps/mach/hurd/linkat.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sysdeps/mach/hurd/linkat.c b/sysdeps/mach/hurd/linkat.c
index 1942144e0f..062d913e3d 100644
--- a/sysdeps/mach/hurd/linkat.c
+++ b/sysdeps/mach/hurd/linkat.c
@@ -1,5 +1,5 @@
/* Make a link between file names relative to open directories. Hurd version.
- Copyright (C) 2006 Free Software Foundation, Inc.
+ Copyright (C) 2006,2010 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
@@ -38,7 +38,9 @@ linkat (fromfd, from, tofd, to, flags)
file_t oldfile, linknode, todir;
char *toname;
- oldfile = __file_name_lookup_at (fromfd, flags, from, 0, 0);
+ /* POSIX says linkat doesn't follow symlinks by default, so pass
+ O_NOLINK. That can be overridden by AT_SYMLINK_FOLLOW in FLAGS. */
+ oldfile = __file_name_lookup_at (fromfd, flags, from, O_NOLINK, 0);
if (oldfile == MACH_PORT_NULL)
return -1;