find_first_no_of() can return a negative value.
int start = s.find_first_not_of(" \t", pos);
int end;
- if (s[start]== ',') {
+ if (start < 0)
+ return false;
+
+ if (s[start]== ',')
end = start + 1;
- } else {
+ else
end = s.find_first_of(";,= \t", start+1);
- }
- if (start < 0) {
- return false;
- }
-
- if (end < 0) {
- end=s.size();
- }
+ if (end < 0)
+ end = s.size();
token = s.substr(start, end - start);
-
pos = end;
-
return true;
}