Files
Toy/source/toy_print.c
T
Ratstail91 69175e801a Fixed a hash collision causing null variables to be overwritten
Andrew, don't you dare run my code through a clanker again or I'll hunt
your Canuck ass down and beat you with a hockey stick.
2026-05-26 17:52:07 +10:00

48 lines
848 B
C

#include "toy_print.h"
#include <assert.h>
#include <stdio.h>
static Toy_callbackType printCallback = puts;
static Toy_callbackType errorCallback = puts;
static Toy_callbackType assertCallback = puts;
void Toy_print(const char* msg) {
printCallback(msg);
}
void Toy_error(const char* msg) {
errorCallback(msg);
}
void Toy_assertFailure(const char* msg) {
assertCallback(msg);
}
void Toy_setPrintCallback(Toy_callbackType cb) {
assert(cb);
printCallback = cb;
}
void Toy_setErrorCallback(Toy_callbackType cb) {
assert(cb);
errorCallback = cb;
}
void Toy_setAssertFailureCallback(Toy_callbackType cb) {
assert(cb);
assertCallback = cb;
}
void Toy_resetPrintCallback(void) {
printCallback = puts;
}
void Toy_resetErrorCallback(void) {
errorCallback = puts;
}
void Toy_resetAssertFailureCallback(void) {
assertCallback = puts;
}