Report an error for line number values that don't convert to integers during argument
authorJim Ingham <jingham@apple.com>
Mon, 16 Mar 2015 22:47:38 +0000 (22:47 +0000)
committerJim Ingham <jingham@apple.com>
Mon, 16 Mar 2015 22:47:38 +0000 (22:47 +0000)
parsing so that we can give a more accurate error message.

<rdar://problem/20145563>

llvm-svn: 232433

lldb/source/Commands/CommandObjectBreakpoint.cpp

index df27fe7..0741cd1 100644 (file)
@@ -148,9 +148,13 @@ public:
                     break;
 
                 case 'C':
-                    m_column = StringConvert::ToUInt32 (option_arg, 0);
+                {
+                    bool success;
+                    m_column = StringConvert::ToUInt32 (option_arg, 0, 0, &success);
+                    if (!success)
+                        error.SetErrorStringWithFormat("invalid column number: %s", option_arg);
                     break;
-
+                }
                 case 'c':
                     m_condition.assign(option_arg);
                     break;
@@ -238,9 +242,13 @@ public:
                 break;
 
                 case 'l':
-                    m_line_num = StringConvert::ToUInt32 (option_arg, 0);
+                {
+                    bool success;
+                    m_line_num = StringConvert::ToUInt32 (option_arg, 0, 0, &success);
+                    if (!success)
+                        error.SetErrorStringWithFormat ("invalid line number: %s.", option_arg);
                     break;
-
+                }
                 case 'M':
                     m_func_names.push_back (option_arg);
                     m_func_name_type_mask |= eFunctionNameTypeMethod;