Changeset 75239 in vbox for trunk/src/VBox/Runtime/common/dbg
- Timestamp:
- Nov 3, 2018 2:54:26 AM (6 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Runtime/common/dbg/dbgcfg.cpp
r73334 r75239 131 131 /** Pointer to a read only mnemonic map entry for a uint64_t property. */ 132 132 typedef RTDBGCFGU64MNEMONIC const *PCRTDBGCFGU64MNEMONIC; 133 134 135 /** @name Open flags.136 * @{ */137 /** The operative system mask. The values are RT_OPSYS_XXX. */138 #define RTDBGCFG_O_OPSYS_MASK UINT32_C(0x000000ff)139 /** The files may be compressed MS styled. */140 #define RTDBGCFG_O_MAYBE_COMPRESSED_MS RT_BIT_32(26)141 /** Whether to make a recursive search. */142 #define RTDBGCFG_O_RECURSIVE RT_BIT_32(27)143 /** We're looking for a separate debug file. */144 #define RTDBGCFG_O_EXT_DEBUG_FILE RT_BIT_32(28)145 /** We're looking for an executable image. */146 #define RTDBGCFG_O_EXECUTABLE_IMAGE RT_BIT_32(29)147 /** The file search should be done in an case insensitive fashion. */148 #define RTDBGCFG_O_CASE_INSENSITIVE RT_BIT_32(30)149 /** Use Windbg style symbol servers when encountered in the path. */150 #define RTDBGCFG_O_SYMSRV RT_BIT_32(31)151 /** @} */152 133 153 134 … … 631 612 */ 632 613 if ( (fFlags & RTDBGCFG_O_RECURSIVE) 614 && pThis 633 615 && !(pThis->fFlags & RTDBGCFG_FLAGS_NO_RECURSIV_SEARCH) ) 634 616 { … … 746 728 return VWRN_NOT_FOUND; 747 729 if (!pszCacheSubDir || !*pszCacheSubDir) 730 return VWRN_NOT_FOUND; 731 if (!(fFlags & RTDBGCFG_O_SYMSRV)) 748 732 return VWRN_NOT_FOUND; 749 733 … … 1207 1191 AssertPtrReturn(pszCacheSubDir, VERR_INVALID_POINTER); 1208 1192 AssertPtrReturn(pfnCallback, VERR_INVALID_POINTER); 1193 AssertReturn(!(fFlags & ~RTDBGCFG_O_VALID_MASK), VERR_INVALID_FLAGS); 1209 1194 1210 1195 /* … … 1212 1197 * it's case exact or not. 1213 1198 */ 1214 bool fDosPath = strchr(pszFilename, ':') != NULL1215 || strchr(pszFilename, '\\') != NULL1216 || RT_OPSYS_USES_DOS_PATHS(fFlags & RTDBGCFG_O_OPSYS_MASK)1217 || (fFlags & RTDBGCFG_O_CASE_INSENSITIVE);1199 bool fDosPath = RT_OPSYS_USES_DOS_PATHS(fFlags & RTDBGCFG_O_OPSYS_MASK) 1200 || (fFlags & RTDBGCFG_O_CASE_INSENSITIVE) 1201 || strchr(pszFilename, ':') != NULL 1202 || strchr(pszFilename, '\\') != NULL; 1218 1203 if (fDosPath) 1219 1204 fFlags |= RTDBGCFG_O_CASE_INSENSITIVE; … … 1282 1267 && rc2 != VERR_CALLBACK_RETURN 1283 1268 && (fFlags & RTDBGCFG_O_EXECUTABLE_IMAGE) 1269 && !(fFlags & RTDBGCFG_O_NO_SYSTEM_PATHS) 1284 1270 && !(pThis->fFlags & RTDBGCFG_FLAGS_NO_SYSTEM_PATHS) ) 1285 1271 { … … 1292 1278 if ( rc2 != VINF_CALLBACK_RETURN 1293 1279 && rc2 != VERR_CALLBACK_RETURN 1280 && !(fFlags & RTDBGCFG_O_NO_SYSTEM_PATHS) 1294 1281 && !(pThis->fFlags & RTDBGCFG_FLAGS_NO_SYSTEM_PATHS) ) 1295 1282 { … … 1315 1302 return rcRet; 1316 1303 } 1304 1305 1306 RTDECL(int) RTDbgCfgOpenEx(RTDBGCFG hDbgCfg, const char *pszFilename, const char *pszCacheSubDir, 1307 const char *pszUuidMappingSubDir, uint32_t fFlags, 1308 PFNRTDBGCFGOPEN pfnCallback, void *pvUser1, void *pvUser2) 1309 { 1310 return rtDbgCfgOpenWithSubDir(hDbgCfg, pszFilename, pszCacheSubDir, pszUuidMappingSubDir, fFlags, 1311 pfnCallback, pvUser1, pvUser2); 1312 } 1313 1314 1317 1315 1318 1316 … … 1917 1915 rtDbgCfgFreeStrList(pList); 1918 1916 1917 PRTLISTNODE pPrependTo = pList; 1919 1918 while (*pszValue) 1920 1919 { … … 1965 1964 1966 1965 if (enmOp == RTDBGCFGOP_PREPEND) 1967 RTListPrepend(pList, &pNew->ListEntry); 1966 { 1967 RTListNodeInsertAfter(pPrependTo, &pNew->ListEntry); 1968 pPrependTo = &pNew->ListEntry; 1969 } 1968 1970 else 1969 1971 RTListAppend(pList, &pNew->ListEntry);
Note:
See TracChangeset
for help on using the changeset viewer.