mirror of
https://github.com/thepigeongenerator/mcaselector-lite.git
synced 2025-12-18 20:35:45 +01:00
We were statically creating a new string per log message, so re-using the same message would cause duplicate byte sizes. Now, all prefixes / suffixes are only defined once, the file name is defined once per file, the line number should be defined once per unique line. This just saves some memory in the final binary, allowing things to be optimised a little better.
23 lines
989 B
C
23 lines
989 B
C
/* Copyright (c) 2025 Quinn
|
|
* Licensed under the MIT Licence. See LICENSE for details */
|
|
#pragma once
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
|
|
#include "util/atrb.h"
|
|
#include "util/intdef.h"
|
|
#include "util/macro.h"
|
|
|
|
void error_dbg(uint ln, const char *restrict file, const char *restrict fmt, ...);
|
|
void error_inf(uint ln, const char *restrict file, const char *restrict fmt, ...);
|
|
void error_war(uint ln, const char *restrict file, const char *restrict fmt, ...);
|
|
void error_err(uint ln, const char *restrict file, const char *restrict fmt, ...);
|
|
void error_fat(uint ln, const char *restrict file, const char *restrict fmt, ...) NORET;
|
|
|
|
#define debug(s, ...) error_dbg(__LINE__, __FILE__, s, ##__VA_ARGS__)
|
|
#define info(s, ...) error_inf(__LINE__, __FILE__, s, ##__VA_ARGS__)
|
|
#define warn(s, ...) error_war(__LINE__, __FILE__, s, ##__VA_ARGS__)
|
|
#define error(s, ...) error_err(__LINE__, __FILE__, s, ##__VA_ARGS__)
|
|
#define fatal(s, ...) error_fat(__LINE__, __FILE__, s, ##__VA_ARGS__)
|