type = typ;
flags = fl;
- m_hasVal = FALSE;
+ m_hasVal = false;
}
// can't use union easily here, so just store all possible data fields, we
#endif // wxUSE_DATETIME
void SetLongVal(long val)
- { Check(wxCMD_LINE_VAL_NUMBER); m_longVal = val; m_hasVal = TRUE; }
+ { Check(wxCMD_LINE_VAL_NUMBER); m_longVal = val; m_hasVal = true; }
void SetStrVal(const wxString& val)
- { Check(wxCMD_LINE_VAL_STRING); m_strVal = val; m_hasVal = TRUE; }
+ { Check(wxCMD_LINE_VAL_STRING); m_strVal = val; m_hasVal = true; }
#if wxUSE_DATETIME
void SetDateVal(const wxDateTime val)
- { Check(wxCMD_LINE_VAL_DATE); m_dateVal = val; m_hasVal = TRUE; }
+ { Check(wxCMD_LINE_VAL_DATE); m_dateVal = val; m_hasVal = true; }
#endif // wxUSE_DATETIME
- void SetHasValue(bool hasValue = TRUE) { m_hasVal = hasValue; }
+ void SetHasValue(bool hasValue = true) { m_hasVal = hasValue; }
bool HasValue() const { return m_hasVal; }
public:
{
// options
wxString m_switchChars; // characters which may start an option
- bool m_enableLongOptions; // TRUE if long options are enabled
+ bool m_enableLongOptions; // true if long options are enabled
wxString m_logo; // some extra text to show in Usage()
// cmd line data
wxCmdLineParserData::wxCmdLineParserData()
{
- m_enableLongOptions = TRUE;
+ m_enableLongOptions = true;
#ifdef __UNIX_LIKE__
m_switchChars = _T("-");
#else // !Unix
if ( i == wxNOT_FOUND )
i = m_data->FindOptionByLongName(name);
- wxCHECK_MSG( i != wxNOT_FOUND, FALSE, _T("unknown switch") );
+ wxCHECK_MSG( i != wxNOT_FOUND, false, _T("unknown switch") );
wxCmdLineOption& opt = m_data->m_options[(size_t)i];
if ( !opt.HasValue() )
- return FALSE;
+ return false;
- return TRUE;
+ return true;
}
bool wxCmdLineParser::Found(const wxString& name, wxString *value) const
if ( i == wxNOT_FOUND )
i = m_data->FindOptionByLongName(name);
- wxCHECK_MSG( i != wxNOT_FOUND, FALSE, _T("unknown option") );
+ wxCHECK_MSG( i != wxNOT_FOUND, false, _T("unknown option") );
wxCmdLineOption& opt = m_data->m_options[(size_t)i];
if ( !opt.HasValue() )
- return FALSE;
+ return false;
- wxCHECK_MSG( value, FALSE, _T("NULL pointer in wxCmdLineOption::Found") );
+ wxCHECK_MSG( value, false, _T("NULL pointer in wxCmdLineOption::Found") );
*value = opt.GetStrVal();
- return TRUE;
+ return true;
}
bool wxCmdLineParser::Found(const wxString& name, long *value) const
if ( i == wxNOT_FOUND )
i = m_data->FindOptionByLongName(name);
- wxCHECK_MSG( i != wxNOT_FOUND, FALSE, _T("unknown option") );
+ wxCHECK_MSG( i != wxNOT_FOUND, false, _T("unknown option") );
wxCmdLineOption& opt = m_data->m_options[(size_t)i];
if ( !opt.HasValue() )
- return FALSE;
+ return false;
- wxCHECK_MSG( value, FALSE, _T("NULL pointer in wxCmdLineOption::Found") );
+ wxCHECK_MSG( value, false, _T("NULL pointer in wxCmdLineOption::Found") );
*value = opt.GetLongVal();
- return TRUE;
+ return true;
}
#if wxUSE_DATETIME
if ( i == wxNOT_FOUND )
i = m_data->FindOptionByLongName(name);
- wxCHECK_MSG( i != wxNOT_FOUND, FALSE, _T("unknown option") );
+ wxCHECK_MSG( i != wxNOT_FOUND, false, _T("unknown option") );
wxCmdLineOption& opt = m_data->m_options[(size_t)i];
if ( !opt.HasValue() )
- return FALSE;
+ return false;
- wxCHECK_MSG( value, FALSE, _T("NULL pointer in wxCmdLineOption::Found") );
+ wxCHECK_MSG( value, false, _T("NULL pointer in wxCmdLineOption::Found") );
*value = opt.GetDateVal();
- return TRUE;
+ return true;
}
#endif // wxUSE_DATETIME
for ( size_t i = 0; i < m_data->m_options.Count(); i++ )
{
wxCmdLineOption& opt = m_data->m_options[i];
- opt.SetHasValue(FALSE);
+ opt.SetHasValue(false);
}
}
int wxCmdLineParser::Parse(bool showUsage)
{
- bool maybeOption = TRUE; // can the following arg be an option?
- bool ok = TRUE; // TRUE until an error is detected
- bool helpRequested = FALSE; // TRUE if "-h" was given
- bool hadRepeatableParam = FALSE; // TRUE if found param with MULTIPLE flag
+ bool maybeOption = true; // can the following arg be an option?
+ bool ok = true; // true until an error is detected
+ bool helpRequested = false; // true if "-h" was given
+ bool hadRepeatableParam = false; // true if found param with MULTIPLE flag
size_t currentParam = 0; // the index in m_paramDesc
// not like options (this is POSIX-like)
if ( arg == _T("--") )
{
- maybeOption = FALSE;
+ maybeOption = false;
continue;
}
if ( arg[0u] == _T('-') && arg[1u] == _T('-') )
{
// a long one
- isLong = TRUE;
+ isLong = true;
// Skip leading "--"
const wxChar *p = arg.c_str() + 2;
}
else
{
- isLong = FALSE;
+ isLong = false;
// a short one: as they can be cumulated, we try to find the
// longest substring which is a valid option
if ( optInd == wxNOT_FOUND )
{
- ok = FALSE;
+ ok = false;
continue; // will break, in fact
}
if ( opt.flags & wxCMD_LINE_OPTION_HELP )
{
- helpRequested = TRUE;
+ helpRequested = true;
// it's not an error, but we still stop here
- ok = FALSE;
+ ok = false;
}
}
else
{
errorMsg << wxString::Format(_("Option '%s' requires a value, '=' expected."), name.c_str()) << wxT("\n");
- ok = FALSE;
+ ok = false;
}
}
else
errorMsg << wxString::Format(_("Option '%s' requires a value."),
name.c_str()) << wxT("\n");
- ok = FALSE;
+ ok = false;
}
else
{
errorMsg << wxString::Format(_("Separator expected after the option '%s'."),
name.c_str()) << wxT("\n");
- ok = FALSE;
+ ok = false;
}
}
}
errorMsg << wxString::Format(_("'%s' is not a correct numeric value for option '%s'."),
value.c_str(), name.c_str()) << wxT("\n");
- ok = FALSE;
+ ok = false;
}
}
break;
errorMsg << wxString::Format(_("Option '%s': '%s' cannot be converted to a date."),
name.c_str(), value.c_str()) << wxT("\n");
- ok = FALSE;
+ ok = false;
}
else
{
_T("all parameters after the one with wxCMD_LINE_PARAM_MULTIPLE style are ignored") );
// remember that we did have this last repeatable parameter
- hadRepeatableParam = TRUE;
+ hadRepeatableParam = true;
}
}
else
{
errorMsg << wxString::Format(_("Unexpected parameter '%s'"), arg.c_str()) << wxT("\n");
- ok = FALSE;
+ ok = false;
}
}
}
errorMsg << wxString::Format(_("The value for the option '%s' must be specified."),
optName.c_str()) << wxT("\n");
- ok = FALSE;
+ ok = false;
}
}
errorMsg << wxString::Format(_("The required parameter '%s' was not specified."),
param.description.c_str()) << wxT("\n");
- ok = FALSE;
+ ok = false;
}
}
}
{
switch ( *p )
{
- case _T('"'):
+ case _T('"'):
if ( !lastBS )
{
isInsideQuotes = !isInsideQuotes;
// fall through
case _T('\0'):
- endParam = TRUE;
+ endParam = true;
+
break;
}
+ if ( endParam )
+ {
+ break;
+ }
+
lastBS = *p == _T('\\');
arg += *p;