ErrorCodes.cpp (32 lines of code) (raw):

/** * Copyright (c) 2014-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. */ #include <wdt/ErrorCodes.h> #include <folly/Conv.h> #include <string.h> DEFINE_int32(wdt_double_precision, 2, "Precision while printing double"); DEFINE_bool(wdt_logging_enabled, true, "To enable/disable WDT logging."); namespace facebook { namespace wdt { std::string errorCodeToStr(ErrorCode code) { int numErrorCodes = sizeof(kErrorToStr) / sizeof(kErrorToStr[0]); if (code < numErrorCodes) { return kErrorToStr[code]; } return folly::to<std::string>(code); } ErrorCode getMoreInterestingError(ErrorCode err1, ErrorCode err2) { return std::max(err1, err2); } std::string strerrorStr(int errnum) { std::string result; char buf[1024], *res = buf; buf[0] = 0; #if defined(__APPLE__) || \ ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && !_GNU_SOURCE) strerror_r(errnum, buf, sizeof(buf)); #else res = strerror_r(errnum, buf, sizeof(buf)); #endif result.assign(res); return result; } } }