diff options
| author | Bob Arnson <bob@firegiant.com> | 2020-11-29 18:57:55 -0500 |
|---|---|---|
| committer | Bob Arnson <bob@firegiant.com> | 2020-12-26 22:08:07 -0500 |
| commit | 0ae3b1e7b5c0beff0fcfb82728c5bf9f25aee250 (patch) | |
| tree | a8c4cf37f7bcf103db5892c842cb4211ca3ee779 /src | |
| parent | 6554b42e999c8ff2cf20361a7dd7ec500723ec71 (diff) | |
| download | wix-0ae3b1e7b5c0beff0fcfb82728c5bf9f25aee250.tar.gz wix-0ae3b1e7b5c0beff0fcfb82728c5bf9f25aee250.tar.bz2 wix-0ae3b1e7b5c0beff0fcfb82728c5bf9f25aee250.zip | |
More size_t-ification.
Diffstat (limited to 'src')
| -rw-r--r-- | src/dutil/buffutil.cpp | 59 | ||||
| -rw-r--r-- | src/dutil/dirutil.cpp | 2 | ||||
| -rw-r--r-- | src/dutil/inc/buffutil.h | 11 | ||||
| -rw-r--r-- | src/dutil/inc/pathutil.h | 2 | ||||
| -rw-r--r-- | src/dutil/inc/strutil.h | 36 | ||||
| -rw-r--r-- | src/dutil/inc/verutil.h | 4 | ||||
| -rw-r--r-- | src/dutil/pathutil.cpp | 6 | ||||
| -rw-r--r-- | src/dutil/strutil.cpp | 144 |
8 files changed, 165 insertions, 99 deletions
diff --git a/src/dutil/buffutil.cpp b/src/dutil/buffutil.cpp index e78db24f..a70aaa81 100644 --- a/src/dutil/buffutil.cpp +++ b/src/dutil/buffutil.cpp | |||
| @@ -51,11 +51,11 @@ LExit: | |||
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | extern "C" HRESULT BuffReadNumber64( | 53 | extern "C" HRESULT BuffReadNumber64( |
| 54 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | 54 | __in_bcount(cbBuffer) const BYTE * pbBuffer, |
| 55 | __in SIZE_T cbBuffer, | 55 | __in SIZE_T cbBuffer, |
| 56 | __inout SIZE_T* piBuffer, | 56 | __inout SIZE_T* piBuffer, |
| 57 | __out DWORD64* pdw64 | 57 | __out DWORD64* pdw64 |
| 58 | ) | 58 | ) |
| 59 | { | 59 | { |
| 60 | Assert(pbBuffer); | 60 | Assert(pbBuffer); |
| 61 | Assert(piBuffer); | 61 | Assert(piBuffer); |
| @@ -82,6 +82,38 @@ LExit: | |||
| 82 | return hr; | 82 | return hr; |
| 83 | } | 83 | } |
| 84 | 84 | ||
| 85 | extern "C" HRESULT BuffReadPointer( | ||
| 86 | __in_bcount(cbBuffer) const BYTE * pbBuffer, | ||
| 87 | __in SIZE_T cbBuffer, | ||
| 88 | __inout SIZE_T* piBuffer, | ||
| 89 | __out DWORD_PTR* pdw64 | ||
| 90 | ) | ||
| 91 | { | ||
| 92 | Assert(pbBuffer); | ||
| 93 | Assert(piBuffer); | ||
| 94 | Assert(pdw64); | ||
| 95 | |||
| 96 | HRESULT hr = S_OK; | ||
| 97 | SIZE_T cbAvailable = 0; | ||
| 98 | |||
| 99 | // get availiable data size | ||
| 100 | hr = ::SIZETSub(cbBuffer, *piBuffer, &cbAvailable); | ||
| 101 | ExitOnRootFailure(hr, "Failed to calculate available data size."); | ||
| 102 | |||
| 103 | // verify buffer size | ||
| 104 | if (sizeof(DWORD_PTR) > cbAvailable) | ||
| 105 | { | ||
| 106 | hr = E_INVALIDARG; | ||
| 107 | ExitOnRootFailure(hr, "Buffer too small."); | ||
| 108 | } | ||
| 109 | |||
| 110 | *pdw64 = *(const DWORD_PTR*)(pbBuffer + *piBuffer); | ||
| 111 | *piBuffer += sizeof(DWORD_PTR); | ||
| 112 | |||
| 113 | LExit: | ||
| 114 | return hr; | ||
| 115 | } | ||
| 116 | |||
| 85 | extern "C" HRESULT BuffReadString( | 117 | extern "C" HRESULT BuffReadString( |
| 86 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | 118 | __in_bcount(cbBuffer) const BYTE* pbBuffer, |
| 87 | __in SIZE_T cbBuffer, | 119 | __in SIZE_T cbBuffer, |
| @@ -300,6 +332,29 @@ LExit: | |||
| 300 | return hr; | 332 | return hr; |
| 301 | } | 333 | } |
| 302 | 334 | ||
| 335 | extern "C" HRESULT BuffWritePointer( | ||
| 336 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | ||
| 337 | __inout SIZE_T* piBuffer, | ||
| 338 | __in DWORD_PTR dw | ||
| 339 | ) | ||
| 340 | { | ||
| 341 | Assert(ppbBuffer); | ||
| 342 | Assert(piBuffer); | ||
| 343 | |||
| 344 | HRESULT hr = S_OK; | ||
| 345 | |||
| 346 | // make sure we have a buffer with sufficient space | ||
| 347 | hr = EnsureBufferSize(ppbBuffer, *piBuffer + sizeof(DWORD_PTR)); | ||
| 348 | ExitOnFailure(hr, "Failed to ensure buffer size."); | ||
| 349 | |||
| 350 | // copy data to buffer | ||
| 351 | *(DWORD_PTR*)(*ppbBuffer + *piBuffer) = dw; | ||
| 352 | *piBuffer += sizeof(DWORD_PTR); | ||
| 353 | |||
| 354 | LExit: | ||
| 355 | return hr; | ||
| 356 | } | ||
| 357 | |||
| 303 | extern "C" HRESULT BuffWriteString( | 358 | extern "C" HRESULT BuffWriteString( |
| 304 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | 359 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, |
| 305 | __inout SIZE_T* piBuffer, | 360 | __inout SIZE_T* piBuffer, |
diff --git a/src/dutil/dirutil.cpp b/src/dutil/dirutil.cpp index 1f06f551..5e22ee65 100644 --- a/src/dutil/dirutil.cpp +++ b/src/dutil/dirutil.cpp | |||
| @@ -346,7 +346,7 @@ extern "C" HRESULT DAPI DirGetCurrent( | |||
| 346 | ) | 346 | ) |
| 347 | { | 347 | { |
| 348 | HRESULT hr = S_OK; | 348 | HRESULT hr = S_OK; |
| 349 | DWORD_PTR cch = 0; | 349 | SIZE_T cch = 0; |
| 350 | 350 | ||
| 351 | if (psczCurrentDirectory && *psczCurrentDirectory) | 351 | if (psczCurrentDirectory && *psczCurrentDirectory) |
| 352 | { | 352 | { |
diff --git a/src/dutil/inc/buffutil.h b/src/dutil/inc/buffutil.h index f6d36e94..a718e9c0 100644 --- a/src/dutil/inc/buffutil.h +++ b/src/dutil/inc/buffutil.h | |||
| @@ -28,6 +28,12 @@ HRESULT BuffReadNumber64( | |||
| 28 | __inout SIZE_T* piBuffer, | 28 | __inout SIZE_T* piBuffer, |
| 29 | __out DWORD64* pdw64 | 29 | __out DWORD64* pdw64 |
| 30 | ); | 30 | ); |
| 31 | HRESULT BuffReadPointer( | ||
| 32 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | ||
| 33 | __in SIZE_T cbBuffer, | ||
| 34 | __inout SIZE_T* piBuffer, | ||
| 35 | __out DWORD_PTR* pdw | ||
| 36 | ); | ||
| 31 | HRESULT BuffReadString( | 37 | HRESULT BuffReadString( |
| 32 | __in_bcount(cbBuffer) const BYTE* pbBuffer, | 38 | __in_bcount(cbBuffer) const BYTE* pbBuffer, |
| 33 | __in SIZE_T cbBuffer, | 39 | __in SIZE_T cbBuffer, |
| @@ -58,6 +64,11 @@ HRESULT BuffWriteNumber64( | |||
| 58 | __inout SIZE_T* piBuffer, | 64 | __inout SIZE_T* piBuffer, |
| 59 | __in DWORD64 dw64 | 65 | __in DWORD64 dw64 |
| 60 | ); | 66 | ); |
| 67 | HRESULT BuffWritePointer( | ||
| 68 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | ||
| 69 | __inout SIZE_T* piBuffer, | ||
| 70 | __in DWORD_PTR dw | ||
| 71 | ); | ||
| 61 | HRESULT BuffWriteString( | 72 | HRESULT BuffWriteString( |
| 62 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, | 73 | __deref_out_bcount(*piBuffer) BYTE** ppbBuffer, |
| 63 | __inout SIZE_T* piBuffer, | 74 | __inout SIZE_T* piBuffer, |
diff --git a/src/dutil/inc/pathutil.h b/src/dutil/inc/pathutil.h index 76798172..bee8ed1b 100644 --- a/src/dutil/inc/pathutil.h +++ b/src/dutil/inc/pathutil.h | |||
| @@ -71,7 +71,7 @@ DAPI_(HRESULT) PathPrefix( | |||
| 71 | ********************************************************************/ | 71 | ********************************************************************/ |
| 72 | DAPI_(HRESULT) PathFixedBackslashTerminate( | 72 | DAPI_(HRESULT) PathFixedBackslashTerminate( |
| 73 | __inout_ecount_z(cchPath) LPWSTR wzPath, | 73 | __inout_ecount_z(cchPath) LPWSTR wzPath, |
| 74 | __in DWORD_PTR cchPath | 74 | __in SIZE_T cchPath |
| 75 | ); | 75 | ); |
| 76 | 76 | ||
| 77 | /******************************************************************* | 77 | /******************************************************************* |
diff --git a/src/dutil/inc/strutil.h b/src/dutil/inc/strutil.h index 454506d2..187bfda8 100644 --- a/src/dutil/inc/strutil.h +++ b/src/dutil/inc/strutil.h | |||
| @@ -19,11 +19,11 @@ extern "C" { | |||
| 19 | 19 | ||
| 20 | HRESULT DAPI StrAlloc( | 20 | HRESULT DAPI StrAlloc( |
| 21 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, | 21 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, |
| 22 | __in DWORD_PTR cch | 22 | __in SIZE_T cch |
| 23 | ); | 23 | ); |
| 24 | HRESULT DAPI StrAllocSecure( | 24 | HRESULT DAPI StrAllocSecure( |
| 25 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, | 25 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, |
| 26 | __in DWORD_PTR cch | 26 | __in SIZE_T cch |
| 27 | ); | 27 | ); |
| 28 | HRESULT DAPI StrTrimCapacity( | 28 | HRESULT DAPI StrTrimCapacity( |
| 29 | __deref_out_z LPWSTR* ppwz | 29 | __deref_out_z LPWSTR* ppwz |
| @@ -34,7 +34,7 @@ HRESULT DAPI StrTrimWhitespace( | |||
| 34 | ); | 34 | ); |
| 35 | HRESULT DAPI StrAnsiAlloc( | 35 | HRESULT DAPI StrAnsiAlloc( |
| 36 | __deref_out_ecount_part(cch, 0) LPSTR* ppz, | 36 | __deref_out_ecount_part(cch, 0) LPSTR* ppz, |
| 37 | __in DWORD_PTR cch | 37 | __in SIZE_T cch |
| 38 | ); | 38 | ); |
| 39 | HRESULT DAPI StrAnsiTrimCapacity( | 39 | HRESULT DAPI StrAnsiTrimCapacity( |
| 40 | __deref_out_z LPSTR* ppz | 40 | __deref_out_z LPSTR* ppz |
| @@ -73,7 +73,7 @@ HRESULT DAPI StrAnsiAllocStringAnsi( | |||
| 73 | HRESULT DAPI StrAllocPrefix( | 73 | HRESULT DAPI StrAllocPrefix( |
| 74 | __deref_out_z LPWSTR* ppwz, | 74 | __deref_out_z LPWSTR* ppwz, |
| 75 | __in_z LPCWSTR wzPrefix, | 75 | __in_z LPCWSTR wzPrefix, |
| 76 | __in DWORD_PTR cchPrefix | 76 | __in SIZE_T cchPrefix |
| 77 | ); | 77 | ); |
| 78 | HRESULT DAPI StrAllocConcat( | 78 | HRESULT DAPI StrAllocConcat( |
| 79 | __deref_out_z LPWSTR* ppwz, | 79 | __deref_out_z LPWSTR* ppwz, |
| @@ -139,11 +139,11 @@ HRESULT DAPI StrAllocFromError( | |||
| 139 | 139 | ||
| 140 | HRESULT DAPI StrMaxLength( | 140 | HRESULT DAPI StrMaxLength( |
| 141 | __in LPCVOID p, | 141 | __in LPCVOID p, |
| 142 | __out DWORD_PTR* pcch | 142 | __out SIZE_T* pcbch |
| 143 | ); | 143 | ); |
| 144 | HRESULT DAPI StrSize( | 144 | HRESULT DAPI StrSize( |
| 145 | __in LPCVOID p, | 145 | __in LPCVOID p, |
| 146 | __out DWORD_PTR* pcb | 146 | __out SIZE_T* pcbb |
| 147 | ); | 147 | ); |
| 148 | 148 | ||
| 149 | HRESULT DAPI StrFree( | 149 | HRESULT DAPI StrFree( |
| @@ -165,19 +165,19 @@ HRESULT DAPI StrReplaceString( | |||
| 165 | 165 | ||
| 166 | HRESULT DAPI StrHexEncode( | 166 | HRESULT DAPI StrHexEncode( |
| 167 | __in_ecount(cbSource) const BYTE* pbSource, | 167 | __in_ecount(cbSource) const BYTE* pbSource, |
| 168 | __in DWORD_PTR cbSource, | 168 | __in SIZE_T cbSource, |
| 169 | __out_ecount(cchDest) LPWSTR wzDest, | 169 | __out_ecount(cchDest) LPWSTR wzDest, |
| 170 | __in DWORD_PTR cchDest | 170 | __in SIZE_T cchDest |
| 171 | ); | 171 | ); |
| 172 | HRESULT DAPI StrAllocHexEncode( | 172 | HRESULT DAPI StrAllocHexEncode( |
| 173 | __in_ecount(cbSource) const BYTE* pbSource, | 173 | __in_ecount(cbSource) const BYTE* pbSource, |
| 174 | __in DWORD_PTR cbSource, | 174 | __in SIZE_T cbSource, |
| 175 | __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest | 175 | __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest |
| 176 | ); | 176 | ); |
| 177 | HRESULT DAPI StrHexDecode( | 177 | HRESULT DAPI StrHexDecode( |
| 178 | __in_z LPCWSTR wzSource, | 178 | __in_z LPCWSTR wzSource, |
| 179 | __out_bcount(cbDest) BYTE* pbDest, | 179 | __out_bcount(cbDest) BYTE* pbDest, |
| 180 | __in DWORD_PTR cbDest | 180 | __in SIZE_T cbDest |
| 181 | ); | 181 | ); |
| 182 | HRESULT DAPI StrAllocHexDecode( | 182 | HRESULT DAPI StrAllocHexDecode( |
| 183 | __in_z LPCWSTR wzSource, | 183 | __in_z LPCWSTR wzSource, |
| @@ -187,29 +187,29 @@ HRESULT DAPI StrAllocHexDecode( | |||
| 187 | 187 | ||
| 188 | HRESULT DAPI StrAllocBase85Encode( | 188 | HRESULT DAPI StrAllocBase85Encode( |
| 189 | __in_bcount_opt(cbSource) const BYTE* pbSource, | 189 | __in_bcount_opt(cbSource) const BYTE* pbSource, |
| 190 | __in DWORD_PTR cbSource, | 190 | __in SIZE_T cbSource, |
| 191 | __deref_out_z LPWSTR* pwzDest | 191 | __deref_out_z LPWSTR* pwzDest |
| 192 | ); | 192 | ); |
| 193 | HRESULT DAPI StrAllocBase85Decode( | 193 | HRESULT DAPI StrAllocBase85Decode( |
| 194 | __in_z LPCWSTR wzSource, | 194 | __in_z LPCWSTR wzSource, |
| 195 | __deref_out_bcount(*pcbDest) BYTE** hbDest, | 195 | __deref_out_bcount(*pcbDest) BYTE** ppbDest, |
| 196 | __out DWORD_PTR* pcbDest | 196 | __out SIZE_T* pcbDest |
| 197 | ); | 197 | ); |
| 198 | 198 | ||
| 199 | HRESULT DAPI MultiSzLen( | 199 | HRESULT DAPI MultiSzLen( |
| 200 | __in_ecount(*pcch) __nullnullterminated LPCWSTR pwzMultiSz, | 200 | __in_ecount(*pcch) __nullnullterminated LPCWSTR pwzMultiSz, |
| 201 | __out DWORD_PTR* pcch | 201 | __out SIZE_T* pcbch |
| 202 | ); | 202 | ); |
| 203 | HRESULT DAPI MultiSzPrepend( | 203 | HRESULT DAPI MultiSzPrepend( |
| 204 | __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz, | 204 | __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz, |
| 205 | __inout_opt DWORD_PTR *pcchMultiSz, | 205 | __inout_opt SIZE_T* pcchMultiSz, |
| 206 | __in __nullnullterminated LPCWSTR pwzInsert | 206 | __in __nullnullterminated LPCWSTR pwzInsert |
| 207 | ); | 207 | ); |
| 208 | HRESULT DAPI MultiSzFindSubstring( | 208 | HRESULT DAPI MultiSzFindSubstring( |
| 209 | __in __nullnullterminated LPCWSTR pwzMultiSz, | 209 | __in __nullnullterminated LPCWSTR pwzMultiSz, |
| 210 | __in __nullnullterminated LPCWSTR pwzSubstring, | 210 | __in __nullnullterminated LPCWSTR pwzSubstring, |
| 211 | __out_opt DWORD_PTR* pdwIndex, | 211 | __out_opt DWORD_PTR* pdwIndex, |
| 212 | __deref_opt_out_z LPCWSTR* ppwzFoundIn | 212 | __deref_opt_out __nullnullterminated LPCWSTR* ppwzFoundIn |
| 213 | ); | 213 | ); |
| 214 | HRESULT DAPI MultiSzFindString( | 214 | HRESULT DAPI MultiSzFindString( |
| 215 | __in __nullnullterminated LPCWSTR pwzMultiSz, | 215 | __in __nullnullterminated LPCWSTR pwzMultiSz, |
| @@ -223,7 +223,7 @@ HRESULT DAPI MultiSzRemoveString( | |||
| 223 | ); | 223 | ); |
| 224 | HRESULT DAPI MultiSzInsertString( | 224 | HRESULT DAPI MultiSzInsertString( |
| 225 | __deref_inout_z LPWSTR* ppwzMultiSz, | 225 | __deref_inout_z LPWSTR* ppwzMultiSz, |
| 226 | __inout_opt DWORD_PTR *pcchMultiSz, | 226 | __inout_opt SIZE_T* pcchMultiSz, |
| 227 | __in DWORD_PTR dwIndex, | 227 | __in DWORD_PTR dwIndex, |
| 228 | __in_z LPCWSTR pwzInsert | 228 | __in_z LPCWSTR pwzInsert |
| 229 | ); | 229 | ); |
diff --git a/src/dutil/inc/verutil.h b/src/dutil/inc/verutil.h index d3715049..30869aef 100644 --- a/src/dutil/inc/verutil.h +++ b/src/dutil/inc/verutil.h | |||
| @@ -12,7 +12,7 @@ typedef struct _VERUTIL_VERSION_RELEASE_LABEL | |||
| 12 | { | 12 | { |
| 13 | BOOL fNumeric; | 13 | BOOL fNumeric; |
| 14 | DWORD dwValue; | 14 | DWORD dwValue; |
| 15 | DWORD_PTR cchLabelOffset; | 15 | SIZE_T cchLabelOffset; |
| 16 | int cchLabel; | 16 | int cchLabel; |
| 17 | } VERUTIL_VERSION_RELEASE_LABEL; | 17 | } VERUTIL_VERSION_RELEASE_LABEL; |
| 18 | 18 | ||
| @@ -25,7 +25,7 @@ typedef struct _VERUTIL_VERSION | |||
| 25 | DWORD dwRevision; | 25 | DWORD dwRevision; |
| 26 | DWORD cReleaseLabels; | 26 | DWORD cReleaseLabels; |
| 27 | VERUTIL_VERSION_RELEASE_LABEL* rgReleaseLabels; | 27 | VERUTIL_VERSION_RELEASE_LABEL* rgReleaseLabels; |
| 28 | DWORD_PTR cchMetadataOffset; | 28 | SIZE_T cchMetadataOffset; |
| 29 | BOOL fInvalid; | 29 | BOOL fInvalid; |
| 30 | } VERUTIL_VERSION; | 30 | } VERUTIL_VERSION; |
| 31 | 31 | ||
diff --git a/src/dutil/pathutil.cpp b/src/dutil/pathutil.cpp index c508dd32..d8894756 100644 --- a/src/dutil/pathutil.cpp +++ b/src/dutil/pathutil.cpp | |||
| @@ -328,7 +328,7 @@ DAPI_(HRESULT) PathPrefix( | |||
| 328 | 328 | ||
| 329 | HRESULT hr = S_OK; | 329 | HRESULT hr = S_OK; |
| 330 | LPWSTR wzFullPath = *psczFullPath; | 330 | LPWSTR wzFullPath = *psczFullPath; |
| 331 | DWORD_PTR cbFullPath = 0; | 331 | SIZE_T cbFullPath = 0; |
| 332 | 332 | ||
| 333 | if (((L'a' <= wzFullPath[0] && L'z' >= wzFullPath[0]) || | 333 | if (((L'a' <= wzFullPath[0] && L'z' >= wzFullPath[0]) || |
| 334 | (L'A' <= wzFullPath[0] && L'Z' >= wzFullPath[0])) && | 334 | (L'A' <= wzFullPath[0] && L'Z' >= wzFullPath[0])) && |
| @@ -365,7 +365,7 @@ LExit: | |||
| 365 | 365 | ||
| 366 | DAPI_(HRESULT) PathFixedBackslashTerminate( | 366 | DAPI_(HRESULT) PathFixedBackslashTerminate( |
| 367 | __inout_ecount_z(cchPath) LPWSTR wzPath, | 367 | __inout_ecount_z(cchPath) LPWSTR wzPath, |
| 368 | __in DWORD_PTR cchPath | 368 | __in SIZE_T cchPath |
| 369 | ) | 369 | ) |
| 370 | { | 370 | { |
| 371 | HRESULT hr = S_OK; | 371 | HRESULT hr = S_OK; |
| @@ -396,7 +396,7 @@ DAPI_(HRESULT) PathBackslashTerminate( | |||
| 396 | Assert(psczPath && *psczPath); | 396 | Assert(psczPath && *psczPath); |
| 397 | 397 | ||
| 398 | HRESULT hr = S_OK; | 398 | HRESULT hr = S_OK; |
| 399 | DWORD_PTR cchPath = 0; | 399 | SIZE_T cchPath = 0; |
| 400 | size_t cchLength = 0; | 400 | size_t cchLength = 0; |
| 401 | 401 | ||
| 402 | hr = StrMaxLength(*psczPath, &cchPath); | 402 | hr = StrMaxLength(*psczPath, &cchPath); |
diff --git a/src/dutil/strutil.cpp b/src/dutil/strutil.cpp index 4e184c34..c1d701d3 100644 --- a/src/dutil/strutil.cpp +++ b/src/dutil/strutil.cpp | |||
| @@ -7,19 +7,19 @@ | |||
| 7 | // Forward declarations. | 7 | // Forward declarations. |
| 8 | static HRESULT AllocHelper( | 8 | static HRESULT AllocHelper( |
| 9 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, | 9 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, |
| 10 | __in DWORD_PTR cch, | 10 | __in SIZE_T cch, |
| 11 | __in BOOL fZeroOnRealloc | 11 | __in BOOL fZeroOnRealloc |
| 12 | ); | 12 | ); |
| 13 | static HRESULT AllocStringHelper( | 13 | static HRESULT AllocStringHelper( |
| 14 | __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, | 14 | __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, |
| 15 | __in_z LPCWSTR wzSource, | 15 | __in_z LPCWSTR wzSource, |
| 16 | __in DWORD_PTR cchSource, | 16 | __in SIZE_T cchSource, |
| 17 | __in BOOL fZeroOnRealloc | 17 | __in BOOL fZeroOnRealloc |
| 18 | ); | 18 | ); |
| 19 | static HRESULT AllocConcatHelper( | 19 | static HRESULT AllocConcatHelper( |
| 20 | __deref_out_z LPWSTR* ppwz, | 20 | __deref_out_z LPWSTR* ppwz, |
| 21 | __in_z LPCWSTR wzSource, | 21 | __in_z LPCWSTR wzSource, |
| 22 | __in DWORD_PTR cchSource, | 22 | __in SIZE_T cchSource, |
| 23 | __in BOOL fZeroOnRealloc | 23 | __in BOOL fZeroOnRealloc |
| 24 | ); | 24 | ); |
| 25 | static HRESULT AllocFormattedArgsHelper( | 25 | static HRESULT AllocFormattedArgsHelper( |
| @@ -42,7 +42,7 @@ NOTE: caller is responsible for freeing ppwz even if function fails | |||
| 42 | ********************************************************************/ | 42 | ********************************************************************/ |
| 43 | extern "C" HRESULT DAPI StrAlloc( | 43 | extern "C" HRESULT DAPI StrAlloc( |
| 44 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, | 44 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, |
| 45 | __in DWORD_PTR cch | 45 | __in SIZE_T cch |
| 46 | ) | 46 | ) |
| 47 | { | 47 | { |
| 48 | return AllocHelper(ppwz, cch, FALSE); | 48 | return AllocHelper(ppwz, cch, FALSE); |
| @@ -57,7 +57,7 @@ NOTE: caller is responsible for freeing ppwz even if function fails | |||
| 57 | ********************************************************************/ | 57 | ********************************************************************/ |
| 58 | extern "C" HRESULT DAPI StrAllocSecure( | 58 | extern "C" HRESULT DAPI StrAllocSecure( |
| 59 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, | 59 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, |
| 60 | __in DWORD_PTR cch | 60 | __in SIZE_T cch |
| 61 | ) | 61 | ) |
| 62 | { | 62 | { |
| 63 | return AllocHelper(ppwz, cch, TRUE); | 63 | return AllocHelper(ppwz, cch, TRUE); |
| @@ -72,7 +72,7 @@ NOTE: caller is responsible for freeing ppwz even if function fails | |||
| 72 | ********************************************************************/ | 72 | ********************************************************************/ |
| 73 | static HRESULT AllocHelper( | 73 | static HRESULT AllocHelper( |
| 74 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, | 74 | __deref_out_ecount_part(cch, 0) LPWSTR* ppwz, |
| 75 | __in DWORD_PTR cch, | 75 | __in SIZE_T cch, |
| 76 | __in BOOL fZeroOnRealloc | 76 | __in BOOL fZeroOnRealloc |
| 77 | ) | 77 | ) |
| 78 | { | 78 | { |
| @@ -128,7 +128,7 @@ HRESULT DAPI StrTrimCapacity( | |||
| 128 | Assert(ppwz); | 128 | Assert(ppwz); |
| 129 | 129 | ||
| 130 | HRESULT hr = S_OK; | 130 | HRESULT hr = S_OK; |
| 131 | DWORD_PTR cchLen = 0; | 131 | SIZE_T cchLen = 0; |
| 132 | 132 | ||
| 133 | hr = ::StringCchLengthW(*ppwz, STRSAFE_MAX_CCH, reinterpret_cast<UINT_PTR*>(&cchLen)); | 133 | hr = ::StringCchLengthW(*ppwz, STRSAFE_MAX_CCH, reinterpret_cast<UINT_PTR*>(&cchLen)); |
| 134 | ExitOnFailure(hr, "Failed to calculate length of string"); | 134 | ExitOnFailure(hr, "Failed to calculate length of string"); |
| @@ -201,7 +201,7 @@ NOTE: caller is responsible for freeing ppsz even if function fails | |||
| 201 | ********************************************************************/ | 201 | ********************************************************************/ |
| 202 | extern "C" HRESULT DAPI StrAnsiAlloc( | 202 | extern "C" HRESULT DAPI StrAnsiAlloc( |
| 203 | __deref_out_ecount_part(cch, 0) LPSTR* ppsz, | 203 | __deref_out_ecount_part(cch, 0) LPSTR* ppsz, |
| 204 | __in DWORD_PTR cch | 204 | __in SIZE_T cch |
| 205 | ) | 205 | ) |
| 206 | { | 206 | { |
| 207 | Assert(ppsz && cch); | 207 | Assert(ppsz && cch); |
| @@ -246,7 +246,7 @@ HRESULT DAPI StrAnsiTrimCapacity( | |||
| 246 | Assert(ppz); | 246 | Assert(ppz); |
| 247 | 247 | ||
| 248 | HRESULT hr = S_OK; | 248 | HRESULT hr = S_OK; |
| 249 | DWORD_PTR cchLen = 0; | 249 | SIZE_T cchLen = 0; |
| 250 | 250 | ||
| 251 | #pragma prefast(push) | 251 | #pragma prefast(push) |
| 252 | #pragma prefast(disable:25068) | 252 | #pragma prefast(disable:25068) |
| @@ -324,7 +324,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 324 | extern "C" HRESULT DAPI StrAllocString( | 324 | extern "C" HRESULT DAPI StrAllocString( |
| 325 | __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, | 325 | __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, |
| 326 | __in_z LPCWSTR wzSource, | 326 | __in_z LPCWSTR wzSource, |
| 327 | __in DWORD_PTR cchSource | 327 | __in SIZE_T cchSource |
| 328 | ) | 328 | ) |
| 329 | { | 329 | { |
| 330 | return AllocStringHelper(ppwz, wzSource, cchSource, FALSE); | 330 | return AllocStringHelper(ppwz, wzSource, cchSource, FALSE); |
| @@ -342,7 +342,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 342 | extern "C" HRESULT DAPI StrAllocStringSecure( | 342 | extern "C" HRESULT DAPI StrAllocStringSecure( |
| 343 | __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, | 343 | __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, |
| 344 | __in_z LPCWSTR wzSource, | 344 | __in_z LPCWSTR wzSource, |
| 345 | __in DWORD_PTR cchSource | 345 | __in SIZE_T cchSource |
| 346 | ) | 346 | ) |
| 347 | { | 347 | { |
| 348 | return AllocStringHelper(ppwz, wzSource, cchSource, TRUE); | 348 | return AllocStringHelper(ppwz, wzSource, cchSource, TRUE); |
| @@ -360,14 +360,14 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 360 | static HRESULT AllocStringHelper( | 360 | static HRESULT AllocStringHelper( |
| 361 | __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, | 361 | __deref_out_ecount_z(cchSource + 1) LPWSTR* ppwz, |
| 362 | __in_z LPCWSTR wzSource, | 362 | __in_z LPCWSTR wzSource, |
| 363 | __in DWORD_PTR cchSource, | 363 | __in SIZE_T cchSource, |
| 364 | __in BOOL fZeroOnRealloc | 364 | __in BOOL fZeroOnRealloc |
| 365 | ) | 365 | ) |
| 366 | { | 366 | { |
| 367 | Assert(ppwz && wzSource); // && *wzSource); | 367 | Assert(ppwz && wzSource); // && *wzSource); |
| 368 | 368 | ||
| 369 | HRESULT hr = S_OK; | 369 | HRESULT hr = S_OK; |
| 370 | DWORD_PTR cch = 0; | 370 | SIZE_T cch = 0; |
| 371 | 371 | ||
| 372 | if (*ppwz) | 372 | if (*ppwz) |
| 373 | { | 373 | { |
| @@ -385,7 +385,7 @@ static HRESULT AllocStringHelper( | |||
| 385 | cchSource = lstrlenW(wzSource); | 385 | cchSource = lstrlenW(wzSource); |
| 386 | } | 386 | } |
| 387 | 387 | ||
| 388 | DWORD_PTR cchNeeded; | 388 | SIZE_T cchNeeded; |
| 389 | hr = ::ULongPtrAdd(cchSource, 1, &cchNeeded); // add one for the null terminator | 389 | hr = ::ULongPtrAdd(cchSource, 1, &cchNeeded); // add one for the null terminator |
| 390 | ExitOnFailure(hr, "source string is too long"); | 390 | ExitOnFailure(hr, "source string is too long"); |
| 391 | 391 | ||
| @@ -414,7 +414,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 414 | extern "C" HRESULT DAPI StrAnsiAllocString( | 414 | extern "C" HRESULT DAPI StrAnsiAllocString( |
| 415 | __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, | 415 | __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, |
| 416 | __in_z LPCWSTR wzSource, | 416 | __in_z LPCWSTR wzSource, |
| 417 | __in DWORD_PTR cchSource, | 417 | __in SIZE_T cchSource, |
| 418 | __in UINT uiCodepage | 418 | __in UINT uiCodepage |
| 419 | ) | 419 | ) |
| 420 | { | 420 | { |
| @@ -422,8 +422,8 @@ extern "C" HRESULT DAPI StrAnsiAllocString( | |||
| 422 | 422 | ||
| 423 | HRESULT hr = S_OK; | 423 | HRESULT hr = S_OK; |
| 424 | LPSTR psz = NULL; | 424 | LPSTR psz = NULL; |
| 425 | DWORD_PTR cch = 0; | 425 | SIZE_T cch = 0; |
| 426 | DWORD_PTR cchDest = cchSource; // at least enough | 426 | SIZE_T cchDest = cchSource; // at least enough |
| 427 | 427 | ||
| 428 | if (*ppsz) | 428 | if (*ppsz) |
| 429 | { | 429 | { |
| @@ -494,7 +494,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 494 | extern "C" HRESULT DAPI StrAllocStringAnsi( | 494 | extern "C" HRESULT DAPI StrAllocStringAnsi( |
| 495 | __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, | 495 | __deref_out_ecount_z(cchSource+1) LPWSTR* ppwz, |
| 496 | __in_z LPCSTR szSource, | 496 | __in_z LPCSTR szSource, |
| 497 | __in DWORD_PTR cchSource, | 497 | __in SIZE_T cchSource, |
| 498 | __in UINT uiCodepage | 498 | __in UINT uiCodepage |
| 499 | ) | 499 | ) |
| 500 | { | 500 | { |
| @@ -502,8 +502,8 @@ extern "C" HRESULT DAPI StrAllocStringAnsi( | |||
| 502 | 502 | ||
| 503 | HRESULT hr = S_OK; | 503 | HRESULT hr = S_OK; |
| 504 | LPWSTR pwz = NULL; | 504 | LPWSTR pwz = NULL; |
| 505 | DWORD_PTR cch = 0; | 505 | SIZE_T cch = 0; |
| 506 | DWORD_PTR cchDest = cchSource; // at least enough | 506 | SIZE_T cchDest = cchSource; // at least enough |
| 507 | 507 | ||
| 508 | if (*ppwz) | 508 | if (*ppwz) |
| 509 | { | 509 | { |
| @@ -575,13 +575,13 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 575 | HRESULT DAPI StrAnsiAllocStringAnsi( | 575 | HRESULT DAPI StrAnsiAllocStringAnsi( |
| 576 | __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, | 576 | __deref_out_ecount_z(cchSource+1) LPSTR* ppsz, |
| 577 | __in_z LPCSTR szSource, | 577 | __in_z LPCSTR szSource, |
| 578 | __in DWORD_PTR cchSource | 578 | __in SIZE_T cchSource |
| 579 | ) | 579 | ) |
| 580 | { | 580 | { |
| 581 | Assert(ppsz && szSource); // && *szSource); | 581 | Assert(ppsz && szSource); // && *szSource); |
| 582 | 582 | ||
| 583 | HRESULT hr = S_OK; | 583 | HRESULT hr = S_OK; |
| 584 | DWORD_PTR cch = 0; | 584 | SIZE_T cch = 0; |
| 585 | 585 | ||
| 586 | if (*ppsz) | 586 | if (*ppsz) |
| 587 | { | 587 | { |
| @@ -599,7 +599,7 @@ HRESULT DAPI StrAnsiAllocStringAnsi( | |||
| 599 | cchSource = lstrlenA(szSource); | 599 | cchSource = lstrlenA(szSource); |
| 600 | } | 600 | } |
| 601 | 601 | ||
| 602 | DWORD_PTR cchNeeded; | 602 | SIZE_T cchNeeded; |
| 603 | hr = ::ULongPtrAdd(cchSource, 1, &cchNeeded); // add one for the null terminator | 603 | hr = ::ULongPtrAdd(cchSource, 1, &cchNeeded); // add one for the null terminator |
| 604 | ExitOnFailure(hr, "source string is too long"); | 604 | ExitOnFailure(hr, "source string is too long"); |
| 605 | 605 | ||
| @@ -632,14 +632,14 @@ NOTE: if cchPrefix == 0, length of wzPrefix is used instead | |||
| 632 | extern "C" HRESULT DAPI StrAllocPrefix( | 632 | extern "C" HRESULT DAPI StrAllocPrefix( |
| 633 | __deref_out_z LPWSTR* ppwz, | 633 | __deref_out_z LPWSTR* ppwz, |
| 634 | __in_z LPCWSTR wzPrefix, | 634 | __in_z LPCWSTR wzPrefix, |
| 635 | __in DWORD_PTR cchPrefix | 635 | __in SIZE_T cchPrefix |
| 636 | ) | 636 | ) |
| 637 | { | 637 | { |
| 638 | Assert(ppwz && wzPrefix); | 638 | Assert(ppwz && wzPrefix); |
| 639 | 639 | ||
| 640 | HRESULT hr = S_OK; | 640 | HRESULT hr = S_OK; |
| 641 | DWORD_PTR cch = 0; | 641 | SIZE_T cch = 0; |
| 642 | DWORD_PTR cchLen = 0; | 642 | SIZE_T cchLen = 0; |
| 643 | 643 | ||
| 644 | if (*ppwz) | 644 | if (*ppwz) |
| 645 | { | 645 | { |
| @@ -672,8 +672,8 @@ extern "C" HRESULT DAPI StrAllocPrefix( | |||
| 672 | 672 | ||
| 673 | if (*ppwz) | 673 | if (*ppwz) |
| 674 | { | 674 | { |
| 675 | DWORD_PTR cb = cch * sizeof(WCHAR); | 675 | SIZE_T cb = cch * sizeof(WCHAR); |
| 676 | DWORD_PTR cbPrefix = cchPrefix * sizeof(WCHAR); | 676 | SIZE_T cbPrefix = cchPrefix * sizeof(WCHAR); |
| 677 | 677 | ||
| 678 | memmove(*ppwz + cchPrefix, *ppwz, cb - cbPrefix); | 678 | memmove(*ppwz + cchPrefix, *ppwz, cb - cbPrefix); |
| 679 | memcpy(*ppwz, wzPrefix, cbPrefix); | 679 | memcpy(*ppwz, wzPrefix, cbPrefix); |
| @@ -699,7 +699,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 699 | extern "C" HRESULT DAPI StrAllocConcat( | 699 | extern "C" HRESULT DAPI StrAllocConcat( |
| 700 | __deref_out_z LPWSTR* ppwz, | 700 | __deref_out_z LPWSTR* ppwz, |
| 701 | __in_z LPCWSTR wzSource, | 701 | __in_z LPCWSTR wzSource, |
| 702 | __in DWORD_PTR cchSource | 702 | __in SIZE_T cchSource |
| 703 | ) | 703 | ) |
| 704 | { | 704 | { |
| 705 | return AllocConcatHelper(ppwz, wzSource, cchSource, FALSE); | 705 | return AllocConcatHelper(ppwz, wzSource, cchSource, FALSE); |
| @@ -718,7 +718,7 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 718 | extern "C" HRESULT DAPI StrAllocConcatSecure( | 718 | extern "C" HRESULT DAPI StrAllocConcatSecure( |
| 719 | __deref_out_z LPWSTR* ppwz, | 719 | __deref_out_z LPWSTR* ppwz, |
| 720 | __in_z LPCWSTR wzSource, | 720 | __in_z LPCWSTR wzSource, |
| 721 | __in DWORD_PTR cchSource | 721 | __in SIZE_T cchSource |
| 722 | ) | 722 | ) |
| 723 | { | 723 | { |
| 724 | return AllocConcatHelper(ppwz, wzSource, cchSource, TRUE); | 724 | return AllocConcatHelper(ppwz, wzSource, cchSource, TRUE); |
| @@ -737,15 +737,15 @@ NOTE: if cchSource == 0, length of wzSource is used instead | |||
| 737 | static HRESULT AllocConcatHelper( | 737 | static HRESULT AllocConcatHelper( |
| 738 | __deref_out_z LPWSTR* ppwz, | 738 | __deref_out_z LPWSTR* ppwz, |
| 739 | __in_z LPCWSTR wzSource, | 739 | __in_z LPCWSTR wzSource, |
| 740 | __in DWORD_PTR cchSource, | 740 | __in SIZE_T cchSource, |
| 741 | __in BOOL fZeroOnRealloc | 741 | __in BOOL fZeroOnRealloc |
| 742 | ) | 742 | ) |
| 743 | { | 743 | { |
| 744 | Assert(ppwz && wzSource); // && *wzSource); | 744 | Assert(ppwz && wzSource); // && *wzSource); |
| 745 | 745 | ||
| 746 | HRESULT hr = S_OK; | 746 | HRESULT hr = S_OK; |
| 747 | DWORD_PTR cch = 0; | 747 | SIZE_T cch = 0; |
| 748 | DWORD_PTR cchLen = 0; | 748 | SIZE_T cchLen = 0; |
| 749 | 749 | ||
| 750 | if (*ppwz) | 750 | if (*ppwz) |
| 751 | { | 751 | { |
| @@ -801,14 +801,14 @@ NOTE: if cchSource == 0, length of pzSource is used instead | |||
| 801 | extern "C" HRESULT DAPI StrAnsiAllocConcat( | 801 | extern "C" HRESULT DAPI StrAnsiAllocConcat( |
| 802 | __deref_out_z LPSTR* ppz, | 802 | __deref_out_z LPSTR* ppz, |
| 803 | __in_z LPCSTR pzSource, | 803 | __in_z LPCSTR pzSource, |
| 804 | __in DWORD_PTR cchSource | 804 | __in SIZE_T cchSource |
| 805 | ) | 805 | ) |
| 806 | { | 806 | { |
| 807 | Assert(ppz && pzSource); // && *pzSource); | 807 | Assert(ppz && pzSource); // && *pzSource); |
| 808 | 808 | ||
| 809 | HRESULT hr = S_OK; | 809 | HRESULT hr = S_OK; |
| 810 | DWORD_PTR cch = 0; | 810 | SIZE_T cch = 0; |
| 811 | DWORD_PTR cchLen = 0; | 811 | SIZE_T cchLen = 0; |
| 812 | 812 | ||
| 813 | if (*ppz) | 813 | if (*ppz) |
| 814 | { | 814 | { |
| @@ -842,7 +842,7 @@ extern "C" HRESULT DAPI StrAnsiAllocConcat( | |||
| 842 | { | 842 | { |
| 843 | cch = (cchSource + cchLen + 1) * 2; | 843 | cch = (cchSource + cchLen + 1) * 2; |
| 844 | hr = StrAnsiAlloc(ppz, cch); | 844 | hr = StrAnsiAlloc(ppz, cch); |
| 845 | ExitOnFailure(hr, "failed to allocate string from string: %ls", pzSource); | 845 | ExitOnFailure(hr, "failed to allocate string from string: %hs", pzSource); |
| 846 | } | 846 | } |
| 847 | 847 | ||
| 848 | if (*ppz) | 848 | if (*ppz) |
| @@ -1138,7 +1138,7 @@ extern "C" HRESULT DAPI StrAnsiAllocFormattedArgs( | |||
| 1138 | Assert(ppsz && szFormat && *szFormat); | 1138 | Assert(ppsz && szFormat && *szFormat); |
| 1139 | 1139 | ||
| 1140 | HRESULT hr = S_OK; | 1140 | HRESULT hr = S_OK; |
| 1141 | DWORD_PTR cch = *ppsz ? MemSize(*ppsz) / sizeof(CHAR) : 0; | 1141 | SIZE_T cch = *ppsz ? MemSize(*ppsz) / sizeof(CHAR) : 0; |
| 1142 | LPSTR pszOriginal = NULL; | 1142 | LPSTR pszOriginal = NULL; |
| 1143 | DWORD cchOriginal = 0; | 1143 | DWORD cchOriginal = 0; |
| 1144 | 1144 | ||
| @@ -1183,7 +1183,7 @@ extern "C" HRESULT DAPI StrAnsiAllocFormattedArgs( | |||
| 1183 | } | 1183 | } |
| 1184 | cch *= 2; | 1184 | cch *= 2; |
| 1185 | hr = StrAnsiAlloc(ppsz, cch); | 1185 | hr = StrAnsiAlloc(ppsz, cch); |
| 1186 | ExitOnFailure(hr, "failed to allocate string to format: %ls", szFormat); | 1186 | ExitOnFailure(hr, "failed to allocate string to format: %hs", szFormat); |
| 1187 | hr = S_FALSE; | 1187 | hr = S_FALSE; |
| 1188 | } | 1188 | } |
| 1189 | } while (S_FALSE == hr); | 1189 | } while (S_FALSE == hr); |
| @@ -1247,7 +1247,7 @@ NOTE: assumes Unicode string | |||
| 1247 | ********************************************************************/ | 1247 | ********************************************************************/ |
| 1248 | extern "C" HRESULT DAPI StrMaxLength( | 1248 | extern "C" HRESULT DAPI StrMaxLength( |
| 1249 | __in LPCVOID p, | 1249 | __in LPCVOID p, |
| 1250 | __out DWORD_PTR* pcch | 1250 | __out SIZE_T* pcch |
| 1251 | ) | 1251 | ) |
| 1252 | { | 1252 | { |
| 1253 | Assert(pcch); | 1253 | Assert(pcch); |
| @@ -1281,7 +1281,7 @@ StrSize - returns count of bytes in dynamic string p | |||
| 1281 | ********************************************************************/ | 1281 | ********************************************************************/ |
| 1282 | extern "C" HRESULT DAPI StrSize( | 1282 | extern "C" HRESULT DAPI StrSize( |
| 1283 | __in LPCVOID p, | 1283 | __in LPCVOID p, |
| 1284 | __out DWORD_PTR* pcb | 1284 | __out SIZE_T* pcb |
| 1285 | ) | 1285 | ) |
| 1286 | { | 1286 | { |
| 1287 | Assert(p && pcb); | 1287 | Assert(p && pcb); |
| @@ -1430,9 +1430,9 @@ NOTE: wzDest must have space for cbSource * 2 + 1 characters | |||
| 1430 | ****************************************************************************/ | 1430 | ****************************************************************************/ |
| 1431 | extern "C" HRESULT DAPI StrHexEncode( | 1431 | extern "C" HRESULT DAPI StrHexEncode( |
| 1432 | __in_ecount(cbSource) const BYTE* pbSource, | 1432 | __in_ecount(cbSource) const BYTE* pbSource, |
| 1433 | __in DWORD_PTR cbSource, | 1433 | __in SIZE_T cbSource, |
| 1434 | __out_ecount(cchDest) LPWSTR wzDest, | 1434 | __out_ecount(cchDest) LPWSTR wzDest, |
| 1435 | __in DWORD_PTR cchDest | 1435 | __in SIZE_T cchDest |
| 1436 | ) | 1436 | ) |
| 1437 | { | 1437 | { |
| 1438 | Assert(pbSource && wzDest); | 1438 | Assert(pbSource && wzDest); |
| @@ -1469,12 +1469,12 @@ StrAllocHexEncode - converts an array of bytes to an allocated text string | |||
| 1469 | ****************************************************************************/ | 1469 | ****************************************************************************/ |
| 1470 | HRESULT DAPI StrAllocHexEncode( | 1470 | HRESULT DAPI StrAllocHexEncode( |
| 1471 | __in_ecount(cbSource) const BYTE* pbSource, | 1471 | __in_ecount(cbSource) const BYTE* pbSource, |
| 1472 | __in DWORD_PTR cbSource, | 1472 | __in SIZE_T cbSource, |
| 1473 | __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest | 1473 | __deref_out_ecount_z(2*(cbSource+1)) LPWSTR* ppwzDest |
| 1474 | ) | 1474 | ) |
| 1475 | { | 1475 | { |
| 1476 | HRESULT hr = S_OK; | 1476 | HRESULT hr = S_OK; |
| 1477 | DWORD_PTR cchSource = sizeof(WCHAR) * (cbSource + 1); | 1477 | SIZE_T cchSource = sizeof(WCHAR) * (cbSource + 1); |
| 1478 | 1478 | ||
| 1479 | hr = StrAlloc(ppwzDest, cchSource); | 1479 | hr = StrAlloc(ppwzDest, cchSource); |
| 1480 | ExitOnFailure(hr, "Failed to allocate hex string."); | 1480 | ExitOnFailure(hr, "Failed to allocate hex string."); |
| @@ -1495,7 +1495,7 @@ NOTE: wzSource must contain even number of characters | |||
| 1495 | extern "C" HRESULT DAPI StrHexDecode( | 1495 | extern "C" HRESULT DAPI StrHexDecode( |
| 1496 | __in_z LPCWSTR wzSource, | 1496 | __in_z LPCWSTR wzSource, |
| 1497 | __out_bcount(cbDest) BYTE* pbDest, | 1497 | __out_bcount(cbDest) BYTE* pbDest, |
| 1498 | __in DWORD_PTR cbDest | 1498 | __in SIZE_T cbDest |
| 1499 | ) | 1499 | ) |
| 1500 | { | 1500 | { |
| 1501 | Assert(wzSource && pbDest); | 1501 | Assert(wzSource && pbDest); |
| @@ -1612,12 +1612,12 @@ StrAllocBase85Encode - converts an array of bytes into an XML compatible string | |||
| 1612 | ****************************************************************************/ | 1612 | ****************************************************************************/ |
| 1613 | extern "C" HRESULT DAPI StrAllocBase85Encode( | 1613 | extern "C" HRESULT DAPI StrAllocBase85Encode( |
| 1614 | __in_bcount_opt(cbSource) const BYTE* pbSource, | 1614 | __in_bcount_opt(cbSource) const BYTE* pbSource, |
| 1615 | __in DWORD_PTR cbSource, | 1615 | __in SIZE_T cbSource, |
| 1616 | __deref_out_z LPWSTR* pwzDest | 1616 | __deref_out_z LPWSTR* pwzDest |
| 1617 | ) | 1617 | ) |
| 1618 | { | 1618 | { |
| 1619 | HRESULT hr = S_OK; | 1619 | HRESULT hr = S_OK; |
| 1620 | DWORD_PTR cchDest = 0; | 1620 | SIZE_T cchDest = 0; |
| 1621 | LPWSTR wzDest; | 1621 | LPWSTR wzDest; |
| 1622 | DWORD_PTR iSource = 0; | 1622 | DWORD_PTR iSource = 0; |
| 1623 | DWORD_PTR iDest = 0; | 1623 | DWORD_PTR iDest = 0; |
| @@ -1709,15 +1709,15 @@ NOTE: Use MemFree() to release the allocated stream of bytes | |||
| 1709 | extern "C" HRESULT DAPI StrAllocBase85Decode( | 1709 | extern "C" HRESULT DAPI StrAllocBase85Decode( |
| 1710 | __in_z LPCWSTR wzSource, | 1710 | __in_z LPCWSTR wzSource, |
| 1711 | __deref_out_bcount(*pcbDest) BYTE** ppbDest, | 1711 | __deref_out_bcount(*pcbDest) BYTE** ppbDest, |
| 1712 | __out DWORD_PTR* pcbDest | 1712 | __out SIZE_T* pcbDest |
| 1713 | ) | 1713 | ) |
| 1714 | { | 1714 | { |
| 1715 | HRESULT hr = S_OK; | 1715 | HRESULT hr = S_OK; |
| 1716 | DWORD_PTR cchSource = lstrlenW(wzSource); | 1716 | SIZE_T cchSource = lstrlenW(wzSource); |
| 1717 | DWORD_PTR i, n, k; | 1717 | DWORD_PTR i, n, k; |
| 1718 | 1718 | ||
| 1719 | BYTE* pbDest; | 1719 | BYTE* pbDest; |
| 1720 | DWORD_PTR cbDest; | 1720 | SIZE_T cbDest; |
| 1721 | 1721 | ||
| 1722 | if (!wzSource || !ppbDest || !pcbDest) | 1722 | if (!wzSource || !ppbDest || !pcbDest) |
| 1723 | { | 1723 | { |
| @@ -1849,9 +1849,9 @@ including the double null terminator at the end of the MULTISZ. | |||
| 1849 | NOTE: returns 0 if the multisz in not properly terminated with two nulls | 1849 | NOTE: returns 0 if the multisz in not properly terminated with two nulls |
| 1850 | ****************************************************************************/ | 1850 | ****************************************************************************/ |
| 1851 | extern "C" HRESULT DAPI MultiSzLen( | 1851 | extern "C" HRESULT DAPI MultiSzLen( |
| 1852 | __in __nullnullterminated LPCWSTR pwzMultiSz, | 1852 | __in_ecount(*pcch) __nullnullterminated LPCWSTR pwzMultiSz, |
| 1853 | __out DWORD_PTR* pcch | 1853 | __out SIZE_T* pcch |
| 1854 | ) | 1854 | ) |
| 1855 | { | 1855 | { |
| 1856 | Assert(pcch); | 1856 | Assert(pcch); |
| 1857 | 1857 | ||
| @@ -1894,7 +1894,7 @@ MultiSzPrepend - prepends a string onto the front of a MUTLISZ | |||
| 1894 | ****************************************************************************/ | 1894 | ****************************************************************************/ |
| 1895 | extern "C" HRESULT DAPI MultiSzPrepend( | 1895 | extern "C" HRESULT DAPI MultiSzPrepend( |
| 1896 | __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz, | 1896 | __deref_inout_ecount(*pcchMultiSz) __nullnullterminated LPWSTR* ppwzMultiSz, |
| 1897 | __inout_opt DWORD_PTR *pcchMultiSz, | 1897 | __inout_opt SIZE_T* pcchMultiSz, |
| 1898 | __in __nullnullterminated LPCWSTR pwzInsert | 1898 | __in __nullnullterminated LPCWSTR pwzInsert |
| 1899 | ) | 1899 | ) |
| 1900 | { | 1900 | { |
| @@ -1902,9 +1902,9 @@ extern "C" HRESULT DAPI MultiSzPrepend( | |||
| 1902 | 1902 | ||
| 1903 | HRESULT hr =S_OK; | 1903 | HRESULT hr =S_OK; |
| 1904 | LPWSTR pwzResult = NULL; | 1904 | LPWSTR pwzResult = NULL; |
| 1905 | DWORD_PTR cchResult = 0; | 1905 | SIZE_T cchResult = 0; |
| 1906 | DWORD_PTR cchInsert = 0; | 1906 | SIZE_T cchInsert = 0; |
| 1907 | DWORD_PTR cchMultiSz = 0; | 1907 | SIZE_T cchMultiSz = 0; |
| 1908 | 1908 | ||
| 1909 | // Get the lengths of the MULTISZ (and prime it if it's not initialized) | 1909 | // Get the lengths of the MULTISZ (and prime it if it's not initialized) |
| 1910 | if (pcchMultiSz && 0 != *pcchMultiSz) | 1910 | if (pcchMultiSz && 0 != *pcchMultiSz) |
| @@ -1979,8 +1979,8 @@ extern "C" HRESULT DAPI MultiSzFindSubstring( | |||
| 1979 | HRESULT hr = S_FALSE; // Assume we won't find it (the glass is half empty) | 1979 | HRESULT hr = S_FALSE; // Assume we won't find it (the glass is half empty) |
| 1980 | LPCWSTR wz = pwzMultiSz; | 1980 | LPCWSTR wz = pwzMultiSz; |
| 1981 | DWORD_PTR dwIndex = 0; | 1981 | DWORD_PTR dwIndex = 0; |
| 1982 | DWORD_PTR cchMultiSz = 0; | 1982 | SIZE_T cchMultiSz = 0; |
| 1983 | DWORD_PTR cchProgress = 0; | 1983 | SIZE_T cchProgress = 0; |
| 1984 | 1984 | ||
| 1985 | hr = MultiSzLen(pwzMultiSz, &cchMultiSz); | 1985 | hr = MultiSzLen(pwzMultiSz, &cchMultiSz); |
| 1986 | ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); | 1986 | ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); |
| @@ -2045,8 +2045,8 @@ extern "C" HRESULT DAPI MultiSzFindString( | |||
| 2045 | HRESULT hr = S_FALSE; // Assume we won't find it | 2045 | HRESULT hr = S_FALSE; // Assume we won't find it |
| 2046 | LPCWSTR wz = pwzMultiSz; | 2046 | LPCWSTR wz = pwzMultiSz; |
| 2047 | DWORD_PTR dwIndex = 0; | 2047 | DWORD_PTR dwIndex = 0; |
| 2048 | DWORD_PTR cchMutliSz = 0; | 2048 | SIZE_T cchMutliSz = 0; |
| 2049 | DWORD_PTR cchProgress = 0; | 2049 | SIZE_T cchProgress = 0; |
| 2050 | 2050 | ||
| 2051 | hr = MultiSzLen(pwzMultiSz, &cchMutliSz); | 2051 | hr = MultiSzLen(pwzMultiSz, &cchMutliSz); |
| 2052 | ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); | 2052 | ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); |
| @@ -2112,8 +2112,8 @@ extern "C" HRESULT DAPI MultiSzRemoveString( | |||
| 2112 | LPCWSTR wz = *ppwzMultiSz; | 2112 | LPCWSTR wz = *ppwzMultiSz; |
| 2113 | LPCWSTR wzNext = NULL; | 2113 | LPCWSTR wzNext = NULL; |
| 2114 | DWORD_PTR dwCurrentIndex = 0; | 2114 | DWORD_PTR dwCurrentIndex = 0; |
| 2115 | DWORD_PTR cchMultiSz = 0; | 2115 | SIZE_T cchMultiSz = 0; |
| 2116 | DWORD_PTR cchProgress = 0; | 2116 | SIZE_T cchProgress = 0; |
| 2117 | 2117 | ||
| 2118 | hr = MultiSzLen(*ppwzMultiSz, &cchMultiSz); | 2118 | hr = MultiSzLen(*ppwzMultiSz, &cchMultiSz); |
| 2119 | ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); | 2119 | ExitOnFailure(hr, "failed to get the length of a MULTISZ string"); |
| @@ -2179,7 +2179,7 @@ MultiSzInsertString - inserts new string at the specified index | |||
| 2179 | ****************************************************************************/ | 2179 | ****************************************************************************/ |
| 2180 | extern "C" HRESULT DAPI MultiSzInsertString( | 2180 | extern "C" HRESULT DAPI MultiSzInsertString( |
| 2181 | __deref_inout __nullnullterminated LPWSTR* ppwzMultiSz, | 2181 | __deref_inout __nullnullterminated LPWSTR* ppwzMultiSz, |
| 2182 | __inout_opt DWORD_PTR *pcchMultiSz, | 2182 | __inout_opt SIZE_T* pcchMultiSz, |
| 2183 | __in DWORD_PTR dwIndex, | 2183 | __in DWORD_PTR dwIndex, |
| 2184 | __in __nullnullterminated LPCWSTR pwzInsert | 2184 | __in __nullnullterminated LPCWSTR pwzInsert |
| 2185 | ) | 2185 | ) |
| @@ -2189,11 +2189,11 @@ extern "C" HRESULT DAPI MultiSzInsertString( | |||
| 2189 | HRESULT hr = S_OK; | 2189 | HRESULT hr = S_OK; |
| 2190 | LPCWSTR wz = *ppwzMultiSz; | 2190 | LPCWSTR wz = *ppwzMultiSz; |
| 2191 | DWORD_PTR dwCurrentIndex = 0; | 2191 | DWORD_PTR dwCurrentIndex = 0; |
| 2192 | DWORD_PTR cchProgress = 0; | 2192 | SIZE_T cchProgress = 0; |
| 2193 | LPWSTR pwzResult = NULL; | 2193 | LPWSTR pwzResult = NULL; |
| 2194 | DWORD_PTR cchResult = 0; | 2194 | SIZE_T cchResult = 0; |
| 2195 | DWORD_PTR cchString = lstrlenW(pwzInsert); | 2195 | SIZE_T cchString = lstrlenW(pwzInsert); |
| 2196 | DWORD_PTR cchMultiSz = 0; | 2196 | SIZE_T cchMultiSz = 0; |
| 2197 | 2197 | ||
| 2198 | if (pcchMultiSz && 0 != *pcchMultiSz) | 2198 | if (pcchMultiSz && 0 != *pcchMultiSz) |
| 2199 | { | 2199 | { |
| @@ -2302,7 +2302,7 @@ extern "C" LPCWSTR DAPI wcsistr( | |||
| 2302 | { | 2302 | { |
| 2303 | LPCWSTR wzSource = wzString; | 2303 | LPCWSTR wzSource = wzString; |
| 2304 | LPCWSTR wzSearch = NULL; | 2304 | LPCWSTR wzSearch = NULL; |
| 2305 | DWORD_PTR cchSourceIndex = 0; | 2305 | SIZE_T cchSourceIndex = 0; |
| 2306 | 2306 | ||
| 2307 | // Walk through wzString (the source string) one character at a time | 2307 | // Walk through wzString (the source string) one character at a time |
| 2308 | while (*wzSource) | 2308 | while (*wzSource) |
| @@ -2600,7 +2600,7 @@ extern "C" HRESULT DAPI StrArrayAllocString( | |||
| 2600 | __deref_inout_ecount_opt(*pcStrArray) LPWSTR **prgsczStrArray, | 2600 | __deref_inout_ecount_opt(*pcStrArray) LPWSTR **prgsczStrArray, |
| 2601 | __inout LPUINT pcStrArray, | 2601 | __inout LPUINT pcStrArray, |
| 2602 | __in_z LPCWSTR wzSource, | 2602 | __in_z LPCWSTR wzSource, |
| 2603 | __in DWORD_PTR cchSource | 2603 | __in SIZE_T cchSource |
| 2604 | ) | 2604 | ) |
| 2605 | { | 2605 | { |
| 2606 | HRESULT hr = S_OK; | 2606 | HRESULT hr = S_OK; |
| @@ -2726,7 +2726,7 @@ extern "C" DAPI_(HRESULT) StrSecureZeroString( | |||
| 2726 | ) | 2726 | ) |
| 2727 | { | 2727 | { |
| 2728 | HRESULT hr = S_OK; | 2728 | HRESULT hr = S_OK; |
| 2729 | DWORD_PTR cch; | 2729 | SIZE_T cch; |
| 2730 | 2730 | ||
| 2731 | if (pwz) | 2731 | if (pwz) |
| 2732 | { | 2732 | { |
