From 2239c25b29a579dc7692f40c653a8f8b75c0e1be Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Fri, 2 May 2008 12:39:17 +0000 Subject: [PATCH] Fixed warnings. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25289 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/libroot/os/find_directory.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/system/libroot/os/find_directory.c b/src/system/libroot/os/find_directory.c index f91808cdd0..c8bdd37093 100644 --- a/src/system/libroot/os/find_directory.c +++ b/src/system/libroot/os/find_directory.c @@ -280,10 +280,6 @@ find_directory(directory_which which, dev_t device, bool createIt, err = B_OK; if (template) { if (!strncmp(template, "$h", 2)) { - struct passwd pwBuffer; - char pwStringBuffer[MAX_PASSWD_BUFFER_SIZE]; - struct passwd *pw; - if (bootDevice > -1 && device != bootDevice) { int l = pathLength - strlen(buffer); if (l > 5) @@ -291,6 +287,10 @@ find_directory(directory_which which, dev_t device, bool createIt, } else { #ifndef _KERNEL_MODE #ifdef USE_PWENTS + struct passwd pwBuffer; + char pwStringBuffer[MAX_PASSWD_BUFFER_SIZE]; + struct passwd *pw; + if (getpwuid_r(geteuid(), &pwBuffer, pwStringBuffer, sizeof(pwStringBuffer), &pw) == 0) { home = pw->pw_dir; @@ -309,9 +309,9 @@ find_directory(directory_which which, dev_t device, bool createIt, } else strlcat(buffer, "/", pathLength); - if (!err && strlen(buffer) + 2 + strlen(template) < (uint32)pathLength) { + if (!err && strlen(buffer) + 2 + strlen(template) < (uint32)pathLength) strcat(buffer, template); - } else + else err = err ? err : E2BIG; } else err = err ? err : ENOENT;