Negative numbers are not flags.
tested: d dm --matrix 1 -0.3 0 0.7 1 0 0 0 1 --src gm --config matrix-8888 -w bad
BUG=skia:
Review URL: https://codereview.chromium.org/924343002
diff --git a/tools/flags/SkCommandLineFlags.cpp b/tools/flags/SkCommandLineFlags.cpp
index 50c193f..6f1491b 100644
--- a/tools/flags/SkCommandLineFlags.cpp
+++ b/tools/flags/SkCommandLineFlags.cpp
@@ -282,7 +282,12 @@
case SkFlagInfo::kString_FlagType:
flag->resetStrings();
// Add all arguments until another flag is reached.
- while (i+1 < argc && !SkStrStartsWith(argv[i+1], '-')) {
+ while (i+1 < argc) {
+ char* end = NULL;
+ (void)strtod(argv[i+1], &end); // Negative numbers aren't flags.
+ if (end == argv[i+1] && SkStrStartsWith(argv[i+1], '-')) {
+ break;
+ }
i++;
flag->append(argv[i]);
}