set silent flag as early as possible, so most crc errors won't appear

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4902 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
kichik 2007-01-25 21:29:03 +00:00
parent 471db94eb8
commit 8ecaea19a5

View file

@ -166,15 +166,19 @@ const char * NSISCALL loadHeaders(int cl_flags)
h.nsinst[0] == FH_INT1
)
{
if (h.length_of_all_following_data > left)
return _LANG_INVALIDCRC;
g_filehdrsize = m_pos;
#if defined(NSIS_CONFIG_CRC_SUPPORT) || (defined(NSIS_CONFIG_SILENT_SUPPORT) && defined(NSIS_CONFIG_VISIBLE_SUPPORT))
#if defined(NSIS_CONFIG_CRC_SUPPORT) || defined(NSIS_CONFIG_SILENT_SUPPORT)
cl_flags |= h.flags;
#endif
#ifdef NSIS_CONFIG_SILENT_SUPPORT
g_exec_flags.silent |= cl_flags & FH_FLAGS_SILENT;
#endif
if (h.length_of_all_following_data > left)
return _LANG_INVALIDCRC;
#ifdef NSIS_CONFIG_CRC_SUPPORT
if ((cl_flags & FH_FLAGS_FORCE_CRC) == 0)
{
@ -282,13 +286,6 @@ const char * NSISCALL loadHeaders(int cl_flags)
header = g_header = data;
#ifdef NSIS_CONFIG_SILENT_SUPPORT
if (cl_flags & FH_FLAGS_SILENT)
header->flags |= CH_FLAGS_SILENT;
g_exec_flags.silent = header->flags & (CH_FLAGS_SILENT | CH_FLAGS_SILENT_LOG);
#endif
g_flags = header->flags;
#ifdef NSIS_CONFIG_UNINSTALL_SUPPORT