aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Seebach <peter.seebach@windriver.com>2014-01-23 15:11:31 -0600
committerPeter Seebach <peter.seebach@windriver.com>2014-01-23 15:11:31 -0600
commita6fe8e6d09f3579f5a967aac9e8cb2f212136eb7 (patch)
tree2b7c461367851a996f8310aeec28406bcc5f7c1e
parentbcef41d77efa2355e9ce1907cb1c67b16a23912a (diff)
downloadpseudo-a6fe8e6d09f3579f5a967aac9e8cb2f212136eb7.tar.gz
pseudo-a6fe8e6d09f3579f5a967aac9e8cb2f212136eb7.tar.bz2
pseudo-a6fe8e6d09f3579f5a967aac9e8cb2f212136eb7.zip
mkdir was storing/reporting modes with 0700 added
-rw-r--r--ChangeLog.txt1
-rw-r--r--ports/unix/guts/mkdirat.c1
2 files changed, 2 insertions, 0 deletions
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 710a810..d4fdeec 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,5 +1,6 @@
2014-01-23:
* (seebs) mknod wasn't calling mknodat.
+ * (seebs) mkdirat wasn't recording the logical DB mode for directories
2014-01-22:
* (seebs) notes on some Futures planning.
diff --git a/ports/unix/guts/mkdirat.c b/ports/unix/guts/mkdirat.c
index a8fd825..5f97ab5 100644
--- a/ports/unix/guts/mkdirat.c
+++ b/ports/unix/guts/mkdirat.c
@@ -25,6 +25,7 @@
stat_rc = base_fstatat(dirfd, path, &buf, AT_SYMLINK_NOFOLLOW);
#endif
if (stat_rc != -1) {
+ buf.st_mode = PSEUDO_DB_MODE(buf.st_mode, mode);
pseudo_client_op(OP_MKDIR, 0, -1, dirfd, path, &buf);
} else {
pseudo_debug(PDBGF_OP, "mkdir of %s succeeded, but stat failed: %s\n",