git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1994 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2002-12-22 20:53:34 +00:00
parent 4cea6a7811
commit ca8fd6774c

View file

@ -327,8 +327,8 @@ CResourceDirectory* CResourceEditor::ScanDirectory(PRESOURCE_DIRECTORY rdRoot, P
if (rdToScan->Entries[i].NameIsString) { if (rdToScan->Entries[i].NameIsString) {
PIMAGE_RESOURCE_DIR_STRING_U rds = PIMAGE_RESOURCE_DIR_STRING_U(rdToScan->Entries[i].NameOffset + (char*)rdRoot); PIMAGE_RESOURCE_DIR_STRING_U rds = PIMAGE_RESOURCE_DIR_STRING_U(rdToScan->Entries[i].NameOffset + (char*)rdRoot);
int mbsSize = WideCharToMultiByte(CP_ACP, 0, rds->NameString, rds->Length, 0, 0, 0, 0); int mbsSize = WideCharToMultiByte(CP_ACP, 0, rds->NameString, rds->Length, 0, 0, 0, 0);
szName = new char[mbsSize+1]; szName = new char[mbsSize+1];
WideCharToMultiByte(CP_ACP, 0, rds->NameString, rds->Length, szName, mbsSize, 0, 0); WideCharToMultiByte(CP_ACP, 0, rds->NameString, rds->Length, szName, mbsSize, 0, 0);
szName[mbsSize] = 0; szName[mbsSize] = 0;
} }
@ -433,9 +433,9 @@ void CResourceEditor::WriteRsrcSec(BYTE* pbRsrcSec) {
char* szName = cRDirE->GetName(); char* szName = cRDirE->GetName();
WORD iLen = lstrlen(szName); WORD iLen = lstrlen(szName);
WCHAR* szwName = new WCHAR[iLen]; WCHAR* szwName = new WCHAR[iLen];
// MultiByteToWideChar return value includes the null char, so -1 // MultiByteToWideChar return value includes the null char, so -1
iLen = MultiByteToWideChar(CP_ACP, 0, szName, iLen, szwName, iLen) - 1; iLen = MultiByteToWideChar(CP_ACP, 0, szName, iLen, szwName, iLen) - 1;
*(WORD*)seeker = iLen; *(WORD*)seeker = iLen;
seeker += sizeof(WORD); seeker += sizeof(WORD);
CopyMemory(seeker, szwName, iLen*sizeof(WCHAR)); CopyMemory(seeker, szwName, iLen*sizeof(WCHAR));
seeker += iLen*sizeof(WCHAR); seeker += iLen*sizeof(WCHAR);
@ -553,7 +553,7 @@ void CResourceDirectory::RemoveEntry(int i) {
m_rdDir.NumberOfNamedEntries--; m_rdDir.NumberOfNamedEntries--;
else else
m_rdDir.NumberOfIdEntries--; m_rdDir.NumberOfIdEntries--;
delete m_vEntries[i]; delete m_vEntries[i];
m_vEntries.erase(m_vEntries.begin() + i); m_vEntries.erase(m_vEntries.begin() + i);
} }