summaryrefslogtreecommitdiff
path: root/mm/src/boot/O2/printutils.c
blob: 82e16f4dda75ee285d8403770188bb0f395b2b4d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include "global.h"
#include "stdio.h"

s32 _Printf(PrintCallback a, void* arg, const char* fmt, va_list ap) {
    unsigned char buffer[4096];

    vsnprintf(buffer, sizeof(buffer), fmt, ap);
    a(arg, buffer, strlen(buffer));
}

s32 PrintUtils_VPrintf(PrintCallback* pfn, const char* fmt, va_list args) {
    return _Printf(*pfn, pfn, fmt, args);
}

s32 PrintUtils_Printf(PrintCallback* pfn, const char* fmt, ...) {
    s32 ret;
    va_list args;
    va_start(args, fmt);

    ret = PrintUtils_VPrintf(pfn, fmt, args);

    va_end(args);

    return ret;
}