Refactored verbosity handling with new setter&getter
git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@6494 212acab6-be3b-0410-9dea-997c60f758d6
This commit is contained in:
parent
401dbe8aed
commit
d91176ba49
4 changed files with 45 additions and 40 deletions
|
@ -109,15 +109,11 @@ CEXEBuild::CEXEBuild() :
|
||||||
m_exehead(0),
|
m_exehead(0),
|
||||||
m_exehead_size(0)
|
m_exehead_size(0)
|
||||||
{
|
{
|
||||||
linecnt = 0;
|
set_verbosity(3);
|
||||||
curlinereader = 0;
|
|
||||||
curfilename = 0;
|
|
||||||
|
|
||||||
display_errors=1;
|
|
||||||
display_warnings=1;
|
|
||||||
display_info=1;
|
|
||||||
display_script=0;
|
|
||||||
|
|
||||||
|
curlinereader=0;
|
||||||
|
curfilename=0;
|
||||||
|
linecnt=0;
|
||||||
cur_ifblock=NULL;
|
cur_ifblock=NULL;
|
||||||
last_line_had_slash=0;
|
last_line_had_slash=0;
|
||||||
inside_comment=false;
|
inside_comment=false;
|
||||||
|
@ -3346,6 +3342,38 @@ bool IsStringASCII(const TCHAR* s)
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
int CEXEBuild::get_verbosity() const
|
||||||
|
{
|
||||||
|
int v = 0;
|
||||||
|
if (display_errors)
|
||||||
|
{
|
||||||
|
v++;
|
||||||
|
if (display_warnings)
|
||||||
|
{
|
||||||
|
v++;
|
||||||
|
if (display_info)
|
||||||
|
{
|
||||||
|
v++;
|
||||||
|
if (display_script)
|
||||||
|
{
|
||||||
|
v++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return v;
|
||||||
|
}
|
||||||
|
|
||||||
|
void CEXEBuild::set_verbosity(int lvl)
|
||||||
|
{
|
||||||
|
display_errors = lvl > 0;
|
||||||
|
display_warnings = lvl > 1;
|
||||||
|
display_info = lvl > 2;
|
||||||
|
display_script = lvl > 3;
|
||||||
|
extern int g_display_errors;
|
||||||
|
g_display_errors = display_errors;
|
||||||
|
}
|
||||||
|
|
||||||
void CEXEBuild::warning(const TCHAR *s, ...)
|
void CEXEBuild::warning(const TCHAR *s, ...)
|
||||||
{
|
{
|
||||||
ExpandoString<TCHAR, NSIS_MAX_STRLEN + 100> buf;
|
ExpandoString<TCHAR, NSIS_MAX_STRLEN + 100> buf;
|
||||||
|
|
|
@ -146,10 +146,12 @@ class CEXEBuild {
|
||||||
// C++ macro definitions such as _UNICODE.
|
// C++ macro definitions such as _UNICODE.
|
||||||
void define(const TCHAR *p, const TCHAR *v=_T("")); // to add a defined thing.
|
void define(const TCHAR *p, const TCHAR *v=_T("")); // to add a defined thing.
|
||||||
|
|
||||||
int display_errors;
|
int get_verbosity() const;
|
||||||
int display_script;
|
void set_verbosity(int lvl);
|
||||||
int display_warnings;
|
bool display_errors;
|
||||||
int display_info;
|
bool display_script;
|
||||||
|
bool display_warnings;
|
||||||
|
bool display_info;
|
||||||
|
|
||||||
int linecnt;
|
int linecnt;
|
||||||
const TCHAR *curfilename;
|
const TCHAR *curfilename;
|
||||||
|
|
|
@ -468,11 +468,7 @@ static inline int makensismain(int argc, TCHAR **argv)
|
||||||
argv[argpos][2] >= _T('0') && argv[argpos][2] <= _T('4') && !argv[argpos][3])
|
argv[argpos][2] >= _T('0') && argv[argpos][2] <= _T('4') && !argv[argpos][3])
|
||||||
{
|
{
|
||||||
int v=argv[argpos][2]-_T('0');
|
int v=argv[argpos][2]-_T('0');
|
||||||
build.display_script=v>3;
|
build.set_verbosity(v);
|
||||||
build.display_info=v>2;
|
|
||||||
build.display_warnings=v>1;
|
|
||||||
build.display_errors=v>0;
|
|
||||||
g_display_errors=build.display_errors;
|
|
||||||
}
|
}
|
||||||
else if (S7IsChEqualI('p',argv[argpos][1]) &&
|
else if (S7IsChEqualI('p',argv[argpos][1]) &&
|
||||||
argv[argpos][2] >= _T('0') && argv[argpos][2] <= _T('5') && !argv[argpos][3])
|
argv[argpos][2] >= _T('0') && argv[argpos][2] <= _T('5') && !argv[argpos][3])
|
||||||
|
|
|
@ -3447,7 +3447,6 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
|
||||||
|
|
||||||
case TOK_P_VERBOSE:
|
case TOK_P_VERBOSE:
|
||||||
{
|
{
|
||||||
extern int g_display_errors;
|
|
||||||
for(int argi=1; argi<line.getnumtokens(); ++argi)
|
for(int argi=1; argi<line.getnumtokens(); ++argi)
|
||||||
{
|
{
|
||||||
int v,k=line.gettoken_enum(argi,_T("push\0pop\0"));
|
int v,k=line.gettoken_enum(argi,_T("push\0pop\0"));
|
||||||
|
@ -3483,32 +3482,12 @@ int CEXEBuild::doCommand(int which_token, LineParser &line)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// push
|
// push
|
||||||
v=0;
|
v=get_verbosity();
|
||||||
if (display_errors)
|
|
||||||
{
|
|
||||||
v++;
|
|
||||||
if (display_warnings)
|
|
||||||
{
|
|
||||||
v++;
|
|
||||||
if (display_info)
|
|
||||||
{
|
|
||||||
v++;
|
|
||||||
if (display_script)
|
|
||||||
{
|
|
||||||
v++;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
verbose_stack.add(&v,sizeof(int));
|
verbose_stack.add(&v,sizeof(int));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
display_script=v>3;
|
set_verbosity(v);
|
||||||
display_info=v>2;
|
|
||||||
display_warnings=v>1;
|
|
||||||
display_errors=v>0;
|
|
||||||
g_display_errors=display_errors;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return PS_OK;
|
return PS_OK;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue