diff options
author | Jaroslaw Swierczynski <swiergot@juvepoland.com> | 2008-01-13 15:06:25 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2008-01-13 18:42:26 -0600 |
commit | 801a26805663b0a79bf619a0fec853293806969b (patch) | |
tree | 5aa98bb51eca524bb9914dc9d86f25901b0741ae /lib/libalpm/util.c | |
parent | 549c2878f965e5b6cb001ff3c8c5e3122becf8e1 (diff) | |
download | pacman-801a26805663b0a79bf619a0fec853293806969b.tar.xz |
FS#9183 : force correct permissions on tmp/.
[Xav: removed unneeded makepath_internal function, and fixed the permission
value : 1777 -> 01777]
Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm/util.c')
-rw-r--r-- | lib/libalpm/util.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c index 5959482d..e1413a25 100644 --- a/lib/libalpm/util.c +++ b/lib/libalpm/util.c @@ -178,9 +178,14 @@ char* strsep(char** str, const char* delims) } #endif -/* does the same thing as 'mkdir -p' */ int _alpm_makepath(const char *path) { + return(_alpm_makepath_mode(path, 0755)); +} + +/* does the same thing as 'mkdir -p' */ +int _alpm_makepath_mode(const char *path, mode_t mode) +{ char *orig, *str, *ptr; char full[PATH_MAX] = ""; mode_t oldmask; @@ -196,7 +201,7 @@ int _alpm_makepath(const char *path) strcat(full, "/"); strcat(full, ptr); if(stat(full, &buf)) { - if(mkdir(full, 0755)) { + if(mkdir(full, mode)) { FREE(orig); umask(oldmask); _alpm_log(PM_LOG_ERROR, _("failed to make path '%s' : %s\n"), |