From 6f3b51567d455f40edc03bccac2bc0aaf9486491 Mon Sep 17 00:00:00 2001 From: Leonardo Algarra Date: Mon, 20 Oct 2025 19:49:35 +0200 Subject: [PATCH] Tests 11, 12: %p needs correction --- test_printf_bonus.c | 41 +++++++++++++++++++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 2 deletions(-) diff --git a/test_printf_bonus.c b/test_printf_bonus.c index b118981..e9377ef 100644 --- a/test_printf_bonus.c +++ b/test_printf_bonus.c @@ -6,7 +6,7 @@ /* By: lalgarra +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/10/15 18:54:32 by lalgarra #+# #+# */ -/* Updated: 2025/10/20 19:30:05 by lalgarra ### ########.fr */ +/* Updated: 2025/10/20 19:48:21 by lalgarra ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,7 @@ #include #include #include +#include static char *get_begin(void) { @@ -204,7 +205,7 @@ static void test10() int ret; strcpy(prefix, "test10: "); - strcpy(sfmt, "%%.2s %%.3s %%.4s %%.5s %%.1s: %.2s %.3s %.4s %.5s %.1s--eof; "); + strcpy(sfmt, "%%.2sx%%.3sx%%.4sx%%.5sx%%.1s:x%.2sx%.3sx%.4sx%.5sx%.1s--eof; "); printf("%s printf(): ", prefix); ret = printf(sfmt, " - ", "", "4", "", "2 "); printf("ret=%i\n", ret); @@ -214,6 +215,40 @@ static void test10() ft_printf("ret=%i\n", ret); } +static void test11() +{ + char prefix[128]; + char sfmt[128]; + int ret; + + strcpy(prefix, "test11: "); + strcpy(sfmt, "%%-11p, %%-12p:%-11p,%-12p--eof; "); + printf("%s printf(): ", prefix); + ret = printf(sfmt, INT_MIN, INT_MAX); + printf("ret=%i\n", ret); + fflush(stdout); + ft_printf("%sft_printf(): ", prefix); + ret = ft_printf(sfmt, INT_MIN, INT_MAX); + ft_printf("ret=%i\n", ret); +} + +static void test12() +{ + char prefix[128]; + char sfmt[128]; + int ret; + + strcpy(prefix, "test12: "); + strcpy(sfmt, "%%-13p, %%-14p:%-13p,%-14p--eof; "); + printf("%s printf(): ", prefix); + ret = printf(sfmt, ULONG_MAX, -ULONG_MAX); + printf("ret=%i\n", ret); + fflush(stdout); + ft_printf("%sft_printf(): ", prefix); + ret = ft_printf(sfmt, ULONG_MAX, -ULONG_MAX); + ft_printf("ret=%i\n", ret); +} + static void test50() { char prefix[128]; @@ -260,6 +295,8 @@ int main(void) test08(); test09(); test10(); + test11(); + test12(); test50(); test99(); return (0);