Author: dquintana Date: Thu Jun 22 18:00:57 2017 New Revision: 75167
URL: http://svn.reactos.org/svn/reactos?rev=75167&view=rev Log: [NTOBJSHEX] * Fix gcc build. * Remove magic. * Address nitpicks.
Modified: trunk/reactos/dll/shellext/ntobjshex/ntobjenum.cpp trunk/reactos/dll/shellext/ntobjshex/regfolder.cpp
Modified: trunk/reactos/dll/shellext/ntobjshex/ntobjenum.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/shellext/ntobjshex/ntob... ============================================================================== --- trunk/reactos/dll/shellext/ntobjshex/ntobjenum.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/shellext/ntobjshex/ntobjenum.cpp [iso-8859-1] Thu Jun 22 18:00:57 2017 @@ -227,7 +227,7 @@ DWORD entryBufferLength = FIELD_OFFSET(RegPidlEntry, entryName) + sizeof(WCHAR) + cchName * sizeof(WCHAR);
// allocate space for the terminator - entryBufferLength += 2; + entryBufferLength += FIELD_OFFSET(SHITEMID, abID);
RegPidlEntry* entry = (RegPidlEntry*) CoTaskMemAlloc(entryBufferLength); if (!entry) @@ -377,7 +377,7 @@ }
// allocate space for the terminator - entryBufferLength += 2; + entryBufferLength += FIELD_OFFSET(SHITEMID, abID);
RegPidlEntry* entry = (RegPidlEntry*) CoTaskMemAlloc(entryBufferLength); if (!entry) @@ -432,7 +432,8 @@
DWORD entryBufferLength = FIELD_OFFSET(RegPidlEntry, entryName) + sizeof(WCHAR) + cchName * sizeof(WCHAR);
- BOOL copyData = dataSize <= 32; +#define MAX_EMBEDDED_DATA 32 + BOOL copyData = dataSize <= MAX_EMBEDDED_DATA; if (copyData) { entryBufferLength += dataSize + sizeof(WCHAR); @@ -441,7 +442,7 @@ }
// allocate space for the terminator - entryBufferLength += 2; + entryBufferLength += FIELD_OFFSET(SHITEMID, abID);
RegPidlEntry* entry = (RegPidlEntry*) CoTaskMemAlloc(entryBufferLength); if (!entry) @@ -636,7 +637,7 @@ }
// allocate space for the terminator - entryBufferLength += 2; + entryBufferLength += FIELD_OFFSET(SHITEMID, abID);
NtPidlEntry* entry = (NtPidlEntry*) CoTaskMemAlloc(entryBufferLength); if (!entry)
Modified: trunk/reactos/dll/shellext/ntobjshex/regfolder.cpp URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/shellext/ntobjshex/regf... ============================================================================== --- trunk/reactos/dll/shellext/ntobjshex/regfolder.cpp [iso-8859-1] (original) +++ trunk/reactos/dll/shellext/ntobjshex/regfolder.cpp [iso-8859-1] Thu Jun 22 18:00:57 2017 @@ -308,16 +308,16 @@ case REG_MULTI_SZ: { PCWSTR separator = L" "; // To match regedit - int sepChars = wcslen(separator); + size_t sepChars = wcslen(separator); int strings = 0; int stringChars = 0;
PCWSTR strData = (PCWSTR)td; while (*strData) { - int l = wcslen(strData); - stringChars += l; - strData += l + 1; // Skips null-terminator + size_t len = wcslen(strData); + stringChars += len; + strData += len + 1; // Skips null-terminator strings++; }
@@ -363,7 +363,7 @@ PWSTR strValue = (PWSTR)CoTaskMemAlloc(bufferLength); PWSTR strTemp = strValue; PBYTE data = (PBYTE)td; - for (int i = 0; i < contentsLength; i++) + for (DWORD i = 0; i < contentsLength; i++) { StringCbPrintfW(strTemp, bufferLength, L"%02x ", data[i]); strTemp += 3;