diff options
author | Kenny Root <kroot@google.com> | 2015-09-25 02:36:32 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-09-25 02:36:32 +0000 |
commit | d947d006e7a7ebcfdfe642e686250caf2028c2c1 (patch) | |
tree | dd743d9d64af3145fe96b8d5fc2f3427544794bd /src/tool/args.cc | |
parent | 00bc53f6f4436972b7a8dcf2c1e5fd0ad7515872 (diff) | |
parent | b8494591d1b1a143f3b192d845c238bbf3bc629d (diff) | |
download | external_boringssl-d947d006e7a7ebcfdfe642e686250caf2028c2c1.zip external_boringssl-d947d006e7a7ebcfdfe642e686250caf2028c2c1.tar.gz external_boringssl-d947d006e7a7ebcfdfe642e686250caf2028c2c1.tar.bz2 |
am b8494591: Revert "Revert "external/boringssl: sync with upstream.""
* commit 'b8494591d1b1a143f3b192d845c238bbf3bc629d':
Revert "Revert "external/boringssl: sync with upstream.""
Diffstat (limited to 'src/tool/args.cc')
-rw-r--r-- | src/tool/args.cc | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/tool/args.cc b/src/tool/args.cc index a164476..9ec18a3 100644 --- a/src/tool/args.cc +++ b/src/tool/args.cc @@ -15,7 +15,9 @@ #include <string> #include <vector> +#include <limits.h> #include <stdio.h> +#include <stdlib.h> #include <string.h> #include "internal.h" @@ -75,3 +77,28 @@ void PrintUsage(const struct argument *templates) { fprintf(stderr, "%s\t%s\n", templ->name, templ->description); } } + +bool GetUnsigned(unsigned *out, const std::string &arg_name, + unsigned default_value, + const std::map<std::string, std::string> &args) { + const auto &it = args.find(arg_name); + if (it == args.end()) { + *out = default_value; + return true; + } + + const std::string &value = it->second; + if (value.empty()) { + return false; + } + + char *endptr; + unsigned long int num = strtoul(value.c_str(), &endptr, 10); + if (*endptr || + num > UINT_MAX) { + return false; + } + + *out = num; + return true; +} |