Merge pull request #1 from fruityloops1/dev

remove fixed buffer size from logger (+ run clang-format)
This commit is contained in:
CraftyBoss 2022-06-19 19:56:19 -07:00 committed by GitHub
commit 52c3345633
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 41 additions and 31 deletions

View File

@ -1,6 +1,8 @@
#include "logger.hpp"
#include "helpers.hpp"
#include "nn/result.h"
#include "nn/util.h"
#include "nx/svc.h"
Logger* Logger::sInstance = nullptr;
@ -13,7 +15,6 @@ void Logger::createInstance() {
}
nn::Result Logger::init(const char* ip, u16 port) {
sock_ip = ip;
this->port = port;
@ -27,7 +28,8 @@ nn::Result Logger::init(const char* ip, u16 port) {
nn::nifm::Initialize();
nn::nifm::SubmitNetworkRequest();
while (nn::nifm::IsNetworkRequestOnHold()) { }
while (nn::nifm::IsNetworkRequestOnHold()) {
}
// emulators make this return false always, so skip it during init
#ifndef EMU
@ -52,7 +54,9 @@ nn::Result Logger::init(const char* ip, u16 port) {
nn::Result result;
if ((result = nn::socket::Connect(this->socket_log_socket, &serverAddress, sizeof(serverAddress))).isFailure()) {
if ((result =
nn::socket::Connect(this->socket_log_socket, &serverAddress, sizeof(serverAddress)))
.isFailure()) {
this->socket_log_state = SOCKET_LOG_UNAVAILABLE;
return result;
}
@ -83,23 +87,30 @@ void Logger::log(const char* fmt, ...) {
va_list args;
va_start(args, fmt);
char buf[0x500];
size_t bufSize = nn::util::VSNPrintf(nullptr, 0, fmt, args);
size_t prefixSize = bufSize += 3 /* "[] " */ + strlen(sInstance->sockName);
if (!sInstance->isDisableName)
bufSize += prefixSize;
char buf[bufSize];
if (sInstance->isDisableName)
nn::util::VSNPrintf(buf, bufSize, fmt, args);
else {
nn::util::VSNPrintf(buf + prefixSize, bufSize - prefixSize, fmt, args);
nn::util::SNPrintf(buf, prefixSize, "[%s] ", sInstance->sockName);
}
if (nn::util::VSNPrintf(buf, sizeof(buf), fmt, args) > 0) {
if (!sInstance->isDisableName) {
char prefix[0x510];
nn::util::SNPrintf(prefix, sizeof(prefix), "[%s] %s", sInstance->sockName, buf);
sInstance->socket_log(prefix);
} else {
sInstance->socket_log(buf);
}
}
#ifdef EMU
svcOutputDebugString(buf, bufSize);
#endif
va_end(args);
}
bool Logger::pingSocket() {
return socket_log("ping") > 0; // if value is greater than zero, than the socket recieved our message, otherwise the connection was lost.
return socket_log("ping") > 0; // if value is greater than zero, than the socket recieved our
// message, otherwise the connection was lost.
}
void tryInitSocket() {
@ -108,4 +119,3 @@ void tryInitSocket() {
Logger::createInstance(); // creates a static instance for debug logger
#endif
}