diff --git a/src/printf.c b/src/printf.c index b234eaa..87d0c16 100644 --- a/src/printf.c +++ b/src/printf.c @@ -199,6 +199,10 @@ void kernaux_printf_va( putchar(*arg_ptr); } } + else if (formatter.type == TYPE_c) { + const char arg = va_arg(va, int); + putchar(arg); + } } putchar('\0'); diff --git a/tests/test_printf.c b/tests/test_printf.c index 502ce67..746e12f 100644 --- a/tests/test_printf.c +++ b/tests/test_printf.c @@ -40,6 +40,8 @@ int main() test("", ""); test("Hello, World!", "Hello, World!"); + test("Hello, Alex!", "Hello, %s!", "Alex"); + test("Hello, Alex!", "Hello, %c%c%c%c!", 'A', 'l', 'e', 'x'); return 0; }