Changeset 94291 in vbox for trunk/src/VBox/Runtime
- Timestamp:
- Mar 17, 2022 1:29:52 PM (3 years ago)
- Location:
- trunk/src/VBox/Runtime/common
- Files:
-
- 24 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/checksum/manifest3.cpp
r93115 r94291 506 506 rtManifestPtIos_Close, 507 507 rtManifestPtIos_QueryInfo, 508 NULL, 508 509 RTVFSOBJOPS_VERSION 509 510 }, -
trunk/src/VBox/Runtime/common/dvm/dvmvfs.cpp
r93115 r94291 485 485 rtDvmVfsFile_Close, 486 486 rtDvmVfsFile_QueryInfo, 487 NULL, 487 488 RTVFSOBJOPS_VERSION 488 489 }, … … 643 644 rtDvmVfsSym_Close, 644 645 rtDvmVfsSym_QueryInfo, 646 NULL, 645 647 RTVFSOBJOPS_VERSION 646 648 }, … … 1216 1218 rtDvmVfsDir_Close, 1217 1219 rtDvmVfsDir_QueryInfo, 1220 NULL, 1218 1221 RTVFSOBJOPS_VERSION 1219 1222 }, … … 1312 1315 rtDvmVfsVol_Close, 1313 1316 rtDvmVfsVol_QueryInfo, 1317 NULL, 1314 1318 RTVFSOBJOPS_VERSION 1315 1319 }, -
trunk/src/VBox/Runtime/common/efi/efivarstorevfs.cpp
r93283 r94291 1267 1267 rtEfiVarStoreFile_Close, 1268 1268 rtEfiVarStoreFile_QueryInfo, 1269 NULL, 1269 1270 RTVFSOBJOPS_VERSION 1270 1271 }, … … 1851 1852 rtEfiVarStoreDir_Close, 1852 1853 rtEfiVarStoreDir_QueryInfo, 1854 NULL, 1853 1855 RTVFSOBJOPS_VERSION 1854 1856 }, … … 2018 2020 /* .pfnClose = */ rtEfiVarStore_Close, 2019 2021 /* .pfnQueryInfo = */ rtEfiVarStore_QueryInfo, 2022 /* .pfnQueryInfoEx = */ NULL, 2020 2023 /* .uEndMarker = */ RTVFSOBJOPS_VERSION 2021 2024 }, -
trunk/src/VBox/Runtime/common/fs/extvfs.cpp
r93115 r94291 1910 1910 rtFsExtFile_Close, 1911 1911 rtFsExtFile_QueryInfo, 1912 NULL, 1912 1913 RTVFSOBJOPS_VERSION 1913 1914 }, … … 2338 2339 rtFsExtDir_Close, 2339 2340 rtFsExtDir_QueryInfo, 2341 NULL, 2340 2342 RTVFSOBJOPS_VERSION 2341 2343 }, … … 2575 2577 /* .pfnClose = */ rtFsExtVol_Close, 2576 2578 /* .pfnQueryInfo = */ rtFsExtVol_QueryInfo, 2579 /* .pfnQueryInfoEx = */ NULL, 2577 2580 /* .uEndMarker = */ RTVFSOBJOPS_VERSION 2578 2581 }, -
trunk/src/VBox/Runtime/common/fs/fatvfs.cpp
r93115 r94291 2566 2566 rtFsFatFile_Close, 2567 2567 rtFsFatFile_QueryInfo, 2568 NULL, 2568 2569 RTVFSOBJOPS_VERSION 2569 2570 }, … … 4635 4636 rtFsFatDir_Close, 4636 4637 rtFsFatDir_QueryInfo, 4638 NULL, 4637 4639 RTVFSOBJOPS_VERSION 4638 4640 }, … … 5001 5003 rtFsFatVol_Close, 5002 5004 rtFsFatVol_QueryInfo, 5005 NULL, 5003 5006 RTVFSOBJOPS_VERSION 5004 5007 }, -
trunk/src/VBox/Runtime/common/fs/isomaker.cpp
r93118 r94291 7454 7454 rtFsIsoMakerOutFile_Close, 7455 7455 rtFsIsoMakerOutFile_QueryInfo, 7456 NULL, 7456 7457 RTVFSOBJOPS_VERSION 7457 7458 }, -
trunk/src/VBox/Runtime/common/fs/isovfs.cpp
r94282 r94291 131 131 { \ 132 132 PCRTUTF16 pwszTmp = (PCRTUTF16)&(a_pStruct)->a_Member[1]; \ 133 char *pszTmp= NULL; \133 char *pszTmp = NULL; \ 134 134 RTUtf16BigToUtf8Ex(pwszTmp, (sizeof((a_pStruct)->a_Member) - 2) / sizeof(RTUTF16), &pszTmp, 0, NULL); \ 135 135 Log2(("ISO/UDF: %-32s 16: '%s' len=%u (actual=%u)\n", #a_Member ":", pszTmp, \ 136 136 (a_pStruct)->a_Member[sizeof((a_pStruct)->a_Member) - 1], \ 137 137 RTUtf16NLen(pwszTmp, (sizeof((a_pStruct)->a_Member) - 2) / sizeof(RTUTF16)) * sizeof(RTUTF16) + 1 /*??*/ )); \ 138 RTStrFree(pszTmp); \ 138 139 } \ 139 140 else if (ASMMemIsZero(&(a_pStruct)->a_Member[0], sizeof((a_pStruct)->a_Member))) \ … … 427 428 typedef enum RTFSISOVOLTYPE 428 429 { 430 /** Invalid zero value. */ 431 RTFSISOVOLTYPE_INVALID = 0, 429 432 /** Accessing the primary ISO-9660 volume. */ 430 RTFSISOVOLTYPE_ISO9960 = 0,433 RTFSISOVOLTYPE_ISO9960, 431 434 /** Accessing the joliet volume (secondary ISO-9660). */ 432 435 RTFSISOVOLTYPE_JOLIET, … … 467 470 /** The primary volume sequence ID. */ 468 471 uint32_t idPrimaryVol; 472 /** The offset of the primary volume descriptor. */ 473 uint32_t offPrimaryVolDesc; 474 /** The offset of the secondary volume descriptor. */ 475 uint32_t offSecondaryVolDesc; 469 476 /** Set if using UTF16-2 (joliet). */ 470 477 bool fIsUtf16; … … 2295 2302 rtFsIsoFile_Close, 2296 2303 rtFsIsoFile_QueryInfo, 2304 NULL, 2297 2305 RTVFSOBJOPS_VERSION 2298 2306 }, … … 4379 4387 rtFsIsoDir_Close, 4380 4388 rtFsIsoDir_QueryInfo, 4389 NULL, 4381 4390 RTVFSOBJOPS_VERSION 4382 4391 }, … … 4885 4894 4886 4895 4896 static int rtFsIsoVol_ReturnUdfDString(const char *pachSrc, size_t cchSrc, void *pvDst, size_t cbDst, size_t *pcbRet) 4897 { 4898 char *pszDst = (char *)pvDst; 4899 4900 if (pachSrc[0] == 8) 4901 { 4902 uint8_t const cchText = RT_MIN((uint8_t)pachSrc[cchSrc - 1], cchSrc - 2); 4903 size_t const cchActual = RTStrNLen(&pachSrc[1], cchText); 4904 *pcbRet = cchActual + 1; 4905 int rc = RTStrCopyEx(pszDst, cbDst, &pachSrc[1], cchActual); 4906 if (cbDst > 0) 4907 RTStrPurgeEncoding(pszDst); 4908 return rc; 4909 } 4910 4911 if (pachSrc[0] == 16) 4912 { 4913 PCRTUTF16 pwszSrc = (PCRTUTF16)&pachSrc[1]; 4914 if (cchSrc > 0) 4915 return RTUtf16BigToUtf8Ex(pwszSrc, (cchSrc - 2) / sizeof(RTUTF16), &pszDst, cchSrc, pcbRet); 4916 int rc = RTUtf16CalcUtf8LenEx(pwszSrc, (cchSrc - 2) / sizeof(RTUTF16), pcbRet); 4917 if (RT_SUCCESS(rc)) 4918 { 4919 *pcbRet += 1; 4920 return VERR_BUFFER_OVERFLOW; 4921 } 4922 return rc; 4923 } 4924 4925 if (ASMMemIsZero(pachSrc, cchSrc)) 4926 { 4927 *pcbRet = 1; 4928 if (cbDst >= 1) 4929 { 4930 *pszDst = '\0'; 4931 return VINF_SUCCESS; 4932 } 4933 return VERR_BUFFER_OVERFLOW; 4934 } 4935 4936 *pcbRet = 0; 4937 return VERR_INVALID_UTF8_ENCODING; /** @todo better status here */ 4938 } 4939 4940 4941 /** 4942 * For now this is a sanitized version of rtFsIsoVolGetMaybeUtf16Be, which is 4943 * probably not correct or anything, but will have to do for now. 4944 */ 4945 static int rtFsIsoVol_ReturnIso9660D1String(const char *pachSrc, size_t cchSrc, void *pvDst, size_t cbDst, size_t *pcbRet) 4946 { 4947 char *pszDst = (char *)pvDst; 4948 4949 /* 4950 * Check if it may be some UTF16 variant by scanning for zero bytes 4951 * (ISO-9660 doesn't allow zeros). 4952 */ 4953 size_t cFirstZeros = 0; 4954 size_t cSecondZeros = 0; 4955 for (size_t off = 0; off + 1 < cchSrc; off += 2) 4956 { 4957 cFirstZeros += pachSrc[off] == '\0'; 4958 cSecondZeros += pachSrc[off + 1] == '\0'; 4959 } 4960 if (cFirstZeros > cSecondZeros) 4961 { 4962 /* 4963 * UTF-16BE / UTC-2BE: 4964 */ 4965 if (cchSrc & 1) 4966 { 4967 AssertReturn(pachSrc[cchSrc - 1] == '\0' || pachSrc[cchSrc - 1] == ' ', VERR_INVALID_UTF16_ENCODING); 4968 cchSrc--; 4969 } 4970 while ( cchSrc >= 2 4971 && pachSrc[cchSrc - 1] == ' ' 4972 && pachSrc[cchSrc - 2] == '\0') 4973 cchSrc -= 2; 4974 4975 if (cbDst > 0) 4976 return RTUtf16BigToUtf8Ex((PCRTUTF16)pachSrc, cchSrc / sizeof(RTUTF16), &pszDst, cbDst, pcbRet); 4977 int rc = RTUtf16BigCalcUtf8LenEx((PCRTUTF16)pachSrc, cchSrc / sizeof(RTUTF16), pcbRet); 4978 if (RT_SUCCESS(rc)) 4979 { 4980 *pcbRet += 1; 4981 return VERR_BUFFER_OVERFLOW; 4982 } 4983 return rc; 4984 } 4985 4986 if (cSecondZeros > 0) 4987 { 4988 /* 4989 * Little endian UTF-16 / UCS-2. 4990 */ 4991 if (cchSrc & 1) 4992 { 4993 AssertReturn(pachSrc[cchSrc - 1] == '\0' || pachSrc[cchSrc - 1] == ' ', VERR_INVALID_UTF16_ENCODING); 4994 cchSrc--; 4995 } 4996 while ( cchSrc >= 2 4997 && pachSrc[cchSrc - 1] == '\0' 4998 && pachSrc[cchSrc - 2] == ' ') 4999 cchSrc -= 2; 5000 5001 if (cbDst) 5002 return RTUtf16LittleToUtf8Ex((PCRTUTF16)pachSrc, cchSrc / sizeof(RTUTF16), &pszDst, cbDst, pcbRet); 5003 int rc = RTUtf16LittleCalcUtf8LenEx((PCRTUTF16)pachSrc, cchSrc / sizeof(RTUTF16), pcbRet); 5004 if (RT_SUCCESS(rc)) 5005 { 5006 *pcbRet += 1; 5007 return VERR_BUFFER_OVERFLOW; 5008 } 5009 return rc; 5010 } 5011 5012 /* 5013 * ASSUME UTF-8/ASCII. 5014 */ 5015 while ( cchSrc > 0 5016 && pachSrc[cchSrc - 1] == ' ') 5017 cchSrc--; 5018 5019 *pcbRet = cchSrc + 1; 5020 int rc = RTStrCopyEx(pszDst, cbDst, pachSrc, cchSrc); 5021 if (cbDst > 0) 5022 RTStrPurgeEncoding(pszDst); 5023 return rc; 5024 } 5025 5026 5027 static int rtFsIsoVol_ReturnIso9660DString(const char *pachSrc, size_t cchSrc, void *pvDst, size_t cbDst, size_t *pcbRet) 5028 { 5029 /* Lazy bird: */ 5030 return rtFsIsoVol_ReturnIso9660D1String(pachSrc, cchSrc, pvDst, cbDst, pcbRet); 5031 } 5032 5033 5034 /** 5035 * @interface_method_impl{RTVFSOBJOPS::Obj,pfnQueryInfoEx} 5036 */ 5037 static DECLCALLBACK(int) rtFsIsoVol_QueryInfoEx(void *pvThis, RTVFSQIEX enmInfo, void *pvInfo, size_t cbInfo, size_t *pcbRet) 5038 { 5039 PRTFSISOVOL pThis = (PRTFSISOVOL)pvThis; 5040 LogFlow(("rtFsIsoVol_QueryInfo(%p, %d,, %#zx,)\n", pThis, enmInfo, cbInfo)); 5041 5042 union 5043 { 5044 uint8_t ab[RTFSISO_MAX_LOGICAL_BLOCK_SIZE]; 5045 ISO9660PRIMARYVOLDESC PriVolDesc; 5046 ISO9660SUPVOLDESC SupVolDesc; 5047 } uBuf; 5048 5049 switch (enmInfo) 5050 { 5051 case RTVFSQIEX_VOL_LABEL: 5052 { 5053 if (pThis->enmType == RTFSISOVOLTYPE_UDF) 5054 return rtFsIsoVol_ReturnUdfDString(pThis->Udf.VolInfo.achLogicalVolumeID, 5055 sizeof(pThis->Udf.VolInfo.achLogicalVolumeID), pvInfo, cbInfo, pcbRet); 5056 int rc = RTVfsFileReadAt(pThis->hVfsBacking, 5057 pThis->enmType == RTFSISOVOLTYPE_ISO9960 5058 ? pThis->offPrimaryVolDesc : pThis->offSecondaryVolDesc, 5059 uBuf.ab, RT_MAX(RT_MIN(pThis->cbSector, sizeof(uBuf)), sizeof(uBuf.PriVolDesc)), NULL); 5060 AssertRCReturn(rc, rc); 5061 switch (enmInfo) 5062 { 5063 case RTVFSQIEX_VOL_LABEL: 5064 if (pThis->enmType == RTFSISOVOLTYPE_ISO9960) 5065 return rtFsIsoVol_ReturnIso9660DString(uBuf.PriVolDesc.achVolumeId, sizeof(uBuf.PriVolDesc.achVolumeId), 5066 pvInfo, cbInfo, pcbRet); 5067 return rtFsIsoVol_ReturnIso9660D1String(uBuf.SupVolDesc.achVolumeId, sizeof(uBuf.SupVolDesc.achVolumeId), 5068 pvInfo, cbInfo, pcbRet); 5069 default: 5070 AssertFailedReturn(VERR_INTERNAL_ERROR); 5071 } 5072 break; 5073 } 5074 5075 default: 5076 return VERR_NOT_SUPPORTED; 5077 5078 } 5079 5080 return VINF_SUCCESS; 5081 } 5082 5083 4887 5084 /** 4888 5085 * @interface_method_impl{RTVFSOPS,pfnOpenRoot} … … 4915 5112 rtFsIsoVol_Close, 4916 5113 rtFsIsoVol_QueryInfo, 5114 rtFsIsoVol_QueryInfoEx, 4917 5115 RTVFSOBJOPS_VERSION 4918 5116 }, … … 6424 6622 6425 6623 /* 6624 * Take down the location of the primary volume descriptor so we can get 6625 * the volume lable and other info from it later. 6626 */ 6627 pThis->offPrimaryVolDesc = offVolDesc; 6628 6629 /* 6426 6630 * We need the block size ... 6427 6631 */ … … 6556 6760 : pVolDesc->abEscapeSequences[2] == ISO9660_JOLIET_ESC_SEQ_2_LEVEL_2 ? 2 : 3; 6557 6761 Log(("ISO9660: Joliet with UCS-2 level %u\n", *pbUcs2Level)); 6762 6763 /* 6764 * Take down the location of the secondary volume descriptor so we can get 6765 * the volume lable and other info from it later. 6766 */ 6767 pThis->offSecondaryVolDesc = offVolDesc; 6558 6768 } 6559 6769 return rc; … … 6793 7003 * If we found a UDF VRS and are interested in UDF, we have more work to do here. 6794 7004 */ 6795 if (uUdfLevel > 0 && !(fFlags & RTFSISO9660_F_NO_UDF) 7005 if (uUdfLevel > 0 && !(fFlags & RTFSISO9660_F_NO_UDF)) 6796 7006 { 6797 7007 Log(("rtFsIsoVolTryInit: uUdfLevel=%d\n", uUdfLevel)); -
trunk/src/VBox/Runtime/common/fs/ntfsvfs.cpp
r93115 r94291 2602 2602 rtFsNtfsFile_Close, 2603 2603 rtFsNtfsFile_QueryInfo, 2604 NULL, 2604 2605 RTVFSOBJOPS_VERSION 2605 2606 }, … … 4398 4399 rtFsNtfsDir_Close, 4399 4400 rtFsNtfsDir_QueryInfo, 4401 NULL, 4400 4402 RTVFSOBJOPS_VERSION 4401 4403 }, … … 4757 4759 /* .pfnClose = */ rtFsNtfsVol_Close, 4758 4760 /* .pfnQueryInfo = */ rtFsNtfsVol_QueryInfo, 4761 /* .pfnQueryInfoEx = */ NULL, 4759 4762 /* .uEndMarker = */ RTVFSOBJOPS_VERSION 4760 4763 }, -
trunk/src/VBox/Runtime/common/fs/xfsvfs.cpp
r93115 r94291 1668 1668 rtFsXfsFile_Close, 1669 1669 rtFsXfsFile_QueryInfo, 1670 NULL, 1670 1671 RTVFSOBJOPS_VERSION 1671 1672 }, … … 2042 2043 rtFsXfsDir_Close, 2043 2044 rtFsXfsDir_QueryInfo, 2045 NULL, 2044 2046 RTVFSOBJOPS_VERSION 2045 2047 }, … … 2223 2225 /* .pfnClose = */ rtFsXfsVol_Close, 2224 2226 /* .pfnQueryInfo = */ rtFsXfsVol_QueryInfo, 2227 /* .pfnQueryInfoEx = */ NULL, 2225 2228 /* .uEndMarker = */ RTVFSOBJOPS_VERSION 2226 2229 }, -
trunk/src/VBox/Runtime/common/vfs/vfsbase.cpp
r93115 r94291 72 72 AssertPtr((a_pObjOps)->pfnClose); \ 73 73 AssertPtr((a_pObjOps)->pfnQueryInfo); \ 74 AssertPtrNull((a_pObjOps)->pfnQueryInfoEx); \ 74 75 Assert((a_pObjOps)->uEndMarker == RTVFSOBJOPS_VERSION); \ 75 76 } while (0) … … 2308 2309 2309 2310 2311 RTDECL(int) RTVfsQueryLabel(RTVFS hVfs, char *pszLabel, size_t cbLabel, size_t *pcbActual) 2312 { 2313 RTVFSINTERNAL *pThis = hVfs; 2314 AssertPtrReturn(pThis, VERR_INVALID_HANDLE); 2315 AssertReturn(pThis->uMagic == RTVFS_MAGIC, VERR_INVALID_HANDLE); 2316 2317 if (cbLabel > 0) 2318 AssertPtrReturn(pszLabel, VERR_INVALID_POINTER); 2319 2320 int rc; 2321 if (pThis->pOps->Obj.pfnQueryInfoEx) 2322 { 2323 size_t cbActualIgn; 2324 if (!pcbActual) 2325 pcbActual = &cbActualIgn; 2326 2327 RTVfsLockAcquireRead(pThis->Base.hLock); 2328 rc = pThis->pOps->Obj.pfnQueryInfoEx(pThis->Base.pvThis, RTVFSQIEX_VOL_LABEL, pszLabel, cbLabel, pcbActual); 2329 RTVfsLockReleaseRead(pThis->Base.hLock); 2330 } 2331 else 2332 rc = VERR_NOT_SUPPORTED; 2333 return rc; 2334 } 2335 2310 2336 2311 2337 -
trunk/src/VBox/Runtime/common/vfs/vfsfss2dir.cpp
r93115 r94291 284 284 rtVfsFssToDir_Close, 285 285 rtVfsFssToDir_QueryInfo, 286 NULL, 286 287 RTVFSOBJOPS_VERSION 287 288 }, -
trunk/src/VBox/Runtime/common/vfs/vfsmemory.cpp
r93115 r94291 731 731 rtVfsMemFile_Close, 732 732 rtVfsMemFile_QueryInfo, 733 NULL, 733 734 RTVFSOBJOPS_VERSION 734 735 }, -
trunk/src/VBox/Runtime/common/vfs/vfsprogress.cpp
r93115 r94291 308 308 rtVfsProgressFile_Close, 309 309 rtVfsProgressFile_QueryInfo, 310 NULL, 310 311 RTVFSOBJOPS_VERSION 311 312 }, … … 439 440 rtVfsProgressFile_Close, 440 441 rtVfsProgressFile_QueryInfo, 442 NULL, 441 443 RTVFSOBJOPS_VERSION 442 444 }, -
trunk/src/VBox/Runtime/common/vfs/vfsreadahead.cpp
r93115 r94291 535 535 rtVfsReadAhead_Close, 536 536 rtVfsReadAhead_QueryInfo, 537 NULL, 537 538 RTVFSOBJOPS_VERSION 538 539 }, … … 562 563 rtVfsReadAhead_Close, 563 564 rtVfsReadAhead_QueryInfo, 565 NULL, 564 566 RTVFSOBJOPS_VERSION 565 567 }, -
trunk/src/VBox/Runtime/common/vfs/vfsstddir.cpp
r93115 r94291 166 166 rtVfsStdSym_Close, 167 167 rtVfsStdSym_QueryInfo, 168 NULL, 168 169 RTVFSOBJOPS_VERSION 169 170 }, … … 668 669 rtVfsStdDir_Close, 669 670 rtVfsStdDir_QueryInfo, 671 NULL, 670 672 RTVFSOBJOPS_VERSION 671 673 }, -
trunk/src/VBox/Runtime/common/vfs/vfsstdfile.cpp
r93115 r94291 451 451 rtVfsStdFile_Close, 452 452 rtVfsStdFile_QueryInfo, 453 NULL, 453 454 RTVFSOBJOPS_VERSION 454 455 }, -
trunk/src/VBox/Runtime/common/vfs/vfsstdpipe.cpp
r93115 r94291 256 256 rtVfsStdPipe_Close, 257 257 rtVfsStdPipe_QueryInfo, 258 NULL, 258 259 RTVFSOBJOPS_VERSION 259 260 }, -
trunk/src/VBox/Runtime/common/zip/cpiovfs.cpp
r93115 r94291 442 442 rtZipCpioFssBaseObj_Close, 443 443 rtZipCpioFssBaseObj_QueryInfo, 444 NULL, 444 445 RTVFSOBJOPS_VERSION 445 446 }; … … 586 587 rtZipCpioFssIos_Close, 587 588 rtZipCpioFssIos_QueryInfo, 589 NULL, 588 590 RTVFSOBJOPS_VERSION 589 591 }, … … 672 674 rtZipCpioFssSym_Close, 673 675 rtZipCpioFssSym_QueryInfo, 676 NULL, 674 677 RTVFSOBJOPS_VERSION 675 678 }, … … 1024 1027 rtZipCpioFss_Close, 1025 1028 rtZipCpioFss_QueryInfo, 1029 NULL, 1026 1030 RTVFSOBJOPS_VERSION 1027 1031 }, -
trunk/src/VBox/Runtime/common/zip/gzipvfs.cpp
r93115 r94291 669 669 rtZipGzip_Close, 670 670 rtZipGzip_QueryInfo, 671 NULL, 671 672 RTVFSOBJOPS_VERSION 672 673 }, -
trunk/src/VBox/Runtime/common/zip/pkzip.cpp
r93115 r94291 165 165 memFssIos_Close, 166 166 memFssIos_QueryInfo, 167 NULL, 167 168 RTVFSOBJOPS_VERSION 168 169 }, -
trunk/src/VBox/Runtime/common/zip/pkzipvfs.cpp
r93115 r94291 820 820 rtZipPkzipFssBaseObj_Close, 821 821 rtZipPkzipFssBaseObj_QueryInfo, 822 NULL, 822 823 RTVFSOBJOPS_VERSION 823 824 }; … … 1042 1043 rtZipPkzipFssIos_Close, 1043 1044 rtZipPkzipFssIos_QueryInfo, 1045 NULL, 1044 1046 RTVFSOBJOPS_VERSION 1045 1047 }, … … 1234 1236 rtZipPkzipFss_Close, 1235 1237 rtZipPkzipFss_QueryInfo, 1238 NULL, 1236 1239 RTVFSOBJOPS_VERSION 1237 1240 }, -
trunk/src/VBox/Runtime/common/zip/tarvfs.cpp
r93115 r94291 831 831 rtZipTarFssBaseObj_Close, 832 832 rtZipTarFssBaseObj_QueryInfo, 833 NULL, 833 834 RTVFSOBJOPS_VERSION 834 835 }; … … 975 976 rtZipTarFssIos_Close, 976 977 rtZipTarFssIos_QueryInfo, 978 NULL, 977 979 RTVFSOBJOPS_VERSION 978 980 }, … … 1061 1063 rtZipTarFssSym_Close, 1062 1064 rtZipTarFssSym_QueryInfo, 1065 NULL, 1063 1066 RTVFSOBJOPS_VERSION 1064 1067 }, … … 1353 1356 rtZipTarFss_Close, 1354 1357 rtZipTarFss_QueryInfo, 1358 NULL, 1355 1359 RTVFSOBJOPS_VERSION 1356 1360 }, -
trunk/src/VBox/Runtime/common/zip/tarvfswriter.cpp
r93115 r94291 783 783 rtZipTarWriterPush_Close, 784 784 rtZipTarWriterPush_QueryInfo, 785 NULL, 785 786 RTVFSOBJOPS_VERSION 786 787 }, … … 810 811 rtZipTarWriterPush_Close, 811 812 rtZipTarWriterPush_QueryInfo, 813 NULL, 812 814 RTVFSOBJOPS_VERSION 813 815 }, … … 2056 2058 rtZipTarFssWriter_Close, 2057 2059 rtZipTarFssWriter_QueryInfo, 2060 NULL, 2058 2061 RTVFSOBJOPS_VERSION 2059 2062 }, -
trunk/src/VBox/Runtime/common/zip/xarvfs.cpp
r93115 r94291 812 812 rtZipXarFssBaseObj_Close, 813 813 rtZipXarFssBaseObj_QueryInfo, 814 NULL, 814 815 RTVFSOBJOPS_VERSION 815 816 }; … … 1017 1018 rtZipXarFssIos_Close, 1018 1019 rtZipXarFssIos_QueryInfo, 1020 NULL, 1019 1021 RTVFSOBJOPS_VERSION 1020 1022 }, … … 1146 1148 rtZipXarFssFile_Close, 1147 1149 rtZipXarFssIos_QueryInfo, 1150 NULL, 1148 1151 RTVFSOBJOPS_VERSION 1149 1152 }, … … 1334 1337 rtZipXarFssDecompIos_Close, 1335 1338 rtZipXarFssDecompIos_QueryInfo, 1339 NULL, 1336 1340 RTVFSOBJOPS_VERSION 1337 1341 }, … … 1427 1431 rtZipXarFssSym_Close, 1428 1432 rtZipXarFssSym_QueryInfo, 1433 NULL, 1429 1434 RTVFSOBJOPS_VERSION 1430 1435 }, … … 1799 1804 rtZipXarFss_Close, 1800 1805 rtZipXarFss_QueryInfo, 1806 NULL, 1801 1807 RTVFSOBJOPS_VERSION 1802 1808 },
Note:
See TracChangeset
for help on using the changeset viewer.