| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "err.h" |
| |
| #include <stdarg.h> |
| |
| #include "lib/fxl/strings/string_printf.h" |
| |
| namespace zxdb { |
| |
| Err::Err() = default; |
| |
| Err::Err(ErrType type, const std::string& msg) : type_(type), msg_(msg) {} |
| |
| Err::Err(const std::string& msg) : type_(ErrType::kGeneral), msg_(msg) {} |
| |
| Err::Err(const char* fmt, ...) : type_(ErrType::kGeneral) { |
| va_list ap; |
| va_start(ap, fmt); |
| msg_ = fxl::StringVPrintf(fmt, ap); |
| va_end(ap); |
| } |
| |
| Err::~Err() = default; |
| |
| bool Err::operator==(const Err& other) const { |
| return type_ == other.type_ && msg_ == other.msg_; |
| } |
| |
| } // namespace zxdb |