자잘한 버그 해결
This commit is contained in:
@@ -24,20 +24,20 @@ void setDefaultLogger(spdlog::level::level_enum logLevel, gsl::czstring logFileN
|
||||
|
||||
void critical(gsl::czstring msg) {
|
||||
#ifdef _WIN32
|
||||
gsl::zstring msgbuf = nullptr;
|
||||
FormatMessageA(
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
|
||||
NULL,
|
||||
WSAGetLastError(),
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||
msgbuf,
|
||||
0,
|
||||
NULL);
|
||||
spdlog::critical("[{}] {}", msg, msgbuf);
|
||||
LocalFree(msgbuf);
|
||||
LPSTR msgbuf = nullptr;
|
||||
FormatMessageA(
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
|
||||
NULL,
|
||||
WSAGetLastError(),
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||
(LPSTR)&msgbuf,
|
||||
0,
|
||||
NULL);
|
||||
spdlog::critical("[{}] {}", msg, msgbuf);
|
||||
LocalFree(msgbuf);
|
||||
#elif __linux__
|
||||
gsl::czstring msgbuf = strerror(errno);
|
||||
spdlog::critical("[{}] {}", msg, msgbuf);
|
||||
gsl::czstring msgbuf = strerror(errno);
|
||||
spdlog::critical("[{}] {}", msg, msgbuf);
|
||||
#else
|
||||
#error "이 플랫폼은 지원되지 않습니다."
|
||||
#endif
|
||||
@@ -46,20 +46,20 @@ void critical(gsl::czstring msg) {
|
||||
|
||||
void error(gsl::czstring msg) {
|
||||
#ifdef _WIN32
|
||||
gsl::zstring msgbuf = nullptr;
|
||||
FormatMessageA(
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
|
||||
NULL,
|
||||
WSAGetLastError(),
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||
msgbuf,
|
||||
0,
|
||||
NULL);
|
||||
spdlog::critical("[{}] {}", msg, msgbuf);
|
||||
LocalFree(msgbuf);
|
||||
LPSTR msgbuf = nullptr;
|
||||
FormatMessageA(
|
||||
FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
|
||||
NULL,
|
||||
WSAGetLastError(),
|
||||
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
|
||||
(LPSTR)&msgbuf,
|
||||
0,
|
||||
NULL);
|
||||
spdlog::critical("[{}] {}", msg, msgbuf);
|
||||
LocalFree(msgbuf);
|
||||
#elif __linux__
|
||||
gsl::czstring msgbuf = strerror(errno);
|
||||
spdlog::critical("[{}] {}", msg, msgbuf);
|
||||
gsl::czstring msgbuf = strerror(errno);
|
||||
spdlog::critical("[{}] {}", msg, msgbuf);
|
||||
#else
|
||||
#error "이 플랫폼은 지원되지 않습니다."
|
||||
#endif
|
||||
|
||||
@@ -4,6 +4,14 @@
|
||||
|
||||
namespace Chattr {
|
||||
|
||||
Socket::Socket() {
|
||||
#ifdef _WIN32
|
||||
WSADATA wsa;
|
||||
if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0)
|
||||
log::critical("WSAStartup()");
|
||||
#endif
|
||||
}
|
||||
|
||||
Socket::Socket(int domain, int type, int protocol) {
|
||||
#ifdef _WIN32
|
||||
WSADATA wsa;
|
||||
@@ -68,11 +76,11 @@ void Socket::move(const SOCKET __sock) {
|
||||
valid_ = true;
|
||||
};
|
||||
|
||||
void Socket::bind(const sockaddr *__addr) {
|
||||
bind((struct sockaddr *)__addr, sizeof(*__addr));
|
||||
void Socket::bind(sockaddr *__addr) {
|
||||
bind((struct sockaddr *)__addr, sizeof(sockaddr));
|
||||
}
|
||||
|
||||
void Socket::bind(const sockaddr *__addr, socklen_t __len) {
|
||||
void Socket::bind(sockaddr *__addr, socklen_t __len) {
|
||||
bindAddr.length = __len;
|
||||
std::memcpy(&bindAddr, __addr, __len);
|
||||
int retVal = ::bind(sock_, __addr, __len);
|
||||
@@ -80,19 +88,19 @@ void Socket::bind(const sockaddr *__addr, socklen_t __len) {
|
||||
log::critical("bind()");
|
||||
}
|
||||
|
||||
void Socket::bind(const sockaddr_in *__addr) {
|
||||
bind((struct sockaddr *)__addr, sizeof(*__addr));
|
||||
void Socket::bind(sockaddr_in *__addr) {
|
||||
bind((struct sockaddr *)__addr, sizeof(sockaddr_in));
|
||||
}
|
||||
|
||||
void Socket::bind(const sockaddr_in *__addr, socklen_t __len) {
|
||||
void Socket::bind(sockaddr_in *__addr, socklen_t __len) {
|
||||
bind((struct sockaddr *)__addr, __len);
|
||||
}
|
||||
|
||||
void Socket::bind(const sockaddr_in6 *__addr) {
|
||||
bind((struct sockaddr *)__addr, sizeof(*__addr));
|
||||
void Socket::bind(sockaddr_in6 *__addr) {
|
||||
bind((struct sockaddr *)__addr, sizeof(sockaddr_in6));
|
||||
}
|
||||
|
||||
void Socket::bind(const sockaddr_in6 *__addr, socklen_t __len) {
|
||||
void Socket::bind(sockaddr_in6 *__addr, socklen_t __len) {
|
||||
bind((struct sockaddr *)__addr, __len);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,10 +5,7 @@
|
||||
namespace Chattr {
|
||||
|
||||
void TCPSocket::init(int domain) {
|
||||
sock_ = ::socket(domain, SOCK_STREAM, 0);
|
||||
if (sock_ == INVALID_SOCKET)
|
||||
log::critical("socket()");
|
||||
|
||||
init(domain, SOCK_STREAM, 0);
|
||||
valid_ = true;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user