"Steven Edwards" steven_ed4153@yahoo.com wrote:
+int sys_mkdir(const char *path, mode_t mode) +{ +#ifdef HAVE_MKDIR_MODE
- return mkdir(path, mode);
+#else
- return mkdir(path);
+#endif +}
Wouldn't it be better to emulate
mkdir(path, mode);
with
mkdir(path); chmod(path, mode);
Dmitry Timoshkov wrote:
"Steven Edwards" steven_ed4153@yahoo.com wrote:
+int sys_mkdir(const char *path, mode_t mode) +{ +#ifdef HAVE_MKDIR_MODE
- return mkdir(path, mode);
+#else
- return mkdir(path);
+#endif +}
Wouldn't it be better to emulate
mkdir(path, mode);
with
mkdir(path); chmod(path, mode);
No, that's introducing a race between the directory creation and the mode setting. Also, the first form takes umask into consideration, which the second doesn't.
Shachar