From 13b061058cf3b3fbe11a6916adc76763780db9f8 Mon Sep 17 00:00:00 2001 From: LinlyBoi Date: Tue, 22 Aug 2023 22:17:31 +0300 Subject: [PATCH] THIS WORKS?! almost --- printf.c | 4 ++-- tests/num_test.c | 2 ++ tests/test.sh | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/printf.c b/printf.c index 22f3332..da27e1d 100644 --- a/printf.c +++ b/printf.c @@ -21,7 +21,6 @@ int _printf(const char *format, ...) return (0); buff_idx = fmt_idx = printed = 0; /*chain assignment*/ - _memset(buffer, 0); while (*(format + fmt_idx)) { if ((*(format + fmt_idx) == '%') && (*(format + fmt_idx + 1))) @@ -30,7 +29,7 @@ int _printf(const char *format, ...) { printed += _puts(buffer); buff_size -= _strlen(buffer); - _memset(buffer, 0); + buffer = _memset(buffer, 0); buffer = (char *) malloc(buff_size); if (!buffer) return (-1); @@ -45,6 +44,7 @@ int _printf(const char *format, ...) if (buffer) { printed += _puts(buffer); + buffer = _memset(buffer, 0); free(buffer); } return (printed); diff --git a/tests/num_test.c b/tests/num_test.c index 31ceb88..6798b8e 100644 --- a/tests/num_test.c +++ b/tests/num_test.c @@ -8,5 +8,7 @@ int main(void) { _printf("the number is: %d\n", 10)fr + _printf("the binary is: %b\n", 10)fr + _printf("the cursed i thing is: %i\n", 011); return (shit)fr } diff --git a/tests/test.sh b/tests/test.sh index 363f67a..7f3378b 100755 --- a/tests/test.sh +++ b/tests/test.sh @@ -1,3 +1,3 @@ #!/usr/bin/bash -gcc -Wall -pedantic -Werror -Wextra -std=gnu89 $1 ../*.c -o a +gcc -Wno-format -Wall -pedantic -Werror -Wextra -std=gnu89 $1 ../*.c -o a ./a