diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2022-05-16 16:07:43 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2022-05-17 22:54:13 -0500 |
| commit | 46fb0597d4d6192833ddcf836f4bcf6295ef0aaf (patch) | |
| tree | bfe188365bb37b298c42238d39568ebfc8809dcb /src/libs/dutil/WixToolset.DUtil/verutil.cpp | |
| parent | 0ea53e27361cbfe664df98d717e55005f329aff1 (diff) | |
| download | wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.tar.gz wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.tar.bz2 wix-46fb0597d4d6192833ddcf836f4bcf6295ef0aaf.zip | |
Keep track of when parts of verutil/WixVersions are missing.
Return null when WixVersion.TryParse returns false.
6776
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/verutil.cpp')
| -rw-r--r-- | src/libs/dutil/WixToolset.DUtil/verutil.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/verutil.cpp b/src/libs/dutil/WixToolset.DUtil/verutil.cpp index 30b979b1..276441b5 100644 --- a/src/libs/dutil/WixToolset.DUtil/verutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/verutil.cpp | |||
| @@ -196,9 +196,13 @@ DAPI_(HRESULT) VerCopyVersion( | |||
| 196 | 196 | ||
| 197 | pCopy->chPrefix = pSource->chPrefix; | 197 | pCopy->chPrefix = pSource->chPrefix; |
| 198 | pCopy->dwMajor = pSource->dwMajor; | 198 | pCopy->dwMajor = pSource->dwMajor; |
| 199 | pCopy->fHasMajor = pSource->fHasMajor; | ||
| 199 | pCopy->dwMinor = pSource->dwMinor; | 200 | pCopy->dwMinor = pSource->dwMinor; |
| 201 | pCopy->fHasMinor = pSource->fHasMinor; | ||
| 200 | pCopy->dwPatch = pSource->dwPatch; | 202 | pCopy->dwPatch = pSource->dwPatch; |
| 203 | pCopy->fHasPatch = pSource->fHasPatch; | ||
| 201 | pCopy->dwRevision = pSource->dwRevision; | 204 | pCopy->dwRevision = pSource->dwRevision; |
| 205 | pCopy->fHasRevision = pSource->fHasRevision; | ||
| 202 | 206 | ||
| 203 | if (pSource->cReleaseLabels) | 207 | if (pSource->cReleaseLabels) |
| 204 | { | 208 | { |
| @@ -370,15 +374,19 @@ DAPI_(HRESULT) VerParseVersion( | |||
| 370 | { | 374 | { |
| 371 | case 0: | 375 | case 0: |
| 372 | pVersion->dwMajor = uPart; | 376 | pVersion->dwMajor = uPart; |
| 377 | pVersion->fHasMajor = TRUE; | ||
| 373 | break; | 378 | break; |
| 374 | case 1: | 379 | case 1: |
| 375 | pVersion->dwMinor = uPart; | 380 | pVersion->dwMinor = uPart; |
| 381 | pVersion->fHasMinor = TRUE; | ||
| 376 | break; | 382 | break; |
| 377 | case 2: | 383 | case 2: |
| 378 | pVersion->dwPatch = uPart; | 384 | pVersion->dwPatch = uPart; |
| 385 | pVersion->fHasPatch = TRUE; | ||
| 379 | break; | 386 | break; |
| 380 | case 3: | 387 | case 3: |
| 381 | pVersion->dwRevision = uPart; | 388 | pVersion->dwRevision = uPart; |
| 389 | pVersion->fHasRevision = TRUE; | ||
| 382 | break; | 390 | break; |
| 383 | } | 391 | } |
| 384 | 392 | ||
| @@ -549,6 +557,11 @@ DAPI_(HRESULT) VerVersionFromQword( | |||
| 549 | pVersion->dwPatch = (WORD)(qwVersion >> 16 & 0xffff); | 557 | pVersion->dwPatch = (WORD)(qwVersion >> 16 & 0xffff); |
| 550 | pVersion->dwRevision = (WORD)(qwVersion & 0xffff); | 558 | pVersion->dwRevision = (WORD)(qwVersion & 0xffff); |
| 551 | 559 | ||
| 560 | pVersion->fHasMajor = TRUE; | ||
| 561 | pVersion->fHasMinor = TRUE; | ||
| 562 | pVersion->fHasPatch = TRUE; | ||
| 563 | pVersion->fHasRevision = TRUE; | ||
| 564 | |||
| 552 | hr = StrAllocFormatted(&pVersion->sczVersion, L"%lu.%lu.%lu.%lu", pVersion->dwMajor, pVersion->dwMinor, pVersion->dwPatch, pVersion->dwRevision); | 565 | hr = StrAllocFormatted(&pVersion->sczVersion, L"%lu.%lu.%lu.%lu", pVersion->dwMajor, pVersion->dwMinor, pVersion->dwPatch, pVersion->dwRevision); |
| 553 | ExitOnFailure(hr, "Failed to allocate and format the version string."); | 566 | ExitOnFailure(hr, "Failed to allocate and format the version string."); |
| 554 | 567 | ||
