[haiku-commits] haiku: hrev45172 - src/system/libroot/posix/unistd

  • From: korli@xxxxxxxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Fri, 18 Jan 2013 20:02:45 +0100 (CET)

hrev45172 adds 1 changeset to branch 'master'
old head: 4280f862ecceb60e1932d747ca9a45610795c7f4
new head: 89b48debc2e995d1eb430f931cbd12daa4a96e8b
overview: http://cgit.haiku-os.org/haiku/log/?qt=range&q=89b48de+%5E4280f86

----------------------------------------------------------------------------

89b48de: Correct errno return in link() function (bug #8770)
  
  * edited as pointed by Axel

                                [ Przemysław Buczkowski <przemub@xxxxxxxx> ]

----------------------------------------------------------------------------

Revision:    hrev45172
Commit:      89b48debc2e995d1eb430f931cbd12daa4a96e8b
URL:         http://cgit.haiku-os.org/haiku/commit/?id=89b48de
Author:      Przemysław Buczkowski <przemub@xxxxxxxx>
Date:        Fri Jan 18 19:00:26 2013 UTC
Committer:   Jerome Duval <jerome.duval@xxxxxxxxx>
Commit-Date: Fri Jan 18 19:00:26 2013 UTC

Ticket:      https://dev.haiku-os.org/ticket/8770

----------------------------------------------------------------------------

1 file changed, 7 insertions(+), 2 deletions(-)
src/system/libroot/posix/unistd/link.c | 9 +++++++--

----------------------------------------------------------------------------

diff --git a/src/system/libroot/posix/unistd/link.c 
b/src/system/libroot/posix/unistd/link.c
index 491e275..74ab991 100644
--- a/src/system/libroot/posix/unistd/link.c
+++ b/src/system/libroot/posix/unistd/link.c
@@ -1,5 +1,5 @@
 /*
- * Copyright 2002-2009, Axel Dörfler, axeld@xxxxxxxxxxxxxxxx.
+ * Copyright 2002-2013, Axel Dörfler, axeld@xxxxxxxxxxxxxxxx.
  * Distributed under the terms of the MIT License.
  */
 
@@ -76,7 +76,12 @@ unlinkat(int fd, const char *path, int flag)
 int
 link(const char *toPath, const char *linkPath)
 {
-       RETURN_AND_SET_ERRNO(_kern_create_link(-1, linkPath, -1, toPath, true));
+       int status = _kern_create_link(-1, linkPath, -1, toPath, true);
+       // Haiku -> POSIX error mapping
+       if (status == B_UNSUPPORTED)
+               status = EPERM;
+
+       RETURN_AND_SET_ERRNO(status);
 }
 
 


Other related posts:

  • » [haiku-commits] haiku: hrev45172 - src/system/libroot/posix/unistd - korli