cleanups to command lien parm shit, smaller now

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@1000 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
justin1014 2002-09-13 18:12:30 +00:00
parent a80ea79a86
commit 1b8d85e905

View file

@ -119,42 +119,32 @@ int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst,LPSTR lpszCmdParam,
if (*cmdline) cmdline=CharNext(cmdline); if (*cmdline) cmdline=CharNext(cmdline);
realcmds=cmdline; realcmds=cmdline;
do for (;;)
{ {
#ifdef NSIS_CONFIG_CRC_SUPPORT // skip over any spaces
#endif//NSIS_CONFIG_CRC_SUPPORT
while (*cmdline == ' ') cmdline=CharNext(cmdline); while (*cmdline == ' ') cmdline=CharNext(cmdline);
if (cmdline[0] != '/') break; if (cmdline[0] != '/') break;
cmdline++; cmdline++;
#if defined(NSIS_CONFIG_VISIBLE_SUPPORT) && defined(NSIS_CONFIG_SILENT_SUPPORT) #if defined(NSIS_CONFIG_VISIBLE_SUPPORT) && defined(NSIS_CONFIG_SILENT_SUPPORT)
if (cmdline[0] == 'S' && (cmdline[1] == ' ' || !cmdline[1])) if (cmdline[0] == 'S' && (cmdline[1] == ' ' || !cmdline[1])) silent++;
{
silent++;
cmdline+=2;
}
else
#endif//NSIS_CONFIG_SILENT_SUPPORT && NSIS_CONFIG_VISIBLE_SUPPORT #endif//NSIS_CONFIG_SILENT_SUPPORT && NSIS_CONFIG_VISIBLE_SUPPORT
#ifdef NSIS_CONFIG_CRC_SUPPORT #ifdef NSIS_CONFIG_CRC_SUPPORT
if (cmdline[0] == 'N' && if (*(int*)cmdline == *(int*)"NCRC" && (cmdline[4] == ' ' || !cmdline[4])) no_crc++;
cmdline[1] == 'C' &&
cmdline[2] == 'R' &&
cmdline[3] == 'C' &&
(cmdline[4] == ' ' || !cmdline[4]))
{
no_crc++;
cmdline+=4;
}
else
#endif//NSIS_CONFIG_CRC_SUPPORT #endif//NSIS_CONFIG_CRC_SUPPORT
if (cmdline[0] == 'D' && cmdline[1] == '=')
if (*(short*)cmdline == *(short*)"D=")
{ {
cmdline[-2]=0; // keep this from being passed to uninstaller if necessary cmdline[-2]=0; // keep this from being passed to uninstaller if necessary
mystrcpy(state_install_directory,cmdline+2); mystrcpy(state_install_directory,cmdline+2);
while (*cmdline) cmdline++; cmdline=""; // prevent further processing of cmdline
break; // not necessary, but for some reason makes smaller exe :)
} }
else while (*cmdline && *cmdline != ' ') cmdline=CharNext(cmdline);
// skip over our parm
while (*cmdline && *cmdline != ' ') cmdline=CharNext(cmdline);
} }
while (*cmdline);
mystrcpy(g_caption,_LANG_GENERIC_ERROR); mystrcpy(g_caption,_LANG_GENERIC_ERROR);