Fix directory permissions not set correctly on VxWorks
In commit e275db9d885ccccc3def4d52c2dae2f8c062df1a, changes were made to handling directory creation in qfilesystem_unix.cpp. These changes missed VxWorks-specific case where its system `mkdir` function treats permissions of `000` as `default permissions`. This is causing failure of `tst_QDir::mkdirWithPermissions(0000)` test. To fix this, use `forceRequestedPermissionsOnVxWorks` function for VxWorks in `QFileSystemEngine::mkdir`. Fixes: QTBUG-130737 Task-number: QTBUG-115777 Change-Id: I16fc36448693050c7c92096d804a1caeb7e65115 Reviewed-by: Ahmad Samir <a.samirh78@gmail.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
parent
75617efe23
commit
2cf12a6bae
@ -1193,7 +1193,12 @@ bool QFileSystemEngine::mkdir(const QFileSystemEntry &entry,
|
||||
Q_CHECK_FILE_NAME(path, false);
|
||||
|
||||
mode_t mode = permissions ? QtPrivate::toMode_t(*permissions) : 0777;
|
||||
return QT_MKDIR(removeTrailingSlashes(path), mode) == 0;
|
||||
auto result = QT_MKDIR(removeTrailingSlashes(path), mode) == 0;
|
||||
#if defined(Q_OS_VXWORKS)
|
||||
if (result)
|
||||
forceRequestedPermissionsOnVxWorks(path, mode);
|
||||
#endif
|
||||
return result;
|
||||
}
|
||||
|
||||
bool QFileSystemEngine::rmdir(const QFileSystemEntry &entry)
|
||||
|
Loading…
x
Reference in New Issue
Block a user