diff options
| author | Rob Mensching <rob@firegiant.com> | 2025-11-01 21:52:31 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2025-11-03 14:49:39 -0800 |
| commit | d2ba0da55725f2908b67e1470afc7cfd71cb3d1f (patch) | |
| tree | c2a1db61c5fac031c698976106bba2c453d85ded /src/libs/dutil/WixToolset.DUtil/sceutil.cpp | |
| parent | 4d626c294c4783d454e27ea4e5614037dac8576e (diff) | |
| download | wix-d2ba0da55725f2908b67e1470afc7cfd71cb3d1f.tar.gz wix-d2ba0da55725f2908b67e1470afc7cfd71cb3d1f.tar.bz2 wix-d2ba0da55725f2908b67e1470afc7cfd71cb3d1f.zip | |
Use CompareStringOrdinal() instead of CompareString() case-sensitive
This commit moves to the modern CompareStringOrdinal() for all case-sensitve
uses of CompareString() with the invariant locale.
Resolves 6947
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/sceutil.cpp')
| -rw-r--r-- | src/libs/dutil/WixToolset.DUtil/sceutil.cpp | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/sceutil.cpp b/src/libs/dutil/WixToolset.DUtil/sceutil.cpp index 590c937a..98b5e2d8 100644 --- a/src/libs/dutil/WixToolset.DUtil/sceutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/sceutil.cpp | |||
| @@ -224,7 +224,7 @@ extern "C" HRESULT DAPI SceCreateDatabase( | |||
| 224 | LPWSTR sczDirectory = NULL; | 224 | LPWSTR sczDirectory = NULL; |
| 225 | SCE_DATABASE *pNewSceDatabase = NULL; | 225 | SCE_DATABASE *pNewSceDatabase = NULL; |
| 226 | SCE_DATABASE_INTERNAL *pNewSceDatabaseInternal = NULL; | 226 | SCE_DATABASE_INTERNAL *pNewSceDatabaseInternal = NULL; |
| 227 | IDBDataSourceAdmin *pIDBDataSourceAdmin = NULL; | 227 | IDBDataSourceAdmin *pIDBDataSourceAdmin = NULL; |
| 228 | DBPROPSET rgdbpDataSourcePropSet[2] = { }; | 228 | DBPROPSET rgdbpDataSourcePropSet[2] = { }; |
| 229 | DBPROP rgdbpDataSourceProp[2] = { }; | 229 | DBPROP rgdbpDataSourceProp[2] = { }; |
| 230 | DBPROP rgdbpDataSourceSsceProp[1] = { }; | 230 | DBPROP rgdbpDataSourceSsceProp[1] = { }; |
| @@ -239,7 +239,7 @@ extern "C" HRESULT DAPI SceCreateDatabase( | |||
| 239 | 239 | ||
| 240 | hr = CreateSqlCe(wzSqlCeDllPath, &pNewSceDatabaseInternal->pIDBInitialize, &pNewSceDatabaseInternal->hSqlCeDll); | 240 | hr = CreateSqlCe(wzSqlCeDllPath, &pNewSceDatabaseInternal->pIDBInitialize, &pNewSceDatabaseInternal->hSqlCeDll); |
| 241 | ExitOnFailure(hr, "Failed to get IDBInitialize interface"); | 241 | ExitOnFailure(hr, "Failed to get IDBInitialize interface"); |
| 242 | 242 | ||
| 243 | hr = pNewSceDatabaseInternal->pIDBInitialize->QueryInterface(IID_IDBDataSourceAdmin, reinterpret_cast<void **>(&pIDBDataSourceAdmin)); | 243 | hr = pNewSceDatabaseInternal->pIDBInitialize->QueryInterface(IID_IDBDataSourceAdmin, reinterpret_cast<void **>(&pIDBDataSourceAdmin)); |
| 244 | ExitOnFailure(hr, "Failed to get IDBDataSourceAdmin interface"); | 244 | ExitOnFailure(hr, "Failed to get IDBDataSourceAdmin interface"); |
| 245 | 245 | ||
| @@ -259,7 +259,7 @@ extern "C" HRESULT DAPI SceCreateDatabase( | |||
| 259 | rgdbpDataSourceProp[1].vValue.vt = VT_I4; | 259 | rgdbpDataSourceProp[1].vValue.vt = VT_I4; |
| 260 | rgdbpDataSourceProp[1].vValue.lVal = DB_MODE_SHARE_DENY_NONE; | 260 | rgdbpDataSourceProp[1].vValue.lVal = DB_MODE_SHARE_DENY_NONE; |
| 261 | 261 | ||
| 262 | // SQL CE doesn't seem to allow us to specify DBPROP_INIT_PROMPT if we include any properties from DBPROPSET_SSCE_DBINIT | 262 | // SQL CE doesn't seem to allow us to specify DBPROP_INIT_PROMPT if we include any properties from DBPROPSET_SSCE_DBINIT |
| 263 | rgdbpDataSourcePropSet[0].guidPropertySet = DBPROPSET_DBINIT; | 263 | rgdbpDataSourcePropSet[0].guidPropertySet = DBPROPSET_DBINIT; |
| 264 | rgdbpDataSourcePropSet[0].rgProperties = rgdbpDataSourceProp; | 264 | rgdbpDataSourcePropSet[0].rgProperties = rgdbpDataSourceProp; |
| 265 | rgdbpDataSourcePropSet[0].cProperties = _countof(rgdbpDataSourceProp); | 265 | rgdbpDataSourcePropSet[0].cProperties = _countof(rgdbpDataSourceProp); |
| @@ -336,7 +336,7 @@ extern "C" HRESULT DAPI SceOpenDatabase( | |||
| 336 | 336 | ||
| 337 | hr = CreateSqlCe(wzSqlCeDllPath, &pNewSceDatabaseInternal->pIDBInitialize, &pNewSceDatabaseInternal->hSqlCeDll); | 337 | hr = CreateSqlCe(wzSqlCeDllPath, &pNewSceDatabaseInternal->pIDBInitialize, &pNewSceDatabaseInternal->hSqlCeDll); |
| 338 | ExitOnFailure(hr, "Failed to get IDBInitialize interface"); | 338 | ExitOnFailure(hr, "Failed to get IDBInitialize interface"); |
| 339 | 339 | ||
| 340 | hr = pNewSceDatabaseInternal->pIDBInitialize->QueryInterface(IID_IDBProperties, reinterpret_cast<void **>(&pNewSceDatabaseInternal->pIDBProperties)); | 340 | hr = pNewSceDatabaseInternal->pIDBInitialize->QueryInterface(IID_IDBProperties, reinterpret_cast<void **>(&pNewSceDatabaseInternal->pIDBProperties)); |
| 341 | ExitOnFailure(hr, "Failed to get IDBProperties interface"); | 341 | ExitOnFailure(hr, "Failed to get IDBProperties interface"); |
| 342 | 342 | ||
| @@ -369,7 +369,7 @@ extern "C" HRESULT DAPI SceOpenDatabase( | |||
| 369 | rgdbpDataSourceProp[1].vValue.vt = VT_I4; | 369 | rgdbpDataSourceProp[1].vValue.vt = VT_I4; |
| 370 | rgdbpDataSourceProp[1].vValue.lVal = DB_MODE_SHARE_DENY_NONE; | 370 | rgdbpDataSourceProp[1].vValue.lVal = DB_MODE_SHARE_DENY_NONE; |
| 371 | 371 | ||
| 372 | // SQL CE doesn't seem to allow us to specify DBPROP_INIT_PROMPT if we include any properties from DBPROPSET_SSCE_DBINIT | 372 | // SQL CE doesn't seem to allow us to specify DBPROP_INIT_PROMPT if we include any properties from DBPROPSET_SSCE_DBINIT |
| 373 | rgdbpDataSourcePropSet[0].guidPropertySet = DBPROPSET_DBINIT; | 373 | rgdbpDataSourcePropSet[0].guidPropertySet = DBPROPSET_DBINIT; |
| 374 | rgdbpDataSourcePropSet[0].rgProperties = rgdbpDataSourceProp; | 374 | rgdbpDataSourcePropSet[0].rgProperties = rgdbpDataSourceProp; |
| 375 | rgdbpDataSourcePropSet[0].cProperties = _countof(rgdbpDataSourceProp); | 375 | rgdbpDataSourcePropSet[0].cProperties = _countof(rgdbpDataSourceProp); |
| @@ -407,7 +407,7 @@ extern "C" HRESULT DAPI SceOpenDatabase( | |||
| 407 | hr = GetDatabaseSchemaInfo(pNewSceDatabase, &sczSchemaType, &dwVersionFound); | 407 | hr = GetDatabaseSchemaInfo(pNewSceDatabase, &sczSchemaType, &dwVersionFound); |
| 408 | ExitOnFailure(hr, "Failed to find schema version of database"); | 408 | ExitOnFailure(hr, "Failed to find schema version of database"); |
| 409 | 409 | ||
| 410 | if (CSTR_EQUAL != ::CompareStringW(LOCALE_INVARIANT, 0, sczSchemaType, -1, wzExpectedSchemaType, -1)) | 410 | if (CSTR_EQUAL != ::CompareStringOrdinal(sczSchemaType, -1, wzExpectedSchemaType, -1, FALSE)) |
| 411 | { | 411 | { |
| 412 | hr = HRESULT_FROM_WIN32(ERROR_BAD_FILE_TYPE); | 412 | hr = HRESULT_FROM_WIN32(ERROR_BAD_FILE_TYPE); |
| 413 | ExitOnRootFailure(hr, "Tried to open wrong database type - expected type %ls, found type %ls", wzExpectedSchemaType, sczSchemaType); | 413 | ExitOnRootFailure(hr, "Tried to open wrong database type - expected type %ls, found type %ls", wzExpectedSchemaType, sczSchemaType); |
| @@ -2306,8 +2306,8 @@ static HRESULT SetSessionProperties( | |||
| 2306 | rgdbpDataSourceProp[0].dwPropertyID = DBPROP_SSCE_TRANSACTION_COMMIT_MODE; | 2306 | rgdbpDataSourceProp[0].dwPropertyID = DBPROP_SSCE_TRANSACTION_COMMIT_MODE; |
| 2307 | rgdbpDataSourceProp[0].dwOptions = DBPROPOPTIONS_REQUIRED; | 2307 | rgdbpDataSourceProp[0].dwOptions = DBPROPOPTIONS_REQUIRED; |
| 2308 | rgdbpDataSourceProp[0].vValue.vt = VT_I4; | 2308 | rgdbpDataSourceProp[0].vValue.vt = VT_I4; |
| 2309 | rgdbpDataSourceProp[0].vValue.lVal = DBPROPVAL_SSCE_TCM_FLUSH; | 2309 | rgdbpDataSourceProp[0].vValue.lVal = DBPROPVAL_SSCE_TCM_FLUSH; |
| 2310 | 2310 | ||
| 2311 | rgdbpDataSourcePropSet[0].guidPropertySet = DBPROPSET_SSCE_SESSION; | 2311 | rgdbpDataSourcePropSet[0].guidPropertySet = DBPROPSET_SSCE_SESSION; |
| 2312 | rgdbpDataSourcePropSet[0].rgProperties = rgdbpDataSourceProp; | 2312 | rgdbpDataSourcePropSet[0].rgProperties = rgdbpDataSourceProp; |
| 2313 | rgdbpDataSourcePropSet[0].cProperties = 1; | 2313 | rgdbpDataSourcePropSet[0].cProperties = 1; |
