mirror of
https://github.com/Xevion/easy7zip.git
synced 2025-12-10 20:07:05 -06:00
16.00
This commit is contained in:
committed by
Kornel Lesiński
parent
c20d013055
commit
66ac98bb02
@@ -59,7 +59,7 @@ HRESULT CDecoder::Init(ISequentialInStream *inStream, bool &useFilter)
|
||||
{
|
||||
_filter = new CFilterCoder(false);
|
||||
_filterInStream = _filter;
|
||||
_filter->Filter = new CBcjCoder(false);
|
||||
_filter->Filter = new NCompress::NBcj::CCoder(false);
|
||||
}
|
||||
RINOK(_filter->SetInStream(_codecInStream));
|
||||
_decoderInStream = _filterInStream;
|
||||
|
||||
@@ -88,7 +88,7 @@ enum
|
||||
EW_SENDMESSAGE, // SendMessage
|
||||
EW_ISWINDOW, // IsWindow
|
||||
EW_GETDLGITEM, // GetDlgItem
|
||||
EW_SETCTLCOLORS, // SerCtlColors
|
||||
EW_SETCTLCOLORS, // SetCtlColors
|
||||
EW_SETBRANDINGIMAGE, // SetBrandingImage
|
||||
EW_CREATEFONT, // CreateFont
|
||||
EW_SHOWWINDOW, // ShowWindow, EnableWindow, HideWindow
|
||||
@@ -1155,9 +1155,13 @@ bool CInArchive::IsGoodString(UInt32 param) const
|
||||
if (param == 0)
|
||||
return true;
|
||||
const Byte *p = _data + _stringsPos;
|
||||
unsigned c;
|
||||
if (IsUnicode)
|
||||
return (Get16(p + param * 2 - 2)) == 0;
|
||||
return p[param - 1] == 0;
|
||||
c = Get16(p + param * 2 - 2);
|
||||
else
|
||||
c = p[param - 1];
|
||||
// some files have '\\' character before string?
|
||||
return (c == 0 || c == '\\');
|
||||
}
|
||||
|
||||
bool CInArchive::AreTwoParamStringsEqual(UInt32 param1, UInt32 param2) const
|
||||
@@ -1509,7 +1513,7 @@ static const UInt32 CMD_REF_Pre = (1 << 2);
|
||||
static const UInt32 CMD_REF_Show = (1 << 3);
|
||||
static const UInt32 CMD_REF_Leave = (1 << 4);
|
||||
static const UInt32 CMD_REF_OnFunc = (1 << 5);
|
||||
static const UInt32 CMD_REF_Section = (1 << 6);
|
||||
static const UInt32 CMD_REF_Section = (1 << 6);
|
||||
static const UInt32 CMD_REF_InitPluginDir = (1 << 7);
|
||||
// static const UInt32 CMD_REF_Creator = (1 << 5); // _Pre is used instead
|
||||
static const unsigned CMD_REF_OnFunc_NumShifts = 28; // it uses for onFunc too
|
||||
@@ -3357,7 +3361,7 @@ HRESULT CInArchive::ReadEntries(const CBlockHeader &bh)
|
||||
|
||||
#ifdef NSIS_SCRIPT
|
||||
s += isSetOutPath ? "SetOutPath" : "CreateDirectory";
|
||||
AddParam(params[0]);
|
||||
AddParam(params[0]);
|
||||
#endif
|
||||
|
||||
break;
|
||||
@@ -3571,15 +3575,16 @@ HRESULT CInArchive::ReadEntries(const CBlockHeader &bh)
|
||||
|
||||
AddParam(params[0]);
|
||||
|
||||
SmallSpaceComment();
|
||||
|
||||
/*
|
||||
for (int i = 1; i < 3; i++)
|
||||
AddParam_UInt(params[i]);
|
||||
*/
|
||||
|
||||
if (params[3] != 0)
|
||||
{
|
||||
SmallSpaceComment();
|
||||
AddParam(params[3]);
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
@@ -421,7 +421,11 @@ public:
|
||||
|
||||
const char *kRemoveStr = "$INSTDIR\\";
|
||||
if (s.IsPrefixedBy_Ascii_NoCase(kRemoveStr))
|
||||
{
|
||||
s.Delete(0, MyStringLen(kRemoveStr));
|
||||
if (s[0] == L'\\')
|
||||
s.DeleteFrontal(1);
|
||||
}
|
||||
if (item.IsUninstaller && ExeStub.Size() == 0)
|
||||
s += L".nsis";
|
||||
return s;
|
||||
|
||||
Reference in New Issue
Block a user