diff options
| author | Sean Hall <r.sean.hall@gmail.com> | 2021-06-03 16:23:17 -0500 |
|---|---|---|
| committer | Sean Hall <r.sean.hall@gmail.com> | 2021-06-04 14:57:11 -0500 |
| commit | 13482e726fd148eaa58eb95e358e13e390d63148 (patch) | |
| tree | 087fb264038cb06922299c2e7aebdc98871e7124 /src/libs/dutil/WixToolset.DUtil/memutil.cpp | |
| parent | aec32210e4be3b58a1271e0703ec23130cd9ebe3 (diff) | |
| download | wix-13482e726fd148eaa58eb95e358e13e390d63148.tar.gz wix-13482e726fd148eaa58eb95e358e13e390d63148.tar.bz2 wix-13482e726fd148eaa58eb95e358e13e390d63148.zip | |
Require children of thmutil Billboard elements to be BillboardPanel.
Diffstat (limited to 'src/libs/dutil/WixToolset.DUtil/memutil.cpp')
| -rw-r--r-- | src/libs/dutil/WixToolset.DUtil/memutil.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/libs/dutil/WixToolset.DUtil/memutil.cpp b/src/libs/dutil/WixToolset.DUtil/memutil.cpp index c805a9c0..977c189e 100644 --- a/src/libs/dutil/WixToolset.DUtil/memutil.cpp +++ b/src/libs/dutil/WixToolset.DUtil/memutil.cpp | |||
| @@ -214,6 +214,27 @@ LExit: | |||
| 214 | } | 214 | } |
| 215 | 215 | ||
| 216 | 216 | ||
| 217 | extern "C" HRESULT DAPI MemEnsureArraySizeForNewItems( | ||
| 218 | __inout LPVOID* ppvArray, | ||
| 219 | __in DWORD cArray, | ||
| 220 | __in DWORD cNewItems, | ||
| 221 | __in SIZE_T cbArrayType, | ||
| 222 | __in DWORD dwGrowthCount | ||
| 223 | ) | ||
| 224 | { | ||
| 225 | HRESULT hr = S_OK; | ||
| 226 | DWORD cNew = 0; | ||
| 227 | |||
| 228 | hr = ::DWordAdd(cArray, cNewItems, &cNew); | ||
| 229 | MemExitOnFailure(hr, "Integer overflow when calculating new element count."); | ||
| 230 | |||
| 231 | hr = MemEnsureArraySize(ppvArray, cNew, cbArrayType, dwGrowthCount); | ||
| 232 | |||
| 233 | LExit: | ||
| 234 | return hr; | ||
| 235 | } | ||
| 236 | |||
| 237 | |||
| 217 | extern "C" HRESULT DAPI MemInsertIntoArray( | 238 | extern "C" HRESULT DAPI MemInsertIntoArray( |
| 218 | __deref_inout_bcount((cExistingArray + cInsertItems) * cbArrayType) LPVOID* ppvArray, | 239 | __deref_inout_bcount((cExistingArray + cInsertItems) * cbArrayType) LPVOID* ppvArray, |
| 219 | __in DWORD dwInsertIndex, | 240 | __in DWORD dwInsertIndex, |
| @@ -232,7 +253,7 @@ extern "C" HRESULT DAPI MemInsertIntoArray( | |||
| 232 | ExitFunction1(hr = S_OK); | 253 | ExitFunction1(hr = S_OK); |
| 233 | } | 254 | } |
| 234 | 255 | ||
| 235 | hr = MemEnsureArraySize(ppvArray, cExistingArray + cInsertItems, cbArrayType, dwGrowthCount); | 256 | hr = MemEnsureArraySizeForNewItems(ppvArray, cExistingArray, cInsertItems, cbArrayType, dwGrowthCount); |
| 236 | MemExitOnFailure(hr, "Failed to resize array while inserting items"); | 257 | MemExitOnFailure(hr, "Failed to resize array while inserting items"); |
| 237 | 258 | ||
| 238 | pbArray = reinterpret_cast<BYTE *>(*ppvArray); | 259 | pbArray = reinterpret_cast<BYTE *>(*ppvArray); |
