summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pw/cpdir.c
diff options
context:
space:
mode:
authorjkim <jkim@FreeBSD.org>2011-03-08 20:13:29 +0000
committerjkim <jkim@FreeBSD.org>2011-03-08 20:13:29 +0000
commit2a03b255b471fc1ac6c37a22ff21c67922e8c129 (patch)
tree6d23b0f9e404fe38809971fd8e1c01bee24b0d0c /usr.sbin/pw/cpdir.c
parent8a28fc08af90ae83c8aee55e730f4b572d83d418 (diff)
downloadFreeBSD-src-2a03b255b471fc1ac6c37a22ff21c67922e8c129.zip
FreeBSD-src-2a03b255b471fc1ac6c37a22ff21c67922e8c129.tar.gz
Stop hard-coding default directory mode as 0777.
Diffstat (limited to 'usr.sbin/pw/cpdir.c')
-rw-r--r--usr.sbin/pw/cpdir.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/usr.sbin/pw/cpdir.c b/usr.sbin/pw/cpdir.c
index f370421..017c200 100644
--- a/usr.sbin/pw/cpdir.c
+++ b/usr.sbin/pw/cpdir.c
@@ -41,6 +41,7 @@ static const char rcsid[] =
#include <sys/param.h>
#include <dirent.h>
+#include "pw.h"
#include "pwupd.h"
void
@@ -81,7 +82,7 @@ copymkdir(char const * dir, char const * skel, mode_t mode, uid_t uid, gid_t gid
else {
if (S_ISDIR(st.st_mode)) { /* Recurse for this */
if (strcmp(e->d_name, ".") != 0 && strcmp(e->d_name, "..") != 0)
- copymkdir(dst, src, (st.st_mode & 0777), uid, gid);
+ copymkdir(dst, src, st.st_mode & _DEF_DIRMODE, uid, gid);
chflags(dst, st.st_flags); /* propogate flags */
} else if (S_ISLNK(st.st_mode) && (len = readlink(src, lnk, sizeof(lnk))) != -1) {
lnk[len] = '\0';
OpenPOWER on IntegriCloud