From 779b7fc1fe91e5a355b6e15de882d46b26ab2270 Mon Sep 17 00:00:00 2001 From: Jon Santmyer Date: Sat, 5 Sep 2026 20:24:13 -0400 Subject: working syscalls. --- lib/printf.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'lib/printf.c') diff --git a/lib/printf.c b/lib/printf.c index 4c26fe4..4e64d7b 100644 --- a/lib/printf.c +++ b/lib/printf.c @@ -100,6 +100,10 @@ vsnprintf( case 'i': goto int_conversion; break; + /*custom formatters for jove.*/ + case 'P': + goto path_conversion; + break; } string_conversion: { @@ -132,6 +136,17 @@ int_conversion: } stri += advance; } continue; +path_conversion: + { + uint16_t *obj_path = va_arg(ap, uint16_t*); + size_t obj_pathlen = va_arg(ap, size_t); + for(size_t i = 0; i < obj_pathlen; i++) { + uint16_t subdir = obj_path[i]; + int advance = convert_as_int(str, size, stri, 3, subdir, 10, 1); + stri += advance; + SPRINTF_PUTC(str, size, stri, '/'); + } + } continue; } if(str && stri < size) str[stri] = 0; return stri; -- cgit v1.2.3