diff options
Diffstat (limited to 'cpp/src/Slice/Parser.cpp')
-rw-r--r-- | cpp/src/Slice/Parser.cpp | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/cpp/src/Slice/Parser.cpp b/cpp/src/Slice/Parser.cpp index fee71a14368..d9cfc8ba2e2 100644 --- a/cpp/src/Slice/Parser.cpp +++ b/cpp/src/Slice/Parser.cpp @@ -4576,15 +4576,21 @@ Slice::Unit::nextLine() void Slice::Unit::scanPosition(const char* s) { - string line(s); - string::size_type idx; + assert(*s == '#'); - idx = line.find("line"); - if(idx != string::npos) + const char* p = s + 1; // Skip leading # + while(isspace(*p)) + { + ++p; + } + if(strncmp(p, "line", 4) == 0) { - line.erase(0, idx + 4); + p += 4; } + string line(p); + string::size_type idx; + idx = line.find_first_not_of(" \t\r#"); if(idx != string::npos) { |