summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
Diffstat (limited to 'Source')
-rw-r--r--Source/MFCDialog/CMakeCommandLineInfo.cpp55
1 files changed, 30 insertions, 25 deletions
diff --git a/Source/MFCDialog/CMakeCommandLineInfo.cpp b/Source/MFCDialog/CMakeCommandLineInfo.cpp
index 26c705b818..8ef3c43a28 100644
--- a/Source/MFCDialog/CMakeCommandLineInfo.cpp
+++ b/Source/MFCDialog/CMakeCommandLineInfo.cpp
@@ -54,33 +54,38 @@ void CMakeCommandLineInfo::ParseParam(LPCTSTR lpszParam, BOOL bFlag, BOOL bLast)
{
CString sParam(lpszParam);
// Single letter valued flag like /B=value or /B:value
+ CString value;
if (sParam[1] == '=' || sParam[1] == ':')
{
- CString value(sParam.Right(sParam.GetLength() - 2));
- int res;
- switch (sParam[0])
- {
- case 'A':
- res = CMakeCommandLineInfo::GetBoolValue(value);
- if (res == 1)
- {
- m_AdvancedValues = TRUE;
- }
- else if (res == -1)
- {
- m_AdvancedValues = FALSE;
- }
- break;
- case 'B':
- m_WhereBuild = value;
- break;
- case 'G':
- m_GeneratorChoiceString = value;
- break;
- case 'H':
- m_WhereSource = value;
- break;
- }
+ value = sParam.Right(sParam.GetLength() - 2);
+ }
+ else
+ {
+ value = sParam.Right(sParam.GetLength()-1);
+ }
+ int res;
+ switch (sParam[0])
+ {
+ case 'A':
+ res = CMakeCommandLineInfo::GetBoolValue(value);
+ if (res == 1)
+ {
+ m_AdvancedValues = TRUE;
+ }
+ else if (res == -1)
+ {
+ m_AdvancedValues = FALSE;
+ }
+ break;
+ case 'B':
+ m_WhereBuild = value;
+ break;
+ case 'G':
+ m_GeneratorChoiceString = value;
+ break;
+ case 'H':
+ m_WhereSource = value;
+ break;
}
}