LibC: Make {open,sys,close}log use their own FILE instead of stddbg

This commit is contained in:
Bananymous 2025-06-06 11:59:15 +03:00
parent 6beaafcf11
commit 00c6820825
1 changed files with 9 additions and 4 deletions

View File

@ -1,13 +1,16 @@
#include <BAN/Assert.h>
#include <stdarg.h> #include <stdarg.h>
#include <stdio.h> #include <stdio.h>
#include <syslog.h> #include <syslog.h>
static const char* s_ident = nullptr; static const char* s_ident = nullptr;
static FILE* s_log_file = nullptr;
void openlog(const char* ident, int option, int facility) void openlog(const char* ident, int option, int facility)
{ {
if (s_log_file == nullptr)
s_log_file = fopen("/dev/debug", "w");
(void)option; (void)option;
(void)facility; (void)facility;
s_ident = ident; s_ident = ident;
@ -17,14 +20,16 @@ void syslog(int priority, const char* format, ...)
{ {
(void)priority; (void)priority;
if (s_ident) if (s_ident)
fprintf(stddbg, "%s", s_ident); fprintf(s_log_file, "%s", s_ident);
va_list args; va_list args;
va_start(args, format); va_start(args, format);
vfprintf(stddbg, format, args); vfprintf(s_log_file, format, args);
va_end(args); va_end(args);
} }
void closelog() void closelog()
{ {
fclose(s_log_file);
s_log_file = nullptr;
s_ident = nullptr; s_ident = nullptr;
} }