Changeset 84192 in vbox for trunk/src/VBox/Runtime/common/vfs
- Timestamp:
- May 7, 2020 8:56:01 PM (5 years ago)
- svn:sync-xref-src-repo-rev:
- 137800
- Location:
- trunk/src/VBox/Runtime/common/vfs
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/vfs/vfsbase.cpp
r82968 r84192 813 813 *ppvInstance = pThis->pvThis; 814 814 return VINF_SUCCESS; 815 } 816 817 818 RTDECL(void *) RTVfsObjToPrivate(RTVFSOBJ hVfsObj, PCRTVFSOBJOPS pObjOps) 819 { 820 RTVFSOBJINTERNAL *pThis = hVfsObj; 821 AssertPtrReturn(pThis, NULL); 822 AssertReturn(pThis->uMagic == RTVFSOBJ_MAGIC, NULL); 823 if (pThis->pOps != pObjOps) 824 return NULL; 825 return pThis->pvThis; 815 826 } 816 827 … … 2282 2293 2283 2294 2284 RTDECL(int) RTVfsNewFsStream(PCRTVFSFSSTREAMOPS pFsStreamOps, size_t cbInstance, RTVFS hVfs, RTVFSLOCK hLock, bool fReadOnly,2295 RTDECL(int) RTVfsNewFsStream(PCRTVFSFSSTREAMOPS pFsStreamOps, size_t cbInstance, RTVFS hVfs, RTVFSLOCK hLock, uint32_t fAccess, 2285 2296 PRTVFSFSSTREAM phVfsFss, void **ppvInstance) 2286 2297 { … … 2293 2304 Assert(!pFsStreamOps->fReserved); 2294 2305 RTVFSOBJ_ASSERT_OPS(&pFsStreamOps->Obj, RTVFSOBJTYPE_FS_STREAM); 2295 if (fReadOnly) 2306 Assert((fAccess & (RTFILE_O_READ | RTFILE_O_WRITE)) == fAccess); 2307 Assert(fAccess); 2308 if (fAccess & RTFILE_O_READ) 2296 2309 AssertPtr(pFsStreamOps->pfnNext); 2297 else2310 if (fAccess & RTFILE_O_WRITE) 2298 2311 { 2299 2312 AssertPtr(pFsStreamOps->pfnAdd); … … 2324 2337 2325 2338 pThis->uMagic = RTVFSFSSTREAM_MAGIC; 2326 pThis->fFlags = fReadOnly2327 ? RTFILE_O_READ | RTFILE_O_OPEN | RTFILE_O_DENY_NONE2328 : RTFILE_O_WRITE | RTFILE_O_CREATE | RTFILE_O_DENY_ALL;2329 2339 pThis->pOps = pFsStreamOps; 2340 pThis->fFlags = fAccess; 2341 if (fAccess == RTFILE_O_READ) 2342 pThis->fFlags |= RTFILE_O_OPEN | RTFILE_O_DENY_NONE; 2343 else if (fAccess == RTFILE_O_WRITE) 2344 pThis->fFlags |= RTFILE_O_CREATE | RTFILE_O_DENY_ALL; 2345 else 2346 pThis->fFlags |= RTFILE_O_OPEN | RTFILE_O_DENY_ALL; 2330 2347 2331 2348 *phVfsFss = pThis; … … 3277 3294 3278 3295 3296 RTDECL(void *) RTVfsSymlinkToPrivate(RTVFSSYMLINK hVfsSym, PCRTVFSSYMLINKOPS pSymlinkOps) 3297 { 3298 RTVFSSYMLINKINTERNAL *pThis = hVfsSym; 3299 AssertPtrReturn(pThis, NULL); 3300 AssertReturn(pThis->uMagic == RTVFSSYMLINK_MAGIC, NULL); 3301 if (pThis->pOps != pSymlinkOps) 3302 return NULL; 3303 return pThis->Base.pvThis; 3304 } 3305 3306 3279 3307 RTDECL(uint32_t) RTVfsSymlinkRetain(RTVFSSYMLINK hVfsSym) 3280 3308 { -
trunk/src/VBox/Runtime/common/vfs/vfsfss2dir.cpp
r82968 r84192 311 311 PRTVFSFSSWRITE2DIR pThis; 312 312 RTVFSFSSTREAM hVfsFss; 313 int rc = RTVfsNewFsStream(&g_rtVfsFssToDirOps, sizeof(*pThis), NIL_RTVFS, NIL_RTVFSLOCK, false /*fReadOnly*/,313 int rc = RTVfsNewFsStream(&g_rtVfsFssToDirOps, sizeof(*pThis), NIL_RTVFS, NIL_RTVFSLOCK, RTFILE_O_WRITE, 314 314 &hVfsFss, (void **)&pThis); 315 315 if (RT_SUCCESS(rc)) … … 370 370 RTVFSFSSTREAM hVfsFss; 371 371 rc = RTVfsNewFsStream(&g_rtVfsFssToDirOps, RT_UOFFSETOF_DYN(RTVFSFSSWRITE2DIR, szBaseDir[cbBaseDir]), 372 NIL_RTVFS, NIL_RTVFSLOCK, false /*fReadOnly*/, &hVfsFss, (void **)&pThis);372 NIL_RTVFS, NIL_RTVFSLOCK, RTFILE_O_WRITE, &hVfsFss, (void **)&pThis); 373 373 if (RT_SUCCESS(rc)) 374 374 {
Note:
See TracChangeset
for help on using the changeset viewer.