From 748988ae1f06fa74d59953be19ac4d62d80c15b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sat, 12 Jan 2008 13:17:59 +0000 Subject: [PATCH] mkdir() is supposed to respect the umask when creating the directory. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23438 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/libroot/posix/sys/mkdir.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/system/libroot/posix/sys/mkdir.c b/src/system/libroot/posix/sys/mkdir.c index ccfc4cba3b..25b53fcae6 100644 --- a/src/system/libroot/posix/sys/mkdir.c +++ b/src/system/libroot/posix/sys/mkdir.c @@ -1,5 +1,5 @@ /* - * Copyright 2002-2007, Axel Dörfler, axeld@pinc-software.de. All rights reserved. + * Copyright 2002-2008, Axel Dörfler, axeld@pinc-software.de. All rights reserved. * Distributed under the terms of the MIT License. */ @@ -9,6 +9,10 @@ #include +extern mode_t __gUmask; + // declared in sys/umask.c + + #define RETURN_AND_SET_ERRNO(err) \ if (err < 0) { \ errno = err; \ @@ -20,7 +24,7 @@ int mkdir(const char* path, mode_t mode) { - status_t status = _kern_create_dir(-1, path, mode); + status_t status = _kern_create_dir(-1, path, mode & ~__gUmask); RETURN_AND_SET_ERRNO(status); }