diff options
author | Jose Fonseca <jfonseca@vmware.com> | 2016-05-05 15:20:03 +0100 |
---|---|---|
committer | Jose Fonseca <jfonseca@vmware.com> | 2016-05-05 15:20:03 +0100 |
commit | 5e9a2b11b248aaa2f6f353bbcf9f600d65bcaf51 (patch) | |
tree | b3178d019ae82f3088a75315a6b7534c7a792414 /lib/trace/trace_option.cpp | |
parent | ac4cdf379e076c69c7c5ec9d6766362f15968b66 (diff) |
trace: Move the rest of common to lib/trace.
Renaming the library to something else is left to another change, as
there's already a trace lib in the wrappers dir.
Diffstat (limited to 'lib/trace/trace_option.cpp')
-rw-r--r-- | lib/trace/trace_option.cpp | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/lib/trace/trace_option.cpp b/lib/trace/trace_option.cpp new file mode 100644 index 00000000..feae1496 --- /dev/null +++ b/lib/trace/trace_option.cpp @@ -0,0 +1,62 @@ +/************************************************************************** + * + * Copyright 2011 Jose Fonseca + * Copyright 2010 VMware, Inc. + * All Rights Reserved. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + **************************************************************************/ + +#include "trace_option.hpp" + +#include <string.h> +#include <iostream> +#include <stdlib.h> + +namespace trace { + +bool +boolOption(const char *option, bool default_) { + if (!option) { + return default_; + } + if (strcmp(option, "0") == 0 || + strcmp(option, "no") == 0 || + strcmp(option, "false") == 0) { + return false; + } + if (strcmp(option, "0") == 0 || + strcmp(option, "yes") == 0 || + strcmp(option, "true") == 0) { + return true; + } + std::cerr << "error: unexpected bool " << option << "\n"; + return default_; +} + +int +intOption(const char *option, int default_) { + if (!option) { + return default_; + } + return atoi(option); +} + +} /* namespace trace */ |