Reduced !include/!insertmacro recursion stack usage (Bug #3067954)

git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6306 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
anders_k 2013-03-17 21:13:07 +00:00
parent 6ef6d6dfb0
commit 0e851e4b79
3 changed files with 14 additions and 9 deletions

View file

@ -98,6 +98,10 @@ class CEXEBuild {
void initialize(const TCHAR *makensis_path);
~CEXEBuild();
enum {
MAX_LINELENGTH = 16384 // NSI/NSH line limit, in TCHARs (including \0)
};
void warning(const TCHAR *s, ...); // to add a warning to the compiler's warning list.
void warning_fl(const TCHAR *s, ...); // warning with file name and line count
void ERROR_MSG(const TCHAR *s, ...) const;
@ -192,6 +196,7 @@ class CEXEBuild {
#endif
int doParse(const TCHAR *str);
int doCommand(int which_token, LineParser &line);
TCHAR m_templinebuf[MAX_LINELENGTH]; // Buffer used by parseScript() & doCommand(), not recursion safe!
int do_add_file(const TCHAR *lgss, int attrib, int recurse, int *total_files, const TCHAR
*name_override=0, int generatecode=1, int *data_handle=0,