Create log_platform_error() utility function
This commit is contained in:
parent
693c5331c3
commit
66a4c2a412
|
@ -8,6 +8,7 @@
|
|||
|
||||
#include <cstdio>
|
||||
#include <cstdarg>
|
||||
#include <cstring>
|
||||
#include <string>
|
||||
|
||||
// TODO constexpr??
|
||||
|
@ -69,3 +70,29 @@ static inline void win_get_last_error(void)
|
|||
#define LOG_WARN(fmt, ...) uvgrtp_debug(LOG_LEVEL_WARN, fmt, ##__VA_ARGS__)
|
||||
#define LOG_INFO(fmt, ...) uvgrtp_debug(LOG_LEVEL_INFO, fmt, ##__VA_ARGS__)
|
||||
#endif
|
||||
|
||||
static inline void log_platform_error(const char *aux)
|
||||
{
|
||||
#ifdef __linux__
|
||||
if (aux) {
|
||||
LOG_ERROR("%s: %s %d\n", aux, strerror(errno), errno);
|
||||
} else {
|
||||
LOG_ERROR("%s %d\n", strerror(errno), errno);
|
||||
}
|
||||
#else
|
||||
wchar_t *s = NULL;
|
||||
FormatMessageW(
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
|
||||
NULL, WSAGetLastError(),
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||
(LPWSTR)&s, 0, NULL
|
||||
);
|
||||
|
||||
if (aux) {
|
||||
LOG_ERROR("%s: %s %d\n", aux, s, WSAGetLastError());
|
||||
} else {
|
||||
LOG_ERROR("%s %d\n", s, WSAGetLastError());
|
||||
}
|
||||
LocalFree(s);
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -107,11 +107,7 @@ static rtp_error_t __fragment_receiver(uvg_rtp::receiver *receiver)
|
|||
int sret = ::select(socket.get_raw_socket() + 1, &read_fds, nullptr, nullptr, &t_val);
|
||||
|
||||
if (sret < 0) {
|
||||
#ifdef __linux__
|
||||
LOG_ERROR("select failed: %s!", strerror(errno));
|
||||
#else
|
||||
win_get_last_error();
|
||||
#endif
|
||||
log_platform_error("select(2) failed");
|
||||
return RTP_GENERIC_ERROR;
|
||||
}
|
||||
|
||||
|
@ -230,11 +226,7 @@ rtp_error_t uvg_rtp::generic::frame_receiver(uvg_rtp::receiver *receiver)
|
|||
int sret = ::select(socket.get_raw_socket() + 1, &read_fds, nullptr, nullptr, &t_val);
|
||||
|
||||
if (sret < 0) {
|
||||
#ifdef __linux__
|
||||
LOG_ERROR("select failed: %s!", strerror(errno));
|
||||
#else
|
||||
win_get_last_error();
|
||||
#endif
|
||||
log_platform_error("select(2) failed");
|
||||
return RTP_GENERIC_ERROR;
|
||||
}
|
||||
|
||||
|
|
|
@ -145,11 +145,7 @@ rtp_error_t __hevc_receiver(uvg_rtp::receiver *receiver)
|
|||
int sret = ::select(socket.get_raw_socket() + 1, &read_fds, nullptr, nullptr, &t_val);
|
||||
|
||||
if (sret < 0) {
|
||||
#ifdef __linux__
|
||||
LOG_ERROR("select failed: %s!", strerror(errno));
|
||||
#else
|
||||
win_get_last_error();
|
||||
#endif
|
||||
log_platform_error("select(2) failed");
|
||||
return RTP_GENERIC_ERROR;
|
||||
}
|
||||
|
||||
|
|
|
@ -19,9 +19,8 @@ std::string uvg_rtp::hostname::get_hostname()
|
|||
char buffer[NAME_MAXLEN];
|
||||
DWORD bufCharCount = NAME_MAXLEN;
|
||||
|
||||
if (!GetComputerName((TCHAR *)buffer, &bufCharCount)) {
|
||||
win_get_last_error();
|
||||
}
|
||||
if (!GetComputerName((TCHAR *)buffer, &bufCharCount))
|
||||
log_platform_error("GetComputerName() failed");
|
||||
|
||||
return std::string(buffer);
|
||||
#else
|
||||
|
@ -43,7 +42,7 @@ std::string uvg_rtp::hostname::get_username()
|
|||
DWORD bufCharCount = NAME_MAXLEN;
|
||||
|
||||
if (!GetUserName((TCHAR *)buffer, &bufCharCount)) {
|
||||
win_get_last_error();
|
||||
log_platform_error("GetUserName() failed");
|
||||
return "";
|
||||
}
|
||||
|
||||
|
|
|
@ -17,9 +17,8 @@ uvg_rtp::context::context()
|
|||
WSADATA wsd;
|
||||
int rc;
|
||||
|
||||
if ((rc = WSAStartup(MAKEWORD(2, 2), &wsd)) != 0) {
|
||||
win_get_last_error();
|
||||
}
|
||||
if ((rc = WSAStartup(MAKEWORD(2, 2), &wsd)) != 0)
|
||||
log_platform_error("WSAStartup() failed");
|
||||
#endif
|
||||
|
||||
uvg_rtp::random::init();
|
||||
|
|
|
@ -81,12 +81,7 @@ rtp_error_t uvg_rtp::media_stream::init_connection()
|
|||
socket_t socket = socket_.get_raw_socket();
|
||||
|
||||
if (bind(socket, (struct sockaddr *)&bind_addr, sizeof(bind_addr)) == -1) {
|
||||
#ifdef __linux__
|
||||
LOG_ERROR("Bind failed: %s!", strerror(errno));
|
||||
#else
|
||||
LOG_ERROR("Bind failed!");
|
||||
win_get_last_error();
|
||||
#endif
|
||||
log_platform_error("bind(2) failed");
|
||||
return RTP_BIND_ERROR;
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -93,8 +93,7 @@ rtp_error_t uvg_rtp::zrtp_msg::commit::send_msg(socket_t& socket, sockaddr_in& a
|
|||
data_buf.len = len_;
|
||||
|
||||
if (WSASendTo(socket, &data_buf, 1, NULL, 0, (const struct sockaddr *)&addr, sizeof(addr), nullptr, nullptr) == -1) {
|
||||
win_get_last_error();
|
||||
|
||||
log_platform_error("WSASendTo() failed");
|
||||
return RTP_SEND_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -102,8 +102,7 @@ rtp_error_t uvg_rtp::zrtp_msg::confirm::send_msg(socket_t& socket, sockaddr_in&
|
|||
data_buf.len = len_;
|
||||
|
||||
if (WSASendTo(socket, &data_buf, 1, NULL, 0, (const struct sockaddr *)&addr, sizeof(addr), nullptr, nullptr) == -1) {
|
||||
win_get_last_error();
|
||||
|
||||
log_platform_error("WSASendTo() failed");
|
||||
return RTP_SEND_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -126,8 +126,7 @@ rtp_error_t uvg_rtp::zrtp_msg::dh_key_exchange::send_msg(socket_t& socket, socka
|
|||
data_buf.len = len_;
|
||||
|
||||
if (WSASendTo(socket, &data_buf, 1, nullptr, 0, (const struct sockaddr *)&addr, sizeof(addr), nullptr, nullptr) == -1) {
|
||||
win_get_last_error();
|
||||
|
||||
log_platform_error("WSASendTo() failed");
|
||||
return RTP_SEND_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -51,8 +51,7 @@ rtp_error_t uvg_rtp::zrtp_msg::error::send_msg(socket_t& socket, sockaddr_in& ad
|
|||
data_buf.len = len_;
|
||||
|
||||
if (WSASendTo(socket, &data_buf, 1, NULL, 0, (const struct sockaddr *)&addr, sizeof(addr), nullptr, nullptr) == -1) {
|
||||
win_get_last_error();
|
||||
|
||||
log_platform_error("WSASendTo() failed");
|
||||
return RTP_SEND_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -96,8 +96,7 @@ rtp_error_t uvg_rtp::zrtp_msg::hello::send_msg(socket_t& socket, sockaddr_in& ad
|
|||
data_buf.len = len_;
|
||||
|
||||
if (WSASendTo(socket, &data_buf, 1, NULL, 0, (const struct sockaddr *)&addr, sizeof(addr), nullptr, nullptr) == -1) {
|
||||
win_get_last_error();
|
||||
|
||||
log_platform_error("WSASendTo failed");
|
||||
return RTP_SEND_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -49,8 +49,7 @@ rtp_error_t uvg_rtp::zrtp_msg::hello_ack::send_msg(socket_t& socket, sockaddr_in
|
|||
data_buf.len = len_;
|
||||
|
||||
if (WSASendTo(socket, &data_buf, 1, NULL, 0, (const struct sockaddr *)&addr, sizeof(addr), nullptr, nullptr) == -1) {
|
||||
win_get_last_error();
|
||||
|
||||
log_platform_error("WSASendTo() failed");
|
||||
return RTP_SEND_ERROR;
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -76,7 +76,7 @@ rtp_error_t uvg_rtp::poll::poll(std::vector<uvg_rtp::socket>& sockets, uint8_t *
|
|||
int ret = ::select((int)sockets.size(), &read_fds, nullptr, nullptr, &t_val);
|
||||
|
||||
if (ret < 0) {
|
||||
win_get_last_error();
|
||||
log_platform_error("select(2) failed");
|
||||
return RTP_GENERIC_ERROR;
|
||||
} else if (ret == 0) {
|
||||
set_bytes(bytes_read, 0);
|
||||
|
|
Loading…
Reference in New Issue