diff --git a/Source/ResourceVersionInfo.cpp b/Source/ResourceVersionInfo.cpp index 4ffd94dc..dcf4cfb5 100644 --- a/Source/ResourceVersionInfo.cpp +++ b/Source/ResourceVersionInfo.cpp @@ -145,7 +145,7 @@ int GetVersionHeader (LPSTR &p, WORD &wLength, WORD &wValueLength, WORD &wType) wType = *(WORD*)p; p += sizeof(WORD); szKey = (WCHAR*)p; - p += (WCStrLen(szKey)) * sizeof (WCHAR); + p += (winchar_strlen(szKey) + 1) * sizeof (WCHAR); while ( ((long)p % 4) != 0 ) p++; return p - baseP; @@ -168,7 +168,7 @@ void SaveVersionHeader (GrowBuf &strm, WORD wLength, WORD wValueLength, WORD wTy strm.add (&wValueLength, sizeof (wValueLength)); strm.add (&wType, sizeof (wType)); - keyLen = (WCStrLen(key)) * sizeof (WCHAR); + keyLen = (winchar_strlen(key) + 1) * sizeof (WCHAR); strm.add ((void*)key, keyLen); PadStream(strm); @@ -213,7 +213,7 @@ void CResourceVersionInfo::ExportToStream(GrowBuf &strm, int Index) p = stringInfoStream.getlen(); KeyName = winchar_fromansi(pChildStrings->getname(i), codepage); KeyValue = winchar_fromansi(pChildStrings->getvalue(i), codepage); - SaveVersionHeader (stringInfoStream, 0, WCStrLen(KeyValue), 1, KeyName, (void*)KeyValue); + SaveVersionHeader (stringInfoStream, 0, winchar_strlen(KeyValue) + 1, 1, KeyName, (void*)KeyValue); delete [] KeyName; delete [] KeyValue; wSize = stringInfoStream.getlen() - p; diff --git a/Source/util.cpp b/Source/util.cpp index 922de28b..23f7cc45 100644 --- a/Source/util.cpp +++ b/Source/util.cpp @@ -392,13 +392,6 @@ int generate_unicons_offsets(unsigned char* exeHeader, size_t exeHeaderSize, uns } #endif // NSIS_CONFIG_UNINSTALL_SUPPORT -// returns the number of WCHARs in str including null charcter -size_t WCStrLen(const WCHAR* szwStr) { - size_t i; - for (i = 0; szwStr[i]; i++); - return i+1; -} - #ifndef _WIN32 char *CharPrev(const char *s, const char *p) { if (!s || !p || p < s)