forked from facebook/wdt
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ErrorCodes.cpp
37 lines (35 loc) · 998 Bytes
/
ErrorCodes.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
/**
* 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. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#include "ErrorCodes.h"
#include <folly/Conv.h>
#include <string.h>
namespace facebook {
namespace wdt {
std::string errorCodeToStr(ErrorCode code) {
int numErrorCodes = sizeof(kErrorToStr) / sizeof(kErrorToStr[0]);
if (code >= 0 && code < numErrorCodes) {
return kErrorToStr[code];
}
return folly::to<std::string>(code);
}
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;
}
}
}