diff options
Diffstat (limited to 'sys/lib/string/vsnprintf.c')
-rw-r--r-- | sys/lib/string/vsnprintf.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/lib/string/vsnprintf.c b/sys/lib/string/vsnprintf.c index 30127d8..489514f 100644 --- a/sys/lib/string/vsnprintf.c +++ b/sys/lib/string/vsnprintf.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2023-2024 Ian Marco Moffett and the Osmora Team. + * Copyright (c) 2023-2025 Ian Marco Moffett and the Osmora Team. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -96,6 +96,9 @@ vsnprintf(char *s, size_t size, const char *fmt, va_list ap) c1 = (char )va_arg(ap, int); printc(s, size, &off, c1); break; + case '%': + printc(s, size, &off, c); + break; case 'd': num = va_arg(ap, int); itoa(num, num_buf, 10); @@ -104,6 +107,7 @@ vsnprintf(char *s, size_t size, const char *fmt, va_list ap) num_len = strlen(num_buf); for (size_t i = num_len; i < pad_width; ++i) printc(s, size, &off, '0'); + pad_width = 0; } printstr(s, size, &off, num_buf); break; |