Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright 2013 Google Inc. | 2 * Copyright 2013 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #include "SkCommandLineFlags.h" | 8 #include "SkCommandLineFlags.h" |
| 9 #include "SkTDArray.h" | 9 #include "SkTDArray.h" |
| 10 #include "SkTSort.h" | 10 #include "SkTSort.h" |
| 11 | 11 |
| 12 DEFINE_bool(undefok, false, "Silently ignore unknown flags instead of crashing." ); | 12 DEFINE_bool(undefok, false, "Silently ignore unknown flags instead of crashing." ); |
| 13 | 13 |
| 14 template <typename T> static void ignore_result(const T&) {} | |
|
tfarina
2015/05/04 17:39:31
I checked in chromium, and this is equal how they
| |
| 15 | |
| 14 bool SkFlagInfo::CreateStringFlag(const char* name, const char* shortName, | 16 bool SkFlagInfo::CreateStringFlag(const char* name, const char* shortName, |
| 15 SkCommandLineFlags::StringArray* pStrings, | 17 SkCommandLineFlags::StringArray* pStrings, |
| 16 const char* defaultValue, const char* helpStri ng) { | 18 const char* defaultValue, const char* helpStri ng) { |
| 17 SkFlagInfo* info = SkNEW_ARGS(SkFlagInfo, (name, shortName, kString_FlagType , helpString)); | 19 SkFlagInfo* info = SkNEW_ARGS(SkFlagInfo, (name, shortName, kString_FlagType , helpString)); |
| 18 info->fDefaultString.set(defaultValue); | 20 info->fDefaultString.set(defaultValue); |
| 19 | 21 |
| 20 info->fStrings = pStrings; | 22 info->fStrings = pStrings; |
| 21 SetDefaultStrings(pStrings, defaultValue); | 23 SetDefaultStrings(pStrings, defaultValue); |
| 22 return true; | 24 return true; |
| 23 } | 25 } |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 277 if (parse_bool_arg(argv[i], &value)) { | 279 if (parse_bool_arg(argv[i], &value)) { |
| 278 flag->setBool(value); | 280 flag->setBool(value); |
| 279 } | 281 } |
| 280 } | 282 } |
| 281 break; | 283 break; |
| 282 case SkFlagInfo::kString_FlagType: | 284 case SkFlagInfo::kString_FlagType: |
| 283 flag->resetStrings(); | 285 flag->resetStrings(); |
| 284 // Add all arguments until another flag is reached. | 286 // Add all arguments until another flag is reached. |
| 285 while (i+1 < argc) { | 287 while (i+1 < argc) { |
| 286 char* end = NULL; | 288 char* end = NULL; |
| 287 (void)strtod(argv[i+1], &end); // Negative numbe rs aren't flags. | 289 // Negative numbers aren't flags. |
| 290 ignore_result(strtod(argv[i+1], &end)); | |
| 288 if (end == argv[i+1] && SkStrStartsWith(argv[i+1 ], '-')) { | 291 if (end == argv[i+1] && SkStrStartsWith(argv[i+1 ], '-')) { |
| 289 break; | 292 break; |
| 290 } | 293 } |
| 291 i++; | 294 i++; |
| 292 flag->append(argv[i]); | 295 flag->append(argv[i]); |
| 293 } | 296 } |
| 294 break; | 297 break; |
| 295 case SkFlagInfo::kInt_FlagType: | 298 case SkFlagInfo::kInt_FlagType: |
| 296 i++; | 299 i++; |
| 297 flag->setInt(atoi(argv[i])); | 300 flag->setInt(atoi(argv[i])); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 371 } | 374 } |
| 372 | 375 |
| 373 } // namespace | 376 } // namespace |
| 374 | 377 |
| 375 bool SkCommandLineFlags::ShouldSkip(const SkTDArray<const char*>& strings, const char* name) { | 378 bool SkCommandLineFlags::ShouldSkip(const SkTDArray<const char*>& strings, const char* name) { |
| 376 return ShouldSkipImpl(strings, name); | 379 return ShouldSkipImpl(strings, name); |
| 377 } | 380 } |
| 378 bool SkCommandLineFlags::ShouldSkip(const StringArray& strings, const char* name ) { | 381 bool SkCommandLineFlags::ShouldSkip(const StringArray& strings, const char* name ) { |
| 379 return ShouldSkipImpl(strings, name); | 382 return ShouldSkipImpl(strings, name); |
| 380 } | 383 } |
| OLD | NEW |