diff options
| author | Derek Hensley <hensley.derek58@gmail.com> | 2023-11-09 15:08:21 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-10 10:08:21 +1100 |
| commit | e96f18d4e720663f79c6a7dc74c19b3c7f83ea5f (patch) | |
| tree | 82f6a61d1ee91f673c3d77b45e7622fc428505d4 /src/boot/O2 | |
| parent | 70637abca9c4c44f7989c76937ab87771ed03804 (diff) | |
Small boot cleanup (#1475)
Diffstat (limited to 'src/boot/O2')
| -rw-r--r-- | src/boot/O2/sprintf.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/boot/O2/sprintf.c b/src/boot/O2/sprintf.c new file mode 100644 index 000000000..773b982ff --- /dev/null +++ b/src/boot/O2/sprintf.c @@ -0,0 +1,30 @@ +#include "ultra64.h" +#include "libc/stdlib.h" +#include "libc/string.h" + +void* proutSprintf(void* dst, const char* fmt, size_t size) { + return (void*)((uintptr_t)memcpy(dst, fmt, size) + size); +} + +int vsprintf(char* dst, char* fmt, va_list args) { + int ans = _Printf(proutSprintf, dst, fmt, args); + if (ans > -1) { + dst[ans] = 0; + } + return ans; +} + +int sprintf(char* dst, const char* fmt, ...) { + int ans; + va_list args; + va_start(args, fmt); + + ans = _Printf(&proutSprintf, dst, fmt, args); + if (ans > -1) { + dst[ans] = 0; + } + + va_end(args); + + return ans; +} |
