| 1498 | |
| 1499 | #if defined(OS_WIN) |
| 1500 | BUTIL_EXPORT std::string SystemErrorCodeToString(SystemErrorCode error_code) { |
| 1501 | const int error_message_buffer_size = 256; |
| 1502 | char msgbuf[error_message_buffer_size]; |
| 1503 | DWORD flags = FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS; |
| 1504 | DWORD len = FormatMessageA(flags, NULL, error_code, 0, msgbuf, |
| 1505 | arraysize(msgbuf), NULL); |
| 1506 | if (len) { |
| 1507 | // Messages returned by system end with line breaks. |
| 1508 | return butil::CollapseWhitespaceASCII(msgbuf, true) + |
| 1509 | butil::StringPrintf(" (0x%X)", error_code); |
| 1510 | } |
| 1511 | return butil::StringPrintf("Error (0x%X) while retrieving error. (0x%X)", |
| 1512 | GetLastError(), error_code); |
| 1513 | } |
| 1514 | #elif defined(OS_POSIX) |
| 1515 | BUTIL_EXPORT std::string SystemErrorCodeToString(SystemErrorCode error_code) { |
| 1516 | return berror(error_code); |
nothing calls this directly
no test coverage detected