summaryrefslogtreecommitdiff
path: root/runtime/utils.h
diff options
context:
space:
mode:
author Nicolas Geoffray <ngeoffray@google.com> 2016-11-10 10:49:40 +0000
committer Nicolas Geoffray <ngeoffray@google.com> 2016-11-10 15:05:18 +0000
commita6a448adb226ed2bc33ba83e1a9ed1ac5c8e990d (patch)
tree440b6e46ba70142a18f4b08d8cf58ea9a68d8d34 /runtime/utils.h
parente58659aa139a6139f28e5db69391c718234e8cfd (diff)
Revert "Revert "Rename vdex-fd to output-vdex-fd, add input-vdex-fd.""
This reverts commit d4acdd380f79f41959663d2fa442186cb4a185a8. Test: device boots, adb shell cmd package compile works. Test: oat_file_assistant_test bug:30937355 Change-Id: Iad2e66fd7f28ed9c1dc3cab344df7453aab4fa56
Diffstat (limited to 'runtime/utils.h')
-rw-r--r--runtime/utils.h22
1 files changed, 16 insertions, 6 deletions
diff --git a/runtime/utils.h b/runtime/utils.h
index 21df839131..1e9805790a 100644
--- a/runtime/utils.h
+++ b/runtime/utils.h
@@ -279,24 +279,34 @@ static inline const void* EntryPointToCodePointer(const void* entry_point) {
using UsageFn = void (*)(const char*, ...);
template <typename T>
-static void ParseUintOption(const StringPiece& option,
+static void ParseIntOption(const StringPiece& option,
const std::string& option_name,
T* out,
- UsageFn Usage,
+ UsageFn usage,
bool is_long_option = true) {
std::string option_prefix = option_name + (is_long_option ? "=" : "");
DCHECK(option.starts_with(option_prefix)) << option << " " << option_prefix;
const char* value_string = option.substr(option_prefix.size()).data();
int64_t parsed_integer_value = 0;
if (!ParseInt(value_string, &parsed_integer_value)) {
- Usage("Failed to parse %s '%s' as an integer", option_name.c_str(), value_string);
- }
- if (parsed_integer_value < 0) {
- Usage("%s passed a negative value %d", option_name.c_str(), parsed_integer_value);
+ usage("Failed to parse %s '%s' as an integer", option_name.c_str(), value_string);
}
*out = dchecked_integral_cast<T>(parsed_integer_value);
}
+template <typename T>
+static void ParseUintOption(const StringPiece& option,
+ const std::string& option_name,
+ T* out,
+ UsageFn usage,
+ bool is_long_option = true) {
+ ParseIntOption(option, option_name, out, usage, is_long_option);
+ if (*out < 0) {
+ usage("%s passed a negative value %d", option_name.c_str(), *out);
+ *out = 0;
+ }
+}
+
void ParseDouble(const std::string& option,
char after_char,
double min,