Changeset 31309 in vbox for trunk/src/VBox/Runtime
- Timestamp:
- Aug 2, 2010 2:58:35 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/r3/posix/path-posix.cpp
r31302 r31309 644 644 LogFlow(("RTPathSetOwnerEx(%p:{%s}, uid, gid): return %Rrc\n", 645 645 pszPath, pszPath, uid, gid, rc)); 646 return rc; 647 } 648 649 650 RTR3DECL(int) RTPathSetMode(const char *pszPath, RTFMODE fMode) 651 { 652 AssertPtrReturn(pszPath, VERR_INVALID_POINTER); 653 AssertReturn(*pszPath, VERR_INVALID_PARAMETER); 654 655 int rc; 656 fMode = rtFsModeNormalize(fMode, pszPath, 0); 657 if (rtFsModeIsValidPermissions(fMode)) 658 { 659 char const *pszNativePath; 660 rc = rtPathToNative(&pszNativePath, pszPath, NULL); 661 if (RT_SUCCESS(rc)) 662 { 663 char szRealPath[RTPATH_MAX]; 664 rc = RTPathReal(pszPath, szRealPath, sizeof(szRealPath)); 665 if (RT_SUCCESS(rc)) 666 { 667 if (chmod(szRealPath, fMode & RTFS_UNIX_MASK) < 0) 668 rc = RTErrConvertFromErrno(errno); 669 } 670 rtPathFreeNative(pszNativePath, pszPath); 671 } 672 } 673 else 674 { 675 AssertMsgFailed(("Invalid file mode! %RTfmode\n", fMode)); 676 rc = VERR_INVALID_FMODE; 677 } 646 678 return rc; 647 679 }
Note:
See TracChangeset
for help on using the changeset viewer.