From 2c0981859eee38323c04537b68fb138ef986095f Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 14 Nov 2019 09:20:43 +0100 Subject: Added memory leaks check --- .gitignore | 1 + Makefile | 15 +- README.md | 9 + check_leaks.c | 1643 +++++++++++++++++++++++++++++++++++++++++++ generate.py | 16 +- saved_tests.c | 464 +++++++++++- tests/moulitest_tests.c | 2 +- tests/printf_tester_tests.c | 4 +- 8 files changed, 2145 insertions(+), 9 deletions(-) create mode 100644 check_leaks.c diff --git a/.gitignore b/.gitignore index 4c16688..40af2e8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ a.out ft_printf_test +check_leaks *.o *.ghc *.dSYM diff --git a/Makefile b/Makefile index bcd72c1..2c69d10 100644 --- a/Makefile +++ b/Makefile @@ -1,10 +1,11 @@ FT_PRINTF_PATH = ../ft_printf CC = gcc -CCFLAGS = -Wall -Wextra +CCFLAGS = -Wall -Wextra -Wno-trigraphs LDFLAGS = -L$(FT_PRINTF_PATH) -lftprintf NAME = ft_printf_test +CHECK_LEAKS_NAME = check_leaks PYTHON = python3 RM = rm -f MAKE = make -j4 @@ -34,6 +35,16 @@ raw: all generate: $(PYTHON) generate.py -n 100 +.PHONY: check_leaks +check_leaks: + $(CC) $(LDFLAGS) $(CCFLAGS) -g -o $(CHECK_LEAKS_NAME) check_leaks.c + valgrind ./$(CHECK_LEAKS_NAME) > /dev/null + +check_leaks_verbose: + $(CC) $(LDFLAGS) $(CCFLAGS) -g -o $(CHECK_LEAKS_NAME) check_leaks.c + valgrind --leak-check=full ./$(CHECK_LEAKS_NAME) > /dev/null + + all: $(NAME) $(NAME): ft_printf_all $(OBJ) header.h tests/tests.h @@ -44,9 +55,11 @@ $(NAME): ft_printf_all $(OBJ) header.h tests/tests.h clean: $(RM) $(OBJ) + $(MAKE) -C $(FT_PRINTF_PATH) clean fclean: clean $(RM) $(NAME) + $(MAKE) -C $(FT_PRINTF_PATH) fclean re: fclean all $(MAKE) -C $(FT_PRINTF_PATH) re diff --git a/README.md b/README.md index b52d972..e431a9f 100644 --- a/README.md +++ b/README.md @@ -31,6 +31,15 @@ It will generate random test according to the `-Wformat` flag of gcc. - `> python3 generate.py -n [number of tests]`: generate n test - `> python3 generate.py -h`: show all available options +## Memory leaks check + +You have to install [valgrind](http://valgrind.org/) with [brew](https://brew.sh/), +[here](https://stackoverflow.com/questions/35775102) is a nice thread to install it +locally if you don't have root access. You can then run `> brew install valgrind`. + +- `> make check_leaks`: run valgrind on a test (without the test themself). +- `> make check_leaks_verbose`: add `--leak-check=full` to valgrind. + ## Pro tips This doesnt handle timeout, so if your `ft_printf` goes in an infinite loop, diff --git a/check_leaks.c b/check_leaks.c new file mode 100644 index 0000000..f8e9941 --- /dev/null +++ b/check_leaks.c @@ -0,0 +1,1643 @@ +#include +#include "header.h" + +int main() +{ + ft_printf("This is a simple test."); + ft_printf("This is a simple test.\nSecond sentence.\n"); + ft_printf(""); + ft_printf("\n"); + ft_printf("%s", "abc"); + ft_printf("111%s333", "222"); + ft_printf("%s333", "222"); + ft_printf("111%s", "222"); + ft_printf("{%s}", 0); + ft_printf("{%s}", ""); + ft_printf("111%s333%s555", "222", "444"); + ft_printf("111%s333%s555%saaa%sccc", "222", "444", "666", "bbb"); + ft_printf("%s%s%s%s%s", "1", "2", "3", "4", "5"); + ft_printf("%d", 42); + ft_printf("%d", -42); + ft_printf("before %d after", 42); + ft_printf("%d%d%d%d%d", 1, -2, 3, -4, 5); + ft_printf("a%db%dc%dd", 1, -2, 3); + ft_printf("%d", INT_MAX); + ft_printf("%d", INT_MIN); + ft_printf("%p", &strlen); + ft_printf("%p", 0); + ft_printf("%%"); + ft_printf("aa%%bb"); + ft_printf("%%%%%%%%%%"); + ft_printf(".%%.%%.%%.%%.%%.%%.%%.%%."); + ft_printf("%"); + ft_printf("{% %}"); + ft_printf("%s%p%d%d%p%s%p%p%s", "a", &free, 1, 2, &malloc, "b", &free, &malloc, "c"); + ft_printf("%i", 42); + ft_printf("%i", -42); + ft_printf("before %i after", 42); + ft_printf("%i%i%i%i%i", 1, -2, 3, -4, 5); + ft_printf("a%ib%ic%id", 1, -2, 3); + ft_printf("%u", 42); + ft_printf("before %u after", 42); + ft_printf("%u%u%u%u%u", 1, 100, 999, 42, 999988888); + ft_printf("a%ub%uc%ud", 0, 55555, 100000); + ft_printf("%u", UINT_MAX); + ft_printf("%x", 42); + ft_printf("before %x after", 42); + ft_printf("%x%x%x%x%x", 1, 100, 999, 42, 999988888); + ft_printf("a%xb%xc%xd", 0, 55555, 100000); + ft_printf("%x, %x", 0, UINT_MAX); + ft_printf("%X", 42); + ft_printf("before %X after", 42); + ft_printf("%X%X%X%X%X", 1, 100, 999, 42, 999988888); + ft_printf("a%Xb%Xc%Xd", 0, 55555, 100000); + ft_printf("%X, %X", 0, UINT_MAX); + ft_printf("%c", 'c'); + ft_printf("%c%c", '4', '2'); + ft_printf("%c", 0); + ft_printf("%s %d %p %% %x", "bonjour ", 42, &free, 42); + ft_printf("%ld%ld", 0l, 42l); + ft_printf("%ld", (long)INT_MAX + 1); + ft_printf("%ld", (long)INT_MIN - 1); + ft_printf("%ld", LONG_MAX); + ft_printf("%ld", LONG_MIN); + ft_printf("%li%li", 0l, 42l); + ft_printf("%li", (long)INT_MAX + 1); + ft_printf("%li", (long)INT_MIN - 1); + ft_printf("%li", LONG_MAX); + ft_printf("%li", LONG_MIN); + ft_printf("%lld%lld", 0ll, 42ll); + ft_printf("%lld", LLONG_MAX); + ft_printf("%lld", LLONG_MIN); + ft_printf("%lli%lli", 0ll, 42ll); + ft_printf("%lli", LLONG_MAX); + ft_printf("%lli", LLONG_MIN); + ft_printf("%hd%hd", (short int)0, (short int)42); + ft_printf("%hd", SHRT_MAX); + ft_printf("%hd", SHRT_MIN); + ft_printf("%hi%hi", 0, 42); + ft_printf("%hi", SHRT_MAX); + ft_printf("%hi", SHRT_MIN); + ft_printf("%hu, %hu", 0, USHRT_MAX); + ft_printf("%hx, %hx", 0, USHRT_MAX); + ft_printf("%hX, %hX", 0, USHRT_MAX); + ft_printf("%hhd%hhd", 1, 42); + ft_printf("%hhd", CHAR_MAX); + ft_printf("%hhd", CHAR_MAX + 42); + ft_printf("%hhd", CHAR_MIN); + ft_printf("%hhd", CHAR_MIN - 42); + ft_printf("%hhi%hhi", 0, 42); + ft_printf("%hhd", CHAR_MAX); + ft_printf("%hhd", CHAR_MAX + 42); + ft_printf("%hhi", CHAR_MIN); + ft_printf("%hhi", CHAR_MIN - 42); + ft_printf("%hhu, %hhu", 0, UCHAR_MAX); + ft_printf("%hhx, %hhx", 0, UCHAR_MAX); + ft_printf("%hhX, %hhX", 0, UCHAR_MAX); + ft_printf("%hhu, %hhu", 0, UCHAR_MAX + 42); + ft_printf("%hhx, %hhx", 0, UCHAR_MAX + 42); + ft_printf("%hhX, %hhX", 0, UCHAR_MAX + 42); + ft_printf("%lp", 42); + ft_printf("{%10d}", 42); + ft_printf("{%4d}", 10000); + ft_printf("{%30d}", 10000); + ft_printf("{%10d}", -42); + ft_printf("{%3c}", 0); + ft_printf("{%5p}", 0); + ft_printf("{%-15p}", 0); + ft_printf("{%-13p}", &strlen); + ft_printf("{%-12p}", &strlen); + ft_printf("{%-10d}", 42); + ft_printf("{%-4d}", 10000); + ft_printf("{%-30d}", 10000); + ft_printf("{%010d}", -42); + ft_printf("{%04d}", 10000); + ft_printf("{%030d}", 10000); + ft_printf("{%030x}", 0xFFFF); + ft_printf("{%030X}", 0xFFFF); + ft_printf("%#x", 42); + ft_printf("%#x", 0); + ft_printf("%#x", INT_MAX); + ft_printf("%#X", 42); + ft_printf("%#X", 0); + ft_printf("%#X", INT_MAX); + ft_printf("%#c", 0); + ft_printf("%+d", 42); + ft_printf("%+d", -42); + ft_printf("%+i", 42); + ft_printf("%+i", -42); + ft_printf("% d", 9999); + ft_printf("% d", -9999); + ft_printf("% i", 9999); + ft_printf("% i", -9999); + ft_printf("{% +d}", 42); + ft_printf("{%+ d}", 42); + ft_printf("{%+03d}", 0); + ft_printf("{% 03d}", 0); + ft_printf("{%0-3d}", 0); + ft_printf("{%+03d}", 12); + ft_printf("{%+03d}", 123456); + ft_printf("{%03.2d}", 0); + ft_printf("%.4d", 42); + ft_printf("%.4d", 424242); + ft_printf("%.4d", -424242); + ft_printf("%15.4d", 42); + ft_printf("%15.4d", 424242); + ft_printf("%8.4d", 424242424); + ft_printf("%15.4d", -42); + ft_printf("%15.4d", -424242); + ft_printf("%8.4d", -424242424); + ft_printf("%4.15d", 42); + ft_printf("%4.15d", 424242); + ft_printf("%4.8d", 424242424); + ft_printf("%4.15d", -42); + ft_printf("%4.15d", -424242); + ft_printf("%4.8d", -424242424); + ft_printf("%.d, %.0d", 0, 0); + ft_printf("%.10d", -42); + ft_printf("%.4i", 42); + ft_printf("%15.4i", 42); + ft_printf("%4.15i", 42); + ft_printf("%.i, %.0i", 0, 0); + ft_printf("%.4u", 42); + ft_printf("%.4u", 424242); + ft_printf("%15.4u", 42); + ft_printf("%15.4u", 424242); + ft_printf("%8.4u", 424242424); + ft_printf("%4.15u", 42); + ft_printf("%4.15u", 424242); + ft_printf("%4.8u", 424242424); + ft_printf("%.u, %.0u", 0, 0); + ft_printf("%.4x", 42); + ft_printf("%.4x", 424242); + ft_printf("%15.4x", 42); + ft_printf("%15.4x", 424242); + ft_printf("%8.4x", 424242424); + ft_printf("%4.15x", 42); + ft_printf("%4.15x", 42424242); + ft_printf("%4.8x", 424242424); + ft_printf("%.x, %.0x", 0, 0); + ft_printf("%.4X", 42); + ft_printf("%.4X", 424242); + ft_printf("%15.4X", 42); + ft_printf("%15.4X", 424242); + ft_printf("%8.4X", 424242424); + ft_printf("%4.15X", 42); + ft_printf("%4.15X", 424242); + ft_printf("%4.8X", 424242424); + ft_printf("%.X, %.0X", 0, 0); + ft_printf("%.4s", "42"); + ft_printf("%.4s", "42 is the answer"); + ft_printf("%15.4s", "42"); + ft_printf("%15.4s", "I am 42"); + ft_printf("%15.4s", "42 is the answer"); + ft_printf("%4.15s", "42"); + ft_printf("%4.15s", "I am 42"); + ft_printf("%4.15s", "42 is the answer"); + ft_printf("%4.s", "42"); + ft_printf("%.c", 0); + ft_printf("%.5c", 0); + ft_printf("%.5c", 42); + ft_printf("%.0p, %.p", 0, 0); + ft_printf("%.5p", 0); + ft_printf("%9.2p", 1234); + ft_printf("%9.2p", 1234567); + ft_printf("%2.9p", 1234); + ft_printf("%2.9p", 1234567); + ft_printf("%#.x, %#.0x", 0, 0); + ft_printf("%.p, %.0p", 0, 0); + ft_printf("{%#.5x}", 1); + ft_printf("%hhd - %hhd", SHRT_MAX - 42, SHRT_MAX - 4200); + ft_printf("%u", -42); + ft_printf("%u", UINT_MAX + 1); + ft_printf("%c", 200); + ft_printf("%hhu / %hhu", SHRT_MAX - 42, SHRT_MAX - 4200); + ft_printf("%*d", 5, 42); + ft_printf("{%*d}", -5, 42); + ft_printf("{%*d}", 0, 42); + ft_printf("{%*c}", 0, 0); + ft_printf("{%*c}", -15, 0); + ft_printf("{%.*d}", 5, 42); + ft_printf("{%.*d}", -5, 42); + ft_printf("{%.*d}", 0, 42); + ft_printf("{%.*s}", 5, "42"); + ft_printf("{%.*s}", -5, "42"); + ft_printf("{%.*s}", 0, "42"); + ft_printf("{%*s}", 5, 0); + ft_printf("{%*p}", 10, 0); + ft_printf("%*.*d", 0, 3, 0); + ft_printf("{%*3d}", 5, 0); + ft_printf("{%05.*d}", -15, 42); + ft_printf("hello, world!"); + ft_printf(""); + ft_printf("\t\n\r\v\f\n"); + ft_printf("%%"); + ft_printf("%5%"); + ft_printf("%-5%"); + ft_printf("%05%"); + ft_printf("%-05%"); + ft_printf("%"); + ft_printf("%5"); + ft_printf("%05"); + ft_printf("%-05"); + ft_printf("%-5"); + int t; + ft_printf("%Ld", 42); + ft_printf("%#d", 42); + ft_printf("%hhhd", 42); + ft_printf("%hhhhd", 42); + ft_printf("%hhld", 42); + ft_printf("%hhlld", 42); + ft_printf("%llhd", 42); + ft_printf("%llld", 42); + ft_printf("%Li", 42); + ft_printf("%#i", 42); + ft_printf("%hhhi", 42); + ft_printf("%-i", 42); + ft_printf("%+o", 42); + ft_printf("% o", 42); + ft_printf("%Lo", 42); + ft_printf("%hhho", 42); + ft_printf("%hhhho", 42); + ft_printf("%hhlo", 42); + ft_printf("%hhllo", 42); + ft_printf("%llho", 42); + ft_printf("%lllo", 42); + ft_printf("%-o", 42); + ft_printf("%Lu", 42); + ft_printf("%#u", 42); + ft_printf("%+u", 42); + ft_printf("% u", 42); + ft_printf("%hhhu", 42); + ft_printf("%hhhhu", 42); + ft_printf("%hhlu", 42); + ft_printf("%hhllu", 42); + ft_printf("%llhu", 42); + ft_printf("%lllu", 42); + ft_printf("%-u", 42); + ft_printf("%Lx", 42); + ft_printf("%+x", 42); + ft_printf("% x", 42); + ft_printf("%hhhx", 42); + ft_printf("%hhhhx", 42); + ft_printf("%hhlx", 42); + ft_printf("%hhllx", 42); + ft_printf("%llhx", 42); + ft_printf("%lllx", 42); + ft_printf("%LX", 42); + ft_printf("%+X", 42); + ft_printf("% X", 42); + ft_printf("%hhhX", 42); + ft_printf("%llhX", 42); + ft_printf("%-x", 42); + ft_printf("%hhf", 42.5); + ft_printf("%hf", 42.5); + ft_printf("%llf", 42.5); + ft_printf("%lllf", 42.5); + ft_printf("%llllf", 42.5); + ft_printf("%LLf", 42.5); + ft_printf("%Llf", 42.5); + ft_printf("%lLf", 42.5); + ft_printf("%-f", 42.5); + ft_printf("%-021s", "abc"); + ft_printf("%-05s", "goes over"); + ft_printf("%04.3s%-7.4s", "hello", "world"); + ft_printf("%+u", 5); + ft_printf("%+u", 5); + ft_printf("%+u", 4294967295); + ft_printf("%+5u", 35); + ft_printf("%+7u", 0); + ft_printf("%+24u", 4294967295); + ft_printf("%+.7u", 234); + ft_printf("%+.3u", 3723); + ft_printf("%+05u", 432); + ft_printf("%+04u", 0); + ft_printf("%+8.5u", 34); + ft_printf("%+8.5u", 0); + ft_printf("%+8.3u", 8375); + ft_printf("%+3.7u", 3267); + ft_printf("%+3.3u", 6983); + ft_printf("%+-8.5u", 34); + ft_printf("%+-8.5u", 0); + ft_printf("%+-8.3u", 8375); + ft_printf("%+-3.7u", 3267); + ft_printf("%+-3.3u", 6983); + ft_printf("%0+8.5u", 34); + ft_printf("%0+8.5u", 0); + ft_printf("%0+8.3u", 8375); + ft_printf("%0+3.7u", 3267); + ft_printf("%0+3.3u", 6983); + ft_printf("%0+-8.5u", 34); + ft_printf("%0+-8.5u", 0); + ft_printf("%0+-8.3u", 8375); + ft_printf("%0+-3.7u", 3267); + ft_printf("%0+-3.3u", 6983); + ft_printf("%05c", '\0'); + ft_printf("%-05c", '\0'); + ft_printf("%+lu", 22337203685477); + ft_printf("%++d", 42); + ft_printf("% d", 42); + ft_printf("% + d", 42); + ft_printf("%--5d", 42); + ft_printf("%-+-5d", 42); + ft_printf("%##x", 42); + ft_printf("%#++#-5x", 42); + ft_printf("%.4c", 'a'); + ft_printf("%.c", 'a'); + ft_printf("%#c", 'a'); + ft_printf("%05c", 'a'); + ft_printf("%0c", 'a'); + ft_printf("%+c", 'a'); + ft_printf("%+c", -42); + ft_printf("% c", 'a'); + ft_printf("% c", -42); + ft_printf("%hhc", 'a'); + ft_printf("%hc", 'a'); + ft_printf("%lc", L'a'); + ft_printf("%llc", L'a'); + ft_printf("%Lc", L'a'); + ft_printf("%-c", 'a'); + ft_printf("%#s", "hello"); + ft_printf("%05s", "hello"); + ft_printf("%0s", "hello"); + ft_printf("%+s", "hello"); + ft_printf("% s", "hello"); + ft_printf("%hhs", "hello"); + ft_printf("%hs", "hello"); + ft_printf("%ls", L"hello"); + ft_printf("%lls", L"hello"); + ft_printf("%Ls", L"hello"); + ft_printf("%-s", "hello"); + ft_printf("%1$"); + ft_printf("%0"); + ft_printf("% "); + ft_printf("%#"); + ft_printf("%-"); + ft_printf("%+"); + ft_printf("%23"); + ft_printf("%."); + ft_printf("%hh"); + ft_printf("%h"); + ft_printf("%ll"); + ft_printf("%l"); + ft_printf("%L"); + ft_printf("%p"); + ft_printf("%d"); + ft_printf("%u"); + ft_printf("%x"); + ft_printf("%X"); + ft_printf("%f"); + ft_printf("%c"); + ft_printf("%o"); + ft_printf("hello, %s.", "gavin"); + ft_printf("%s", "testing testing"); + ft_printf("%s%s", "hello", "world"); + ft_printf("..%s stuff %s", "a", "b"); + ft_printf("this %s is empty", ""); + ft_printf("this %s is %s", "hello", ""); + ft_printf("this %s is %s", "", "hello"); + ft_printf("%s%s%s", "1", "2", "3's a charm"); + ft_printf("%32s", "abc"); + ft_printf("%16s", "nark nark"); + ft_printf("%5s", "goes over"); + ft_printf("%-32s", "abc"); + ft_printf("%-16s", "nark nark"); + ft_printf("%-5s", "goes over"); + ft_printf("%.7s", "hello"); + ft_printf("%.3s", "hello"); + ft_printf("%.s", "hello"); + ft_printf("%.0s", "hello"); + ft_printf("%.3s%.2s", "holla", "bitch"); + ft_printf("%.2s%.7s", "hello", "world"); + ft_printf("%.7s%.2s", "hello", "world"); + ft_printf("%.5s%7s", "yo", "boi"); + ft_printf("%7.5s", "yolo"); + ft_printf("%7.5s", "bombastic"); + ft_printf("%-7.5s", "yolo"); + ft_printf("%7.7s%7.7s", "hello", "world"); + ft_printf("%3.7s%7.7s", "hello", "world"); + ft_printf("%7.7s%3.7s", "hello", "world"); + ft_printf("%3.7s%3.7s", "hello", "world"); + ft_printf("%7.3s%7.7s", "hello", "world"); + ft_printf("%3.3s%7.7s", "hello", "world"); + ft_printf("%7.3s%3.7s", "hello", "world"); + ft_printf("%3.3s%3.7s", "hello", "world"); + ft_printf("%7.7s%7.3s", "hello", "world"); + ft_printf("%3.7s%7.3s", "hello", "world"); + ft_printf("%7.7s%3.3s", "hello", "world"); + ft_printf("%3.7s%3.3s", "hello", "world"); + ft_printf("%7.3s%7.3s", "hello", "world"); + ft_printf("%3.3s%7.3s", "hello", "world"); + ft_printf("%7.3s%3.3s", "hello", "world"); + ft_printf("%3.3s%3.3s", "hello", "world"); + ft_printf("%3s%3s", "hello", "world"); + ft_printf("%-7s%5s", "hello", "world"); + ft_printf("%7s%-5s", "hello", "world"); + char *s_hidden = "bonjour\0asdfasdf"; + ft_printf("%s", s_hidden); + ft_printf("%3s", s_hidden); + ft_printf("%9s", s_hidden); + ft_printf("%.s", s_hidden); + ft_printf("%.9s", s_hidden); + ft_printf("%.03s", s_hidden); + ft_printf("%.09s", s_hidden); + ft_printf("%.00s", "\0"); + ft_printf("%.01s", "\0"); + ft_printf("%.03s", "\0"); + ft_printf("%.09s", "\0"); + ft_printf("%3.s", s_hidden); + ft_printf("%10.s", s_hidden); + ft_printf("%1.s", "\0"); + ft_printf("%2.s", "\0"); + ft_printf("%9.s", "\0"); + ft_printf("%-3.s", s_hidden); + ft_printf("%-8.s", s_hidden); + ft_printf("%-1.s", "\0"); + ft_printf("%-2.s", "\0"); + ft_printf("%-6.s", "\0"); + ft_printf("%3.1s", s_hidden); + ft_printf("%10.1s", s_hidden); + ft_printf("%-3.1s", s_hidden); + ft_printf("%-10.1s", s_hidden); + ft_printf("%-3.1s", "\0"); + ft_printf("%-6.1s", "\0"); + ft_printf("%3.6s", s_hidden); + ft_printf("%20.6s", s_hidden); + ft_printf("%3.6s", "\0"); + ft_printf("%6.6s", "\0"); + ft_printf("%-3.6s", s_hidden); + ft_printf("%-20.6s", s_hidden); + ft_printf("%-3.8s", s_hidden); + ft_printf("%-10.8s", s_hidden); + ft_printf("%-.00s", s_hidden); + ft_printf("%-.09s", s_hidden); + ft_printf("%+- 06.06s", s_hidden); + ft_printf("% 0+-6.06s", s_hidden); + ft_printf("%0 +-6.06s", s_hidden); + ft_printf("%+-0 6.06s", s_hidden); + ft_printf("%-+ 06.06s", s_hidden); + ft_printf("% -+06.06s", s_hidden); + ft_printf("%+- 07.06s", s_hidden); + ft_printf("% 0+-8.06s", s_hidden); + ft_printf("%0 +-9.06s", s_hidden); + ft_printf("%+-0 10.06s", s_hidden); + ft_printf("%-+ 011.06s", s_hidden); + ft_printf("% -+012.06s", s_hidden); + ft_printf("%+- 06.04s", s_hidden); + ft_printf("% 0+-6.04s", s_hidden); + ft_printf("%0 +-6.04s", s_hidden); + ft_printf("%+-0 6.04s", s_hidden); + ft_printf("%-+ 06.04s", s_hidden); + ft_printf("% 0-+6.04s", s_hidden); + ft_printf("%+- 06.09s", s_hidden); + ft_printf("% 0+-6.09s", s_hidden); + ft_printf("%0 +-6.09s", s_hidden); + ft_printf("%+-0 6.09s", s_hidden); + ft_printf("%-+ 06.09s", s_hidden); + ft_printf("% 0-+6.09s", s_hidden); + ft_printf("%00s", s_hidden); + ft_printf("%000s", s_hidden); + ft_printf("%0000s", s_hidden); + ft_printf("%-00s", s_hidden); + ft_printf("%0-0s", s_hidden); + ft_printf("%00-s", s_hidden); + ft_printf("%03s", s_hidden); + ft_printf("%09s", s_hidden); + ft_printf("%+03s", s_hidden); + ft_printf("%+09s", s_hidden); + ft_printf("%-03s", s_hidden); + ft_printf("%-09s", s_hidden); + ft_printf("%+ 3s", s_hidden); + ft_printf("%+ 6s", s_hidden); + ft_printf("this %i number", 17); + ft_printf("this %i number", -267); + ft_printf("this %i number", 0); + ft_printf("%i", 3); + ft_printf("%i", -1); + ft_printf("%i", 0); + ft_printf("this %d number", 17); + ft_printf("this %d number", -267); + ft_printf("this %d number", 0); + ft_printf("%i", 2147483647); + ft_printf("%i", (int)(-2147483678)); + ft_printf("%+i", 5); + ft_printf("%+i", -7); + ft_printf("%+i", 2147483647); + ft_printf("%7i", 33); + ft_printf("%7i", -14); + ft_printf("%3i", 0); + ft_printf("%5i", 52625); + ft_printf("%5i", -2562); + ft_printf("%4i", 94827); + ft_printf("%4i", -2464); + ft_printf("%-7i", 33); + ft_printf("%-7i", -14); + ft_printf("%-3i", 0); + ft_printf("%-5i", 52625); + ft_printf("%-5i", -2562); + ft_printf("%-4i", 94827); + ft_printf("%-4i", -2464); + ft_printf("%+5i", 35); + ft_printf("%+7i", 0); + ft_printf("%+24i", 2147483647); + ft_printf("%.5i", 2); + ft_printf("%.6i", -3); + ft_printf("%.3i", 0); + ft_printf("%.4i", 5263); + ft_printf("%.4i", -2372); + ft_printf("%.3i", 13862); + ft_printf("%.3i",-23646); + ft_printf("%+.7i", 234); + ft_printf("%+.7i", -446); + ft_printf("%+.3i", 3723); + ft_printf("%05i", 43); + ft_printf("%07i", -54); + ft_printf("%03i", 0); + ft_printf("%03i", 634); + ft_printf("%04i", -532); + ft_printf("%04i", -4825); + ft_printf("%+05i", 432); + ft_printf("%+04i", 0); + ft_printf("%8.5i", 34); + ft_printf("%10.5i", -216); + ft_printf("%8.5i", 0); + ft_printf("%8.3i", 8375); + ft_printf("%8.3i", -8473); + ft_printf("%3.7i", 3267); + ft_printf("%3.7i", -2375); + ft_printf("%3.3i", 6983); + ft_printf("%3.3i", -8462); + ft_printf("%-8.5i", 34); + ft_printf("%-10.5i", -216); + ft_printf("%-8.5i", 0); + ft_printf("%-8.3i", 8375); + ft_printf("%-8.3i", -8473); + ft_printf("%-3.7i", 3267); + ft_printf("%-3.7i", -2375); + ft_printf("%-3.3i", 6983); + ft_printf("%-3.3i", -8462); + ft_printf("%+8.5i", 34); + ft_printf("%+10.5i", -216); + ft_printf("%+8.5i", 0); + ft_printf("%+8.3i", 8375); + ft_printf("%+8.3i", -8473); + ft_printf("%+3.7i", 3267); + ft_printf("%+3.7i", -2375); + ft_printf("%+3.3i", 6983); + ft_printf("%+3.3i", -8462); + ft_printf("%+-8.5i", 34); + ft_printf("%+-10.5i", -216); + ft_printf("%+-8.5i", 0); + ft_printf("%+-8.3i", 8375); + ft_printf("%+-8.3i", -8473); + ft_printf("%+-3.7i", 3267); + ft_printf("%+-3.7i", -2375); + ft_printf("%+-3.3i", 6983); + ft_printf("%+-3.3i", -8462); + ft_printf("%08.5i", 34); + ft_printf("%010.5i", -216); + ft_printf("%08.5i", 0); + ft_printf("%08.3i", 8375); + ft_printf("%08.3i", -8473); + ft_printf("%03.7i", 3267); + ft_printf("%03.7i", -2375); + ft_printf("%03.3i", 6983); + ft_printf("%03.3i", -8462); + ft_printf("%0-8.5i", 34); + ft_printf("%0-10.5i", -216); + ft_printf("%0-8.5i", 0); + ft_printf("%0-8.3i", 8375); + ft_printf("%0-8.3i", -8473); + ft_printf("%0-3.7i", 3267); + ft_printf("%0-3.7i", -2375); + ft_printf("%0-3.3i", 6983); + ft_printf("%0-3.3i", -8462); + ft_printf("%0+8.5i", 34); + ft_printf("%0+10.5i", -216); + ft_printf("%0+8.5i", 0); + ft_printf("%0+8.3i", 8375); + ft_printf("%0+8.3i", -8473); + ft_printf("%0+3.7i", 3267); + ft_printf("%0+3.7i", -2375); + ft_printf("%0+3.3i", 6983); + ft_printf("%0+3.3i", -8462); + ft_printf("%0+-8.5i", 34); + ft_printf("%0+-10.5i", -216); + ft_printf("%0+-8.5i", 0); + ft_printf("%0+-8.3i", 8375); + ft_printf("%0+-8.3i", -8473); + ft_printf("%0+-3.7i", 3267); + ft_printf("%0+-3.7i", -2375); + ft_printf("%0+-3.3i", 6983); + ft_printf("%0+-3.3i", -8462); + ft_printf("%hhi", (char)45); + ft_printf("%hhi", (char)-45); + ft_printf("%hi", (short)385); + ft_printf("%hi", (short)-385); + ft_printf("%li", (long)32); + ft_printf("%li", (long)-32); + ft_printf("%lli", (long long)43); + ft_printf("%lli", (long long)-43); + ft_printf("%li", 22337203685477); + ft_printf("%li", -22337203685477); + ft_printf("%lli", 522337203685470ll); + ft_printf("%lli", -522337203685470ll); + ft_printf("%lli", 9223372036854775807ll); + ft_printf("%li", 9223372036854775807l); + ft_printf("%hi", (short)32767); + ft_printf("%hi", (short)(-32768)); + ft_printf("%hhi", (char)127); + ft_printf("%hhi", (char)(-128)); + ft_printf("%037li", 22337203685477l); + ft_printf("%.37li", -22337203685477l); + ft_printf("%37lli", 522337203685470ll); + ft_printf("%-37lli", -522337203685470ll); + ft_printf("%+li", 22337203685477l); + ft_printf("this % i number", 17); + ft_printf("this % i number", -267); + ft_printf("this % i number", 0); + ft_printf("% i", 3); + ft_printf("% i", -1); + ft_printf("% i", 0); + ft_printf("this % d number", 17); + ft_printf("this % d number", -267); + ft_printf("this % d number", 0); + ft_printf("% i", 2147483647); + ft_printf("% i", (int)(-2147483678)); + ft_printf("% +i", 5); + ft_printf("% +i", -7); + ft_printf("% +i", 2147483647); + ft_printf("% 7i", 33); + ft_printf("% 7i", -14); + ft_printf("% 3i", 0); + ft_printf("% 5i", 52625); + ft_printf("% 5i", -2562); + ft_printf("% 4i", 94827); + ft_printf("% 4i", -2464); + ft_printf("% -7i", 33); + ft_printf("% -7i", -14); + ft_printf("% -3i", 0); + ft_printf("% -5i", 52625); + ft_printf("% -5i", -2562); + ft_printf("% -4i", 94827); + ft_printf("% -4i", -2464); + ft_printf("% +5i", 35); + ft_printf("% +7i", 0); + ft_printf("% +24i", 2147483647); + ft_printf("% .5i", 2); + ft_printf("% .6i", -3); + ft_printf("% .3i", 0); + ft_printf("% .4i", 5263); + ft_printf("% .4i", -2372); + ft_printf("% .3i", 13862); + ft_printf("% .3i",-23646); + ft_printf("% +.7i", 234); + ft_printf("% +.7i", -446); + ft_printf("% +.3i", 3723); + ft_printf("% 05i", 43); + ft_printf("% 07i", -54); + ft_printf("% 03i", 0); + ft_printf("% 03i", 634); + ft_printf("% 04i", -532); + ft_printf("% 04i", -4825); + ft_printf("% +05i", 432); + ft_printf("% +04i", 0); + ft_printf("% 8.5i", 34); + ft_printf("% 10.5i", -216); + ft_printf("% 8.5i", 0); + ft_printf("% 8.3i", 8375); + ft_printf("% 8.3i", -8473); + ft_printf("% 3.7i", 3267); + ft_printf("% 3.7i", -2375); + ft_printf("% 3.3i", 6983); + ft_printf("% 3.3i", -8462); + ft_printf("% -8.5i", 34); + ft_printf("% -10.5i", -216); + ft_printf("% -8.5i", 0); + ft_printf("% -8.3i", 8375); + ft_printf("% -8.3i", -8473); + ft_printf("% -3.7i", 3267); + ft_printf("% -3.7i", -2375); + ft_printf("% -3.3i", 6983); + ft_printf("% -3.3i", -8462); + ft_printf("% +8.5i", 34); + ft_printf("% +10.5i", -216); + ft_printf("% +8.5i", 0); + ft_printf("% +8.3i", 8375); + ft_printf("% +8.3i", -8473); + ft_printf("% +3.7i", 3267); + ft_printf("% +3.7i", -2375); + ft_printf("% +3.3i", 6983); + ft_printf("% +3.3i", -8462); + ft_printf("% +-8.5i", 34); + ft_printf("% +-10.5i", -216); + ft_printf("% +-8.5i", 0); + ft_printf("% +-8.3i", 8375); + ft_printf("% +-8.3i", -8473); + ft_printf("% +-3.7i", 3267); + ft_printf("% +-3.7i", -2375); + ft_printf("% +-3.3i", 6983); + ft_printf("% +-3.3i", -8462); + ft_printf("% 08.5i", 34); + ft_printf("% 010.5i", -216); + ft_printf("% 08.5i", 0); + ft_printf("% 08.3i", 8375); + ft_printf("% 08.3i", -8473); + ft_printf("% 03.7i", 3267); + ft_printf("% 03.7i", -2375); + ft_printf("% 03.3i", 6983); + ft_printf("% 03.3i", -8462); + ft_printf("% 0-8.5i", 34); + ft_printf("% 0-10.5i", -216); + ft_printf("% 0-8.5i", 0); + ft_printf("% 0-8.3i", 8375); + ft_printf("% 0-8.3i", -8473); + ft_printf("% 0-3.7i", 3267); + ft_printf("% 0-3.7i", -2375); + ft_printf("% 0-3.3i", 6983); + ft_printf("% 0-3.3i", -8462); + ft_printf("% 0+8.5i", 34); + ft_printf("% 0+10.5i", -216); + ft_printf("% 0+8.5i", 0); + ft_printf("% 0+8.3i", 8375); + ft_printf("% 0+8.3i", -8473); + ft_printf("% 0+3.7i", 3267); + ft_printf("% 0+3.7i", -2375); + ft_printf("% 0+3.3i", 6983); + ft_printf("% 0+3.3i", -8462); + ft_printf("% 0+-8.5i", 34); + ft_printf("% 0+-10.5i", -216); + ft_printf("% 0+-8.5i", 0); + ft_printf("% 0+-8.3i", 8375); + ft_printf("% 0+-8.3i", -8473); + ft_printf("% 0+-3.7i", 3267); + ft_printf("% 0+-3.7i", -2375); + ft_printf("% 0+-3.3i", 6983); + ft_printf("% 0+-3.3i", -8462); + ft_printf("% hhi", (char)45); + ft_printf("% hhi", (char)-45); + ft_printf("% hi", (short)385); + ft_printf("% hi", (short)-385); + ft_printf("% li", (long)32); + ft_printf("% li", (long)-32); + ft_printf("% lli", (long long)43); + ft_printf("% lli", (long long)-43); + ft_printf("% li", 22337203685477l); + ft_printf("% li", -22337203685477l); + ft_printf("% lli", 522337203685470ll); + ft_printf("% lli", -522337203685470ll); + ft_printf("% lli", 9223372036854775807ll); + ft_printf("% li", 9223372036854775807l); + ft_printf("% hi", (short)32767); + ft_printf("% hi", (short)(-32768)); + ft_printf("% hhi", (char)(127)); + ft_printf("% hhi", (char)(-128)); + ft_printf("%.0i", 0); + ft_printf("%.i", 0); + ft_printf("%5.0i", 0); + ft_printf("%5.i", 0); + ft_printf("%-5.0i", 0); + ft_printf("%-5.i", 0); + ft_printf("%+.0i", 0); + ft_printf("%+.i", 0); + ft_printf("%+5.0i", 0); + ft_printf("%+5.i", 0); + ft_printf("%+-5.0i", 0); + ft_printf("%+-5.i", 0); + ft_printf("%hhi", -129); + ft_printf("%hhi", 128); + ft_printf("%hi", 32768); + ft_printf("%hi", -32769); + ft_printf("this %d number", 17); + ft_printf("this %d number", -267); + ft_printf("this %d number", 0); + ft_printf("%d", 3); + ft_printf("%d", -1); + ft_printf("%d", 0); + ft_printf("%d", 2147483647); + ft_printf("%d", (int)(-2147483678)); + ft_printf("%+d", 5); + ft_printf("%+d", -7); + ft_printf("%+d", 2147483647); + ft_printf("%7d", 33); + ft_printf("%7d", -14); + ft_printf("%3d", 0); + ft_printf("%5d", 52625); + ft_printf("%5d", -2562); + ft_printf("%4d", 94827); + ft_printf("%4d", -2464); + ft_printf("%-7d", 33); + ft_printf("%-7d", -14); + ft_printf("%-3d", 0); + ft_printf("%-5d", 52625); + ft_printf("%-5d", -2562); + ft_printf("%-4d", 94827); + ft_printf("%-4d", -2464); + ft_printf("%+5d", 35); + ft_printf("%+7d", 0); + ft_printf("%+24d", 2147483647); + ft_printf("%.5d", 2); + ft_printf("%.6d", -3); + ft_printf("%.3d", 0); + ft_printf("%.4d", 5263); + ft_printf("%.4d", -2372); + ft_printf("%.3d", 13862); + ft_printf("%.3d",-23646); + ft_printf("%+.7d", 234); + ft_printf("%+.7d", -446); + ft_printf("%+.3d", 3723); + ft_printf("%05d", 43); + ft_printf("%07d", -54); + ft_printf("%03d", 0); + ft_printf("%03d", 634); + ft_printf("%04d", -532); + ft_printf("%04d", -4825); + ft_printf("%+05d", 432); + ft_printf("%+04d", 0); + ft_printf("%8.5d", 34); + ft_printf("%10.5d", -216); + ft_printf("%8.5d", 0); + ft_printf("%8.3d", 8375); + ft_printf("%8.3d", -8473); + ft_printf("%3.7d", 3267); + ft_printf("%3.7d", -2375); + ft_printf("%3.3d", 6983); + ft_printf("%3.3d", -8462); + ft_printf("%-8.5d", 34); + ft_printf("%-10.5d", -216); + ft_printf("%-8.5d", 0); + ft_printf("%-8.3d", 8375); + ft_printf("%-8.3d", -8473); + ft_printf("%-3.7d", 3267); + ft_printf("%-3.7d", -2375); + ft_printf("%-3.3d", 6983); + ft_printf("%-3.3d", -8462); + ft_printf("%+8.5d", 34); + ft_printf("%+10.5d", -216); + ft_printf("%+8.5d", 0); + ft_printf("%+8.3d", 8375); + ft_printf("%+8.3d", -8473); + ft_printf("%+3.7d", 3267); + ft_printf("%+3.7d", -2375); + ft_printf("%+3.3d", 6983); + ft_printf("%+3.3d", -8462); + ft_printf("%+-8.5d", 34); + ft_printf("%+-10.5d", -216); + ft_printf("%+-8.5d", 0); + ft_printf("%+-8.3d", 8375); + ft_printf("%+-8.3d", -8473); + ft_printf("%+-3.7d", 3267); + ft_printf("%+-3.7d", -2375); + ft_printf("%+-3.3d", 6983); + ft_printf("%+-3.3d", -8462); + ft_printf("%08.5d", 34); + ft_printf("%010.5d", -216); + ft_printf("%08.5d", 0); + ft_printf("%08.3d", 8375); + ft_printf("%08.3d", -8473); + ft_printf("%03.7d", 3267); + ft_printf("%03.7d", -2375); + ft_printf("%03.3d", 6983); + ft_printf("%03.3d", -8462); + ft_printf("%0-8.5d", 34); + ft_printf("%0-10.5d", -216); + ft_printf("%0-8.5d", 0); + ft_printf("%0-8.3d", 8375); + ft_printf("%0-8.3d", -8473); + ft_printf("%0-3.7d", 3267); + ft_printf("%0-3.7d", -2375); + ft_printf("%0-3.3d", 6983); + ft_printf("%0-3.3d", -8462); + ft_printf("%0+8.5d", 34); + ft_printf("%0+10.5d", -216); + ft_printf("%0+8.5d", 0); + ft_printf("%0+8.3d", 8375); + ft_printf("%0+8.3d", -8473); + ft_printf("%0+3.7d", 3267); + ft_printf("%0+3.7d", -2375); + ft_printf("%0+3.3d", 6983); + ft_printf("%0+3.3d", -8462); + ft_printf("%0+-8.5d", 34); + ft_printf("%0+-10.5d", -216); + ft_printf("%0+-8.5d", 0); + ft_printf("%0+-8.3d", 8375); + ft_printf("%0+-8.3d", -8473); + ft_printf("%0+-3.7d", 3267); + ft_printf("%0+-3.7d", -2375); + ft_printf("%0+-3.3d", 6983); + ft_printf("%0+-3.3d", -8462); + ft_printf("%hhd", (char)45); + ft_printf("%hhd", (char)-45); + ft_printf("%hd", (short)385); + ft_printf("%hd", (short)-385); + ft_printf("%ld", (long)32); + ft_printf("%ld", (long)-32); + ft_printf("%lld", (long long)43); + ft_printf("%lld", (long long)-43); + ft_printf("%ld", 22337203685477); + ft_printf("%ld", -22337203685477); + ft_printf("%lld", 522337203685470ll); + ft_printf("%lld", -522337203685470ll); + ft_printf("%lld", 9223372036854775807ll); + ft_printf("%ld", 9223372036854775807l); + ft_printf("%hd", (short)32767); + ft_printf("%hd", (short)(-32768)); + ft_printf("%hhd", (char)127); + ft_printf("%hhd", (char)(-128)); + ft_printf("%037ld", 22337203685477l); + ft_printf("%.37ld", -22337203685477l); + ft_printf("%37lld", 522337203685470ll); + ft_printf("%-37lld", -522337203685470ll); + ft_printf("%+ld", 22337203685477l); + ft_printf("this % d number", 17); + ft_printf("this % d number", -267); + ft_printf("this % d number", 0); + ft_printf("% d", 3); + ft_printf("% d", -1); + ft_printf("% d", 0); + ft_printf("this % d number", 17); + ft_printf("this % d number", -267); + ft_printf("this % d number", 0); + ft_printf("% d", 2147483647); + ft_printf("% d", (int)(-2147483678)); + ft_printf("% +d", 5); + ft_printf("% +d", -7); + ft_printf("% +d", 2147483647); + ft_printf("% 7d", 33); + ft_printf("% 7d", -14); + ft_printf("% 3d", 0); + ft_printf("% 5d", 52625); + ft_printf("% 5d", -2562); + ft_printf("% 4d", 94827); + ft_printf("% 4d", -2464); + ft_printf("% -7d", 33); + ft_printf("% -7d", -14); + ft_printf("% -3d", 0); + ft_printf("% -5d", 52625); + ft_printf("% -5d", -2562); + ft_printf("% -4d", 94827); + ft_printf("% -4d", -2464); + ft_printf("% +5d", 35); + ft_printf("% +7d", 0); + ft_printf("% +24d", 2147483647); + ft_printf("% .5d", 2); + ft_printf("% .6d", -3); + ft_printf("% .3d", 0); + ft_printf("% .4d", 5263); + ft_printf("% .4d", -2372); + ft_printf("% .3d", 13862); + ft_printf("% .3d",-23646); + ft_printf("% +.7d", 234); + ft_printf("% +.7d", -446); + ft_printf("% +.3d", 3723); + ft_printf("% 05d", 43); + ft_printf("% 07d", -54); + ft_printf("% 03d", 0); + ft_printf("% 03d", 634); + ft_printf("% 04d", -532); + ft_printf("% 04d", -4825); + ft_printf("% +05d", 432); + ft_printf("% +04d", 0); + ft_printf("% 8.5d", 34); + ft_printf("% 10.5d", -216); + ft_printf("% 8.5d", 0); + ft_printf("% 8.3d", 8375); + ft_printf("% 8.3d", -8473); + ft_printf("% 3.7d", 3267); + ft_printf("% 3.7d", -2375); + ft_printf("% 3.3d", 6983); + ft_printf("% 3.3d", -8462); + ft_printf("% -8.5d", 34); + ft_printf("% -10.5d", -216); + ft_printf("% -8.5d", 0); + ft_printf("% -8.3d", 8375); + ft_printf("% -8.3d", -8473); + ft_printf("% -3.7d", 3267); + ft_printf("% -3.7d", -2375); + ft_printf("% -3.3d", 6983); + ft_printf("% -3.3d", -8462); + ft_printf("% +8.5d", 34); + ft_printf("% +10.5d", -216); + ft_printf("% +8.5d", 0); + ft_printf("% +8.3d", 8375); + ft_printf("% +8.3d", -8473); + ft_printf("% +3.7d", 3267); + ft_printf("% +3.7d", -2375); + ft_printf("% +3.3d", 6983); + ft_printf("% +3.3d", -8462); + ft_printf("% +-8.5d", 34); + ft_printf("% +-10.5d", -216); + ft_printf("% +-8.5d", 0); + ft_printf("% +-8.3d", 8375); + ft_printf("% +-8.3d", -8473); + ft_printf("% +-3.7d", 3267); + ft_printf("% +-3.7d", -2375); + ft_printf("% +-3.3d", 6983); + ft_printf("% +-3.3d", -8462); + ft_printf("% 08.5d", 34); + ft_printf("% 010.5d", -216); + ft_printf("% 08.5d", 0); + ft_printf("% 08.3d", 8375); + ft_printf("% 08.3d", -8473); + ft_printf("% 03.7d", 3267); + ft_printf("% 03.7d", -2375); + ft_printf("% 03.3d", 6983); + ft_printf("% 03.3d", -8462); + ft_printf("% 0-8.5d", 34); + ft_printf("% 0-10.5d", -216); + ft_printf("% 0-8.5d", 0); + ft_printf("% 0-8.3d", 8375); + ft_printf("% 0-8.3d", -8473); + ft_printf("% 0-3.7d", 3267); + ft_printf("% 0-3.7d", -2375); + ft_printf("% 0-3.3d", 6983); + ft_printf("% 0-3.3d", -8462); + ft_printf("% 0+8.5d", 34); + ft_printf("% 0+10.5d", -216); + ft_printf("% 0+8.5d", 0); + ft_printf("% 0+8.3d", 8375); + ft_printf("% 0+8.3d", -8473); + ft_printf("% 0+3.7d", 3267); + ft_printf("% 0+3.7d", -2375); + ft_printf("% 0+3.3d", 6983); + ft_printf("% 0+3.3d", -8462); + ft_printf("% 0+-8.5d", 34); + ft_printf("% 0+-10.5d", -216); + ft_printf("% 0+-8.5d", 0); + ft_printf("% 0+-8.3d", 8375); + ft_printf("% 0+-8.3d", -8473); + ft_printf("% 0+-3.7d", 3267); + ft_printf("% 0+-3.7d", -2375); + ft_printf("% 0+-3.3d", 6983); + ft_printf("% 0+-3.3d", -8462); + ft_printf("% hhd", (char)45); + ft_printf("% hhd", (char)-45); + ft_printf("% hd", (short)385); + ft_printf("% hd", (short)-385); + ft_printf("% ld", (long)32); + ft_printf("% ld", (long)-32); + ft_printf("% lld", (long long)43); + ft_printf("% lld", (long long)-43); + ft_printf("% ld", 22337203685477l); + ft_printf("% ld", -22337203685477l); + ft_printf("% lld", 522337203685470ll); + ft_printf("% lld", -522337203685470ll); + ft_printf("% lld", 9223372036854775807ll); + ft_printf("% ld", 9223372036854775807l); + ft_printf("% hd", (short)32767); + ft_printf("% hd", (short)(-32768)); + ft_printf("% hhd", (char)(127)); + ft_printf("% hhd", (char)(-128)); + ft_printf("%.0d", 0); + ft_printf("%.d", 0); + ft_printf("%5.0d", 0); + ft_printf("%5.d", 0); + ft_printf("%-5.0d", 0); + ft_printf("%-5.d", 0); + ft_printf("%+.0d", 0); + ft_printf("%+.d", 0); + ft_printf("%+5.0d", 0); + ft_printf("%+5.d", 0); + ft_printf("%+-5.0d", 0); + ft_printf("%+-5.d", 0); + ft_printf("this %u number", 17); + ft_printf("this %u number", 0); + ft_printf("%u", 3); + ft_printf("%u", 4294967295u); + ft_printf("%7u", 33); + ft_printf("%3u", 0); + ft_printf("%5u", 52625); + ft_printf("%4u", 94827); + ft_printf("%-7u", 33); + ft_printf("%-3u", 0); + ft_printf("%-5u", 52625); + ft_printf("%-4u", 94827); + ft_printf("%.5u", 2); + ft_printf("%.3u", 0); + ft_printf("%.4u", 5263); + ft_printf("%.3u", 13862); + ft_printf("%05u", 43); + ft_printf("%03u", 0); + ft_printf("%03u", 634); + ft_printf("%8.5u", 34); + ft_printf("%8.5u", 0); + ft_printf("%8.3u", 8375); + ft_printf("%3.7u", 3267); + ft_printf("%3.3u", 6983); + ft_printf("%-8.5u", 34); + ft_printf("%-8.5u", 0); + ft_printf("%-8.3u", 8375); + ft_printf("%-3.7u", 3267); + ft_printf("%-3.3u", 6983); + ft_printf("%08.5u", 34); + ft_printf("%08.5u", 0); + ft_printf("%08.3u", 8375); + ft_printf("%03.7u", 3267); + ft_printf("%03.3u", 6983); + ft_printf("%0-8.5u", 34); + ft_printf("%0-8.5u", 0); + ft_printf("%0-8.3u", 8375); + ft_printf("%0-3.7u", 3267); + ft_printf("%0-3.3u", 6983); + ft_printf("%hhu", (unsigned char)45); + ft_printf("%hu", (unsigned short)385); + ft_printf("%lu", (unsigned long)32); + ft_printf("%llu", (unsigned long long)43); + ft_printf("%hu", (unsigned short)65535); + ft_printf("%hhu", (unsigned char)255); + ft_printf("%.0u", 0); + ft_printf("%.u", 0); + ft_printf("%5.0u", 0); + ft_printf("%5.u", 0); + ft_printf("%-5.0u", 0); + ft_printf("%-5.u", 0); + ft_printf("this %x number", 17); + ft_printf("this %x number", 0); + ft_printf("%x", 3); + ft_printf("%x", 4294967295u); + ft_printf("%7x", 33); + ft_printf("%3x", 0); + ft_printf("%5x", 52625); + ft_printf("%2x", 94827); + ft_printf("%-7x", 33); + ft_printf("%-3x", 0); + ft_printf("%-5x", 52625); + ft_printf("%-4x", 9648627); + ft_printf("%.5x", 21); + ft_printf("%.3x", 0); + ft_printf("%.4x", 5263); + ft_printf("%.3x", 938862); + ft_printf("%05x", 43); + ft_printf("%03x", 0); + ft_printf("%03x", 698334); + ft_printf("%8.5x", 34); + ft_printf("%8.5x", 0); + ft_printf("%8.3x", 8375); + ft_printf("%2.7x", 3267); + ft_printf("%3.3x", 6983); + ft_printf("%-8.5x", 34); + ft_printf("%-8.5x", 0); + ft_printf("%-8.3x", 8375); + ft_printf("%-2.7x", 3267); + ft_printf("%-3.3x", 6983); + ft_printf("%08.5x", 34); + ft_printf("%08.5x", 0); + ft_printf("%08.3x", 8375); + ft_printf("%02.7x", 3267); + ft_printf("%03.3x", 6983); + ft_printf("%0-8.5x", 34); + ft_printf("%0-8.5x", 0); + ft_printf("%0-8.3x", 8375); + ft_printf("%0-2.7x", 3267); + ft_printf("%0-3.3x", 6983); + ft_printf("%hhx", (unsigned char)45); + ft_printf("%hx", (unsigned short)385); + ft_printf("%lx", (unsigned long)32); + ft_printf("%llx", (long long)43); + ft_printf("%hx", (unsigned short)65535); + ft_printf("%hhx", (unsigned char)255); + ft_printf("%#x", 4294967295u); + ft_printf("%#7x", 33); + ft_printf("%#3x", 0); + ft_printf("%#5x", 52625); + ft_printf("%#2x", 94827); + ft_printf("%#-7x", 33); + ft_printf("%#-3x", 0); + ft_printf("%#-5x", 52625); + ft_printf("%#-4x", 9648627); + ft_printf("%#.5x", 21); + ft_printf("%#.3x", 0); + ft_printf("%#.4x", 5263); + ft_printf("%#.3x", 938862); + ft_printf("%#05x", 43); + ft_printf("%#03x", 0); + ft_printf("%#03x", 698334); + ft_printf("%#8.5x", 34); + ft_printf("%#8.5x", 0); + ft_printf("%#8.3x", 8375); + ft_printf("%#2.7x", 3267); + ft_printf("%#3.3x", 6983); + ft_printf("%#-8.5x", 34); + ft_printf("%#-8.5x", 0); + ft_printf("%#-8.3x", 8375); + ft_printf("%#-2.7x", 3267); + ft_printf("%#-3.3x", 6983); + ft_printf("%#08.5x", 34); + ft_printf("%#08.5x", 0); + ft_printf("%#08.3x", 8375); + ft_printf("%#02.7x", 3267); + ft_printf("%#03.3x", 6983); + ft_printf("%#0-8.5x", 34); + ft_printf("%#0-8.5x", 0); + ft_printf("%#0-8.3x", 8375); + ft_printf("%#0-2.7x", 3267); + ft_printf("%#0-3.3x", 6983); + ft_printf("%#hhx", (unsigned char)45); + ft_printf("%#hx", (unsigned short)385); + ft_printf("%#lx", (unsigned long)32); + ft_printf("%#llx", (long long)43); + ft_printf("%#lx", 22337203685477lu); + ft_printf("%#llx", 522337203685470llu); + ft_printf("%#hx", (unsigned short)65535); + ft_printf("%#hhx", (unsigned char)255); + ft_printf("%.0x", 0); + ft_printf("%.x", 0); + ft_printf("%5.0x", 0); + ft_printf("%5.x", 0); + ft_printf("%-5.0x", 0); + ft_printf("%-5.x", 0); + ft_printf("%#.0x", 0); + ft_printf("%#.x", 0); + ft_printf("%#5.0x", 0); + ft_printf("%#5.x", 0); + ft_printf("%#-5.0x", 0); + ft_printf("%#-5.x", 0); + ft_printf("this %x number", 17); + ft_printf("this %x number", 0); + ft_printf("%x", 3); + ft_printf("%x", 4294967295u); + ft_printf("%7x", 33); + ft_printf("%3x", 0); + ft_printf("%5x", 52625); + ft_printf("%2x", 94827); + ft_printf("%-7x", 33); + ft_printf("%-3x", 0); + ft_printf("%-5x", 52625); + ft_printf("%-4x", 9648627); + ft_printf("%.5x", 21); + ft_printf("%.3x", 0); + ft_printf("%.4x", 5263); + ft_printf("%.3x", 938862); + ft_printf("%05x", 43); + ft_printf("%03x", 0); + ft_printf("%03x", 698334); + ft_printf("%8.5x", 34); + ft_printf("%8.5x", 0); + ft_printf("%8.3x", 8375); + ft_printf("%2.7x", 3267); + ft_printf("%3.3x", 6983); + ft_printf("%-8.5x", 34); + ft_printf("%-8.5x", 0); + ft_printf("%-8.3x", 8375); + ft_printf("%-2.7x", 3267); + ft_printf("%-3.3x", 6983); + ft_printf("%08.5x", 34); + ft_printf("%08.5x", 0); + ft_printf("%08.3x", 8375); + ft_printf("%02.7x", 3267); + ft_printf("%03.3x", 6983); + ft_printf("%0-8.5x", 34); + ft_printf("%0-8.5x", 0); + ft_printf("%0-8.3x", 8375); + ft_printf("%0-2.7x", 3267); + ft_printf("%0-3.3x", 6983); + ft_printf("%hhx", (unsigned char)45); + ft_printf("%hx", (unsigned short)385); + ft_printf("%lx", (unsigned long)32); + ft_printf("%llx", (long long)43); + ft_printf("%hx", (unsigned short)65535); + ft_printf("%hhx", (unsigned char)255); + ft_printf("%#x", 4294967295u); + ft_printf("%#7x", 33); + ft_printf("%#3x", 0); + ft_printf("%#5x", 52625); + ft_printf("%#2x", 94827); + ft_printf("%#-7x", 33); + ft_printf("%#-3x", 0); + ft_printf("%#-5x", 52625); + ft_printf("%#-4x", 9648627); + ft_printf("%#.5x", 21); + ft_printf("%#.3x", 0); + ft_printf("%#.4x", 5263); + ft_printf("%#.3x", 938862); + ft_printf("%#05x", 43); + ft_printf("%#03x", 0); + ft_printf("%#03x", 698334); + ft_printf("%#8.5x", 34); + ft_printf("%#8.5x", 0); + ft_printf("%#8.3x", 8375); + ft_printf("%#2.7x", 3267); + ft_printf("%#3.3x", 6983); + ft_printf("%#-8.5x", 34); + ft_printf("%#-8.5x", 0); + ft_printf("%#-8.3x", 8375); + ft_printf("%#-2.7x", 3267); + ft_printf("%#-3.3x", 6983); + ft_printf("%#08.5x", 34); + ft_printf("%#08.5x", 0); + ft_printf("%#08.3x", 8375); + ft_printf("%#02.7x", 3267); + ft_printf("%#03.3x", 6983); + ft_printf("%#0-8.5x", 34); + ft_printf("%#0-8.5x", 0); + ft_printf("%#0-8.3x", 8375); + ft_printf("%#0-2.7x", 3267); + ft_printf("%#0-3.3x", 6983); + ft_printf("%#hhx", (unsigned char)45); + ft_printf("%#hx", (unsigned short)385); + ft_printf("%#lx", (unsigned long)32); + ft_printf("%#llx", (long long)43); + ft_printf("%#lx", 22337203685477lu); + ft_printf("%#llx", 522337203685470llu); + ft_printf("%#hx", (unsigned short)65535); + ft_printf("%#hhx", (unsigned char)255); + ft_printf("%.0x", 0); + ft_printf("%.x", 0); + ft_printf("%5.0x", 0); + ft_printf("%5.x", 0); + ft_printf("%-5.0x", 0); + ft_printf("%-5.x", 0); + ft_printf("%#.0x", 0); + ft_printf("%#.x", 0); + ft_printf("%#5.0x", 0); + ft_printf("%#5.x", 0); + ft_printf("%#-5.0x", 0); + ft_printf("%#-5.x", 0); + ft_printf("this %X number", 17); + ft_printf("this %X number", 0); + ft_printf("%X", 3); + ft_printf("%X", 4294967295u); + ft_printf("%7X", 33); + ft_printf("%3X", 0); + ft_printf("%5X", 52625); + ft_printf("%2X", 94827); + ft_printf("%-7X", 33); + ft_printf("%-3X", 0); + ft_printf("%-5X", 52625); + ft_printf("%-4X", 9648627); + ft_printf("%.5X", 21); + ft_printf("%.3X", 0); + ft_printf("%.4X", 5263); + ft_printf("%.3X", 938862); + ft_printf("%05X", 43); + ft_printf("%03X", 0); + ft_printf("%03X", 698334); + ft_printf("%8.5X", 34); + ft_printf("%8.5X", 0); + ft_printf("%8.3X", 8375); + ft_printf("%2.7X", 3267); + ft_printf("%3.3X", 6983); + ft_printf("%-8.5X", 34); + ft_printf("%-8.5X", 0); + ft_printf("%-8.3X", 8375); + ft_printf("%-2.7X", 3267); + ft_printf("%-3.3X", 6983); + ft_printf("%08.5X", 34); + ft_printf("%08.5X", 0); + ft_printf("%08.3X", 8375); + ft_printf("%02.7X", 3267); + ft_printf("%03.3X", 6983); + ft_printf("%0-8.5X", 34); + ft_printf("%0-8.5X", 0); + ft_printf("%0-8.3X", 8375); + ft_printf("%0-2.7X", 3267); + ft_printf("%0-3.3X", 6983); + ft_printf("%hhX", (unsigned char)45); + ft_printf("%hX", (unsigned short)385); + ft_printf("%lX", (unsigned long)32); + ft_printf("%llX", (long long)43); + ft_printf("%hX", (unsigned short)65535); + ft_printf("%hhX", (unsigned char)255); + ft_printf("this %#X number", 17); + ft_printf("this %#X number", 0); + ft_printf("%#X", 3); + ft_printf("%#X", 4294967295u); + ft_printf("%#7X", 33); + ft_printf("%#3X", 0); + ft_printf("%#7X", 52625); + ft_printf("%#2X", 94827); + ft_printf("%#-7X", 33); + ft_printf("%#-3X", 0); + ft_printf("%#-7X", 52625); + ft_printf("%#-4X", 9648627); + ft_printf("%#.5X", 21); + ft_printf("%#.3X", 0); + ft_printf("%#.4X", 5263); + ft_printf("%#.3X", 938862); + ft_printf("%#05X", 43); + ft_printf("%#03X", 0); + ft_printf("%#03X", 698334); + ft_printf("%#8.5X", 34); + ft_printf("%#8.5X", 0); + ft_printf("%#8.3X", 8375); + ft_printf("%#2.7X", 3267); + ft_printf("%#3.3X", 6983); + ft_printf("%#-8.5X", 34); + ft_printf("%#-8.5X", 0); + ft_printf("%#-8.3X", 8375); + ft_printf("%#-2.7X", 3267); + ft_printf("%#-3.3X", 6983); + ft_printf("%#08.5X", 34); + ft_printf("%#08.5X", 0); + ft_printf("%#08.3X", 8375); + ft_printf("%#02.7X", 3267); + ft_printf("%#03.3X", 6983); + ft_printf("%#0-8.5X", 34); + ft_printf("%#0-8.5X", 0); + ft_printf("%#0-8.3X", 8375); + ft_printf("%#0-2.7X", 3267); + ft_printf("%#0-3.3X", 6983); + ft_printf("%#hhX", (unsigned char)45); + ft_printf("%#hX", (unsigned short)385); + ft_printf("%#lX", (unsigned long)32); + ft_printf("%#llX", (long long)43); + ft_printf("%#hX", (unsigned short)65535); + ft_printf("%#hhX", (unsigned char)255); + ft_printf("%.0X", 0); + ft_printf("%.X", 0); + ft_printf("%5.0X", 0); + ft_printf("%5.X", 0); + ft_printf("%-5.0X", 0); + ft_printf("%-5.X", 0); + ft_printf("%#.0X", 0); + ft_printf("%#.X", 0); + ft_printf("%#5.0X", 0); + ft_printf("%#5.X", 0); + ft_printf("%#-5.0X", 0); + ft_printf("%#-5.X", 0); + ft_printf("this %X number", 17); + ft_printf("this %X number", 0); + ft_printf("%X", 3); + ft_printf("%X", 4294967295u); + ft_printf("%7X", 33); + ft_printf("%3X", 0); + ft_printf("%5X", 52625); + ft_printf("%2X", 94827); + ft_printf("%-7X", 33); + ft_printf("%-3X", 0); + ft_printf("%-5X", 52625); + ft_printf("%-4X", 9648627); + ft_printf("%.5X", 21); + ft_printf("%.3X", 0); + ft_printf("%.4X", 5263); + ft_printf("%.3X", 938862); + ft_printf("%05X", 43); + ft_printf("%03X", 0); + ft_printf("%03X", 698334); + ft_printf("%8.5X", 34); + ft_printf("%8.5X", 0); + ft_printf("%8.3X", 8375); + ft_printf("%2.7X", 3267); + ft_printf("%3.3X", 6983); + ft_printf("%-8.5X", 34); + ft_printf("%-8.5X", 0); + ft_printf("%-8.3X", 8375); + ft_printf("%-2.7X", 3267); + ft_printf("%-3.3X", 6983); + ft_printf("%08.5X", 34); + ft_printf("%08.5X", 0); + ft_printf("%08.3X", 8375); + ft_printf("%02.7X", 3267); + ft_printf("%03.3X", 6983); + ft_printf("%0-8.5X", 34); + ft_printf("%0-8.5X", 0); + ft_printf("%0-8.3X", 8375); + ft_printf("%0-2.7X", 3267); + ft_printf("%0-3.3X", 6983); + ft_printf("%hhX", (unsigned char)45); + ft_printf("%hX", (unsigned short)385); + ft_printf("%lX", (unsigned long)32); + ft_printf("%llX", (long long)43); + ft_printf("%hX", (unsigned short)65535); + ft_printf("%hhX", (unsigned char)255); + ft_printf("this %#X number", 17); + ft_printf("this %#X number", 0); + ft_printf("%#X", 3); + ft_printf("%#X", 4294967295u); + ft_printf("%#7X", 33); + ft_printf("%#3X", 0); + ft_printf("%#7X", 52625); + ft_printf("%#2X", 94827); + ft_printf("%#-7X", 33); + ft_printf("%#-3X", 0); + ft_printf("%#-7X", 52625); + ft_printf("%#-4X", 9648627); + ft_printf("%#.5X", 21); + ft_printf("%#.3X", 0); + ft_printf("%#.4X", 5263); + ft_printf("%#.3X", 938862); + ft_printf("%#05X", 43); + ft_printf("%#03X", 0); + ft_printf("%#03X", 698334); + ft_printf("%#8.5X", 34); + ft_printf("%#8.5X", 0); + ft_printf("%#8.3X", 8375); + ft_printf("%#2.7X", 3267); + ft_printf("%#3.3X", 6983); + ft_printf("%#-8.5X", 34); + ft_printf("%#-8.5X", 0); + ft_printf("%#-8.3X", 8375); + ft_printf("%#-2.7X", 3267); + ft_printf("%#-3.3X", 6983); + ft_printf("%#08.5X", 34); + ft_printf("%#08.5X", 0); + ft_printf("%#08.3X", 8375); + ft_printf("%#02.7X", 3267); + ft_printf("%#03.3X", 6983); + ft_printf("%#0-8.5X", 34); + ft_printf("%#0-8.5X", 0); + ft_printf("%#0-8.3X", 8375); + ft_printf("%#0-2.7X", 3267); + ft_printf("%#0-3.3X", 6983); + ft_printf("%#hhX", (unsigned char)45); + ft_printf("%#hX", (unsigned short)385); + ft_printf("%#lX", (unsigned long)32); + ft_printf("%#llX", (long long)43); + ft_printf("%#hX", (unsigned short)65535); + ft_printf("%#hhX", (unsigned char)255); + ft_printf("%.0X", 0); + ft_printf("%.X", 0); + ft_printf("%5.0X", 0); + ft_printf("%5.X", 0); + ft_printf("%-5.0X", 0); + ft_printf("%-5.X", 0); + ft_printf("%#.0X", 0); + ft_printf("%#.X", 0); + ft_printf("%#5.0X", 0); + ft_printf("%#5.X", 0); + ft_printf("%#-5.0X", 0); + ft_printf("%#-5.X", 0); + ft_printf("%9.2p\n", 1234); + ft_printf("%2.9p\n", 1234); + ft_printf("%.5p", 0); + ft_printf("%.0p", 0); + ft_printf("%5p", 0); + ft_printf("%c", '\0'); + ft_printf("%5c", '\0'); + ft_printf("%-5c", '\0'); + ft_printf("p0 % .3s\n", "cccc"); + ft_printf("pp %.50d\n", 10000); + ft_printf("p1 %.4s\n", "cccc"); + ft_printf("p2 %.10s\n", "cccc"); + ft_printf("p4 %.5s\n", "aaaaa"); + ft_printf("p5 %.3d\n", 100); + ft_printf("p6 %.0d\n", 100); + ft_printf("p7 %.4d\n", 100); + ft_printf("p8 %.10d\n", 100); + ft_printf("p9 %.50d\n", 100); + ft_printf("p10 %.1d\n", 100); + ft_printf("p11 %.3d\n", 100); + ft_printf("p12 %.0d\n", 0); + ft_printf("p13 %.3i\n", 100); + ft_printf("p14 %.0i\n", 100); + ft_printf("p15 %.4i\n", 100); + ft_printf("p16 %.10i\n", 100); + ft_printf("p17 %.50i\n", 100); + ft_printf("p18 %.1i\n", 100); + ft_printf("p19 %.3x\n", 100); + ft_printf("p20 %.0x\n", 0); + ft_printf("p21 %.3x\n", 100); + ft_printf("p22 %.0x\n", 100); + ft_printf("p23 %.4x\n", 100); + ft_printf("p24 %.10x\n", 100); + ft_printf("p25 %.50x\n", 100); + ft_printf("p26 %.1x\n", 100); + ft_printf("p27 %.3x\n", 100); + ft_printf("p28 %.0x\n", 0); + ft_printf("p29 %.3u\n", 100); + ft_printf("p30 %.0u\n", 100); + ft_printf("p31 %.4u\n", 100); + ft_printf("p32 %.10u\n", 100); + ft_printf("p33 %.50u\n", 100); + ft_printf("p34 %.1u\n", 100); + ft_printf("p35 %.3u\n", 100); + ft_printf("p36 %.0u\n", 0); + ft_printf("%%\n"); + ft_printf("%010%"); + ft_printf("%u", 4294967295); + ft_printf("%d\n", 2147483647); + ft_printf("%d\n", -2147483648); + ft_printf("%x\n", 2147483647); + ft_printf("%x\n", -2147483648); + ft_printf("%X\n", 2147483647); + ft_printf("%X\n", -2147483648); + ft_printf("%x\n", 0); + ft_printf("%010x\n", 0); + ft_printf("%010x\n", 20); + ft_printf("%010x\n", -20); + ft_printf("%10x\n", 20); + ft_printf("%10.2x\n", -20); + ft_printf("%-10x\n", 50); + ft_printf("%-15x\n", 0); + ft_printf("%.1x\n", 500); + ft_printf("%*.*x\n", 50, 10, 2); + ft_printf("%x\n", -1); + ft_printf("%"); + ft_printf("%40.50d\n", 50); + ft_printf("%d\n", -589); + ft_printf("%-4d\n", -2464); + ft_printf("%.5d\n", -2372); + ft_printf("%c", 'a'); + ft_printf("%10c", 't'); + ft_printf("%1c", 'y'); + ft_printf("%010c", 't'); + ft_printf("%50.2s", "Coucou"); + ft_printf("%5.0s", "Hello"); + ft_printf("%.1s", "Test"); + ft_printf("%10s", "Ok"); + ft_printf("% i\n", -60); + ft_printf("% i\n", -60); + ft_printf("%1p\n", &t); + ft_printf("%1p\n", &t); + ft_printf("t1 %050d\n", 10); +} diff --git a/generate.py b/generate.py index 805ceb9..a08600e 100644 --- a/generate.py +++ b/generate.py @@ -48,8 +48,8 @@ class Generator: self.precision_wildcard_rate = 10 self.precision_empty_rate = 2 self.precision_point_rate = 4 - self.possible_flags = "#0- +" - self.possible_conv ="diuxXcsp" + self.possible_flags = "#0- +'" + self.possible_conv ="diuxXcsp%" self.possible_conv_len = len(self.possible_conv) self.pool = [] @@ -90,7 +90,10 @@ class Generator: for _ in range(f.count("*")): args.append(randrange(-200, 200)) formats.append(f) - args.append(self._arg(conv)) + a = self._arg(conv) + if a == "\"NULL\"": + a = "NULL" + args.append(a) return formats, args def _fmt(self, conv): @@ -105,7 +108,8 @@ class Generator: 'u': str(randrange(UINT_MAX)) + "u", 'x': str(randrange(UINT_MAX)) + "u", 'X': str(randrange(UINT_MAX)) + "u", - 'p': "(void*)" + str(randrange(ULONG_INT_MAX)) + "lu" + 'p': "(void*)" + str(randrange(ULONG_INT_MAX)) + "lu", + '%': None }[conv] def _flags(self, conv): @@ -124,6 +128,8 @@ class Generator: flags = flags.replace("0", "") if "#" in flags and conv in "upcsdi": flags = flags.replace("#", "") + if "'" in flags and conv not in "diu": + flags = flags.replace("'", "") if "0" in flags and "-" in flags: flags = flags.replace("0", "") @@ -155,6 +161,8 @@ class Generator: return "." + str(randrange(self.precision_max)) def _gen_string(self): + if randrange(100) < 5: + return "NULL" return "".join([choice(CHARS) for _ in range(randrange(self.str_max_len))]) def _write_header(self): diff --git a/saved_tests.c b/saved_tests.c index 219cc4a..5d09624 100644 --- a/saved_tests.c +++ b/saved_tests.c @@ -2,7 +2,7 @@ void saved_test(void) { - ASSERT_PRINTF("%24.6x%61.146u%059.u%*p" ,3428759210u,699768298u,3551192901u,-130,(void*)9281414673285757929lu) + ASSERT_PRINTF("%24.6x%61.146u%059.u%*p" ,3428759210u,699768298u,3551192901u,-130,(void*)9281414673285757929lu) ASSERT_PRINTF("%029.d% 10.8d%179.27s%*c%198.3u" ,-144374035,630963439,"luU",-62,45,2133259791u) ASSERT_PRINTF("%182p%*.x%-7.15s%-178.167u%071.i" ,(void*)16481877983539570083lu,66,1196899348u,"2d",2279048326u,-822789086) ASSERT_PRINTF("%81.*s%-144.85X%-187.10s%113.139s%118.X" ,-143,"L)N\vuiBYewse,qzL;23kr>",2587710503u,"Ink.<6*#vZA","\nw%@\rd\vw20!\fNM$\f>",4000484419u) @@ -505,4 +505,466 @@ ASSERT_PRINTF("%0147.123x%+0195.0d%+63.*d%-113.46u" ,288767637u,718326765,-22,18 ASSERT_PRINTF("%80.89u%-167.123s%0029.i%0122.51i" ,3228191228u,"4eaV6\\wBno5|8?-B_",1440953377,880818808u) + ASSERT_PRINTF("%41.10u%095.u%-129p% -158.159d" ,4188455719u,2756410101u,(void*)1817373684992497999lu,998538757) + ASSERT_PRINTF("%+0176.d%++174.188i%-171.72s%-50.134s" ,116872183,-790541642,"0AIoftrA-dR|0\r6HeD>x&%il}$\fj9\vB\tCd;g\t)>",1488948017,"X|,AsJ`Uk>7,0A)?[o%;Du",4157765513u,"q4OLTw6q\tl/H1\t:4*/#\ftSl5`u") + ASSERT_PRINTF("%0123.u%-127p%+76i%4.95s%0#157.76X" ,2689877593u,(void*)13195323779673612113lu,1144544880,"Z?",1654634024u) + ASSERT_PRINTF("%#150.108x%10p%108p%0+91.i%76p" ,3138211651u,(void*)8614425257065467024lu,(void*)5384270691678125137lu,-310665961,(void*)16249842869810471506lu) + ASSERT_PRINTF("%-63.91i%0129.x%- 44.162d% 74.179i" ,-1661176778,3687633525u,-1824401002,-103500174) + ASSERT_PRINTF("%+017.57d%0+91.i%23p%-78p%146.129x" ,488573397,-704033733,(void*)16028179863351792602lu,(void*)17465443871530732659lu,3376327238u) + ASSERT_PRINTF("% 195.121d%045.d%035.185d" ,438573573,-789848054,-964391277) + ASSERT_PRINTF("% -184.*d%073u%0159.*X%-112.s%0101.x" ,14,-419855034,4045602273u,189,4287424859u,"",659755295u) + ASSERT_PRINTF("%#0165.x%#29.*X%71.140x%-36p%-134c" ,2601170200u,-48,1819281705u,3695605101u,(void*)10802376188423112144lu,-21) + ASSERT_PRINTF("%-*c%0088.X%#99.99x%32c" ,-120,14,702419379u,1412614909u,116) + ASSERT_PRINTF("%0186.i%+24.36d" ,-1293599424,1056623074) + ASSERT_PRINTF("%0#26.X%-37c%-199.175x% -73.*i%-*.181s" ,246374253u,21,4001370377u,198,1419086659,15,"/]Z!t%.jy'TX)!\ruH`;+ZD#\n+#Hwi") + ASSERT_PRINTF("%084.*x%0*.0X%#02.143X" ,-43,830768888u,81,3583952249u,97199783u) + ASSERT_PRINTF("%133.197X%00137.i%199.126s%-#70.148x%-175.11X" ,656613215u,2106983922,"z!fwH[R_",1817330541u,3378927502u) + ASSERT_PRINTF("%60c%0#30.X%#*.60X" ,120,38540694u,164,2814215646u) + ASSERT_PRINTF("%#0148X%0153.x%0156.86d%##155.106x" ,4182525267u,21452436u,268247306,1806660582u) + ASSERT_PRINTF("%0+65.d%-1.172X%+100.*d" ,-286850851,3491912803u,-158,548889875) + ASSERT_PRINTF("%062.u%-22p%-13.u%-126p%134.142s" ,709737090u,(void*)14405486043652789841lu,1930615621u,(void*)7299635266425764945lu,"uRP") + ASSERT_PRINTF("%12c%056.i" ,-87,1296116011) + ASSERT_PRINTF("%0131.i%#78.*X%148.109u%083.124x" ,-1088380624,147,2058508063u,3084379136u,645250054u) + ASSERT_PRINTF("%0141.u" ,193824242u) + ASSERT_PRINTF("%0183.u%-136p%#0167.8X%-123.*d" ,2123637757u,(void*)991523287172453320lu,1679736235u,105,1856725330) + ASSERT_PRINTF("%0195.165x%131.*x%#86.12X%0110.92i%025.i" ,1871106388u,-116,2070265279u,4001642269u,-172197781,-468566789) + ASSERT_PRINTF("%.183x%--34c%#0183.x%22.27s" ,1979831032u,-20,1077162790u,"\vCy\fL5>|)<\twPne}_") + ASSERT_PRINTF("%0165.i%-15.*u" ,-242755781,-141,4116430854u) + ASSERT_PRINTF("%-24c%0100.u%+37.50d" ,-66,3886641900u,-1758077177) + ASSERT_PRINTF("%00187.u%- 65.95d%-17.74u%82.*x%-192.38X" ,128039054u,734253415,2331150913u,120,2892625491u,482960173u) + ASSERT_PRINTF("%162p%4c%-114.96u%042.110X%0166.i" ,(void*)14110899249023471898lu,84,3691857668u,2928470479u,-1120044015) + ASSERT_PRINTF("%051.u%#66.150x%0147.2d%0*.120u%#015.145X" ,631787040u,4125595165u,1211693917,77,1928596681u,2474916217u) + ASSERT_PRINTF("%0167.u%-#*.179X%+-84.142i%0186.*x%0116.58d" ,2339466031u,99,2978576733u,1000054294,-7,3637739931u,-711796743) + ASSERT_PRINTF("%#155.55x%+064.i%134p%019.36u%125p" ,3615780991u,1522185281,(void*)18135566632041264300lu,1796197399u,(void*)9785474130799085812lu) + ASSERT_PRINTF("%154.*s%174.187s%192.140u%028.145X%-87.29i" ,-135,"kg$(G4{-.IHB`~RF+YtCM","-X",353890437u,2447828384u,116305682) + ASSERT_PRINTF("%##048.x%187.u" ,1705603121u,3142693239u) + ASSERT_PRINTF("%-103.114u%0*.0i%#190.116X" ,1740747846u,54,-1191528043,1669008623u) + ASSERT_PRINTF("%-61.*s% -174.122i%+.77d%0164.42x%69.194s" ,-36,"$w3Cqdo@_lM&f3Q",1524174548,1901880349,2207548172u,"P\t^^V") + ASSERT_PRINTF("%-+10.78i%-78.195i%011.x" ,1598074181,1238597937,951038890u) + ASSERT_PRINTF("%158p%058.0X%-198c%78.125s%-#25.*X" ,(void*)7829495037233239318lu,2394127994u,117,"`X",-3,3539081892u) + ASSERT_PRINTF("%0+53.d%*c%*.92u%82c" ,806111862,-125,-48,3,1064862066u,34) + ASSERT_PRINTF("%--38c%0155.i" ,120,2140148275) + ASSERT_PRINTF("%0155.116X%0+86.i%058.66u" ,1890011508u,-607767405,3119986277u) + ASSERT_PRINTF("%096.3X%0139.u%124c%-139p% 107.172i" ,1890165087u,2235028793u,106,(void*)17319270322540957924lu,1662395966) + ASSERT_PRINTF("%#126.33X%70p%0109.12X%014.x" ,1679081372u,(void*)16023777258323754441lu,1894862252u,1769787193u) + ASSERT_PRINTF("%-128p%0163.X%0173.199X" ,(void*)6362959600441995741lu,3998551510u,2910653406u) + ASSERT_PRINTF("%- 119.124d%++171.61d%0*.X%76p%--61.191i" ,-699170162,-1279974806,78,1610891726u,(void*)11616793491559417403lu,325389926) + ASSERT_PRINTF("%-*.90x%15.35u%+0*.i%173.158x" ,-90,3734708798u,2284317234u,134,-652180062,2663099725u) + ASSERT_PRINTF("%0187.X%0113.154u%#139.125x%0*.63u%+177.174i" ,1897027661u,2194402636u,1511929228u,132,2944449553u,1055666147) + ASSERT_PRINTF("%121.77s%0+118.d%167.190X%162p%-15.143X" ,"-@Qux<`zS!K\tYw9d^ynY>oUm",-1228213166,1311128125u,(void*)10352096476769406674lu,1332422460u) + ASSERT_PRINTF("%-172.*d%00103.d%132c%#*.23X" ,114,938247968,-336832185,114,-4,1363541442u) + ASSERT_PRINTF("%-92c%0055.60u%071.0u%-104.172i" ,-29,423171876u,2817140331u,-300682766) + ASSERT_PRINTF("%128.*s%108.152s%-107.*i" ,-28,"HZ^Bo-_D",":|F]r'/A\\=Hkbp-[*7~J>~",21,845998148) + ASSERT_PRINTF("%69c%-46c% 159i% 0 179.d" ,117,-54,-883992944,1552135430) + ASSERT_PRINTF("%063.X" ,3151309092u) + ASSERT_PRINTF("%0041.x%0081.102x%75.11u%0.191u%-*.180u" ,3957995946u,2551289905u,1221676145u,1378161968u,137,3209242420u) + ASSERT_PRINTF("%167p%129.85s%--20p%000118.d%+129.7i" ,(void*)6165219883584429548lu,"n;X0btC:1r",(void*)8323986291629242681lu,424991372,997601662) + ASSERT_PRINTF("%+8.83i%*.102s%--161.60s%0047.0x%--11.98i" ,-1222105031,-18,"lwj'A}ctS{XVQH*\n.iQ\te\ryo!Eu(","S^nCGM2}l[0\vrf\fo",2147156222u,-934418261) + ASSERT_PRINTF("%- -158.152i%-128p%147.90X%00038.i%-*.106u" ,-1628973177,(void*)12703849564978658307lu,315759582u,1894265048,-13,768924895u) + ASSERT_PRINTF("%19.20X%-21c%0148.x" ,1542763234u,28,2318278331u) + ASSERT_PRINTF("%#46.80x% 057.d%c" ,2407135967u,401319963,-21) + ASSERT_PRINTF("%070.u%00140.15d" ,1085653108u,805222155) + ASSERT_PRINTF("%0177.142x%54.150x%0+53.122d%123.117s%0125.x" ,1854614823u,1530584938u,1229557636,",Dq>4/RluUBYb:hST#;IIF?NI67,U",983961934u,90,4292922083u,3952261163u) + ASSERT_PRINTF("%#34.44x%-54p%097.u%-24.X" ,1937800308u,(void*)2733440351648040555lu,1375748614u,3604990503u) + ASSERT_PRINTF("%031.d%0#93.191X%42.58s%0#92.184x% 102.22i" ,332169844,1707926743u,"T^MfY!2l5r_8kkj,\\]Q+K",2847166713u,-1578901081) + ASSERT_PRINTF("%-96.175u%75.19u%+0117.i%+88.103i%0+101.d" ,1956091786u,500948567u,-72689580,-1308406112,-394930184) + ASSERT_PRINTF("%104.*s%32.55s%61c%96.181i%-85.180x" ,-35,"|E<<9!y#/","EqA\\YiP!0z\n`RO\v\n>7QMqo\tgCC2I",-12,-658603936,1364989867u) + ASSERT_PRINTF("%72.159u%027.u%196.22u" ,2438403545u,2662875501u,3972576181u) + ASSERT_PRINTF("%-107p%-82.*s%176p" ,(void*)11540687362568878312lu,-68,".z~5&o/SzrmEtOthuV(hvg9Yk\f",(void*)2421431163002449529lu) + ASSERT_PRINTF("%165.*s%#101.118x%180p%21p" ,-158,"2c/{dt(Hbv!l9q)",3999821350u,(void*)10056106188222204484lu,(void*)8545922060037698677lu) + ASSERT_PRINTF("%0193.d%+67.*d%59p%160.97x" ,-1237123727,76,-915492587,(void*)4279588276404287833lu,2099755697u) + ASSERT_PRINTF("%0136.32u%##*.45X% 0 19.i" ,1799128528u,-44,1419115235u,332811593) + ASSERT_PRINTF("%198c%0191.x%0 61.194d%0165.142x" ,79,1866880978u,-1173067046,2311853082u) + ASSERT_PRINTF("%016.i%0101.65i" ,1102329154,-1282781633) + ASSERT_PRINTF("%0140.128x%93s%0103.d%96.u" ,3873709561u,"w5K\v+z&s",1224462848,28431591u) + ASSERT_PRINTF("%098.0i" ,614118189) + ASSERT_PRINTF("%-54.166x%114.180u%0#101.x%141.*u%0124.49i" ,415772666u,2214554398u,2101769479u,106,3380148574u,2105634469) + ASSERT_PRINTF("%-72.67u%062.0i%+-184.96i%-8.139X" ,2537411965u,-1271018756,-1352188081,2941273388u) + ASSERT_PRINTF("%0168.u%33.63s%++134.193i" ,3112985284u,"sI=&T=^[i\v_\f]{\vf|\nDu",-178865793) + ASSERT_PRINTF("%#-139.142x%0141.d%-136p" ,3367299733u,546730782,(void*)4598511060902907939lu) + ASSERT_PRINTF("%0139.u%++151.67i" ,88094477u,-1630965599) + ASSERT_PRINTF("%0079x%0+29.d%-74.39X%75p" ,1142087196u,822515673,2802041286u,(void*)11383464966063577610lu) + ASSERT_PRINTF("%-20.186i%##173.18x%-143.189X%143p%025.d" ,1018490933,574924470u,1492171249u,(void*)16639430850015713527lu,2090628044) + ASSERT_PRINTF("%+0101.i%0128.*i" ,1594541426,154,823133363) + ASSERT_PRINTF("%37.33s%070.u%156.132s%14.9x%62p" ,"5\r)vOe;Vjp}y[",1312420425u,"wzN",704334461u,(void*)9421094086998661152lu) + ASSERT_PRINTF("%20c%+0105.i%-198.65u%*c%-163.*x" ,68,1796776202,1598914822u,162,81,-77,648351644u) + ASSERT_PRINTF("%-144.106x%-139.100X%0+97.d%-117.61s%-*c" ,3552036461u,2859749301u,-945628397,"S;z|X-}~1Ggg]rHuc=",-63,-63) + ASSERT_PRINTF("%-142.168s%021.u%0152.100u% -168.59i" ,"ZUDH\n(G\\-^tBQK",2535437724u,2768546100u,-260550319) + ASSERT_PRINTF("%-175c%+73.31d%-94.75i%00152.x%+192.30d" ,-121,-1003708336,344872969,987665388u,-944552844) + ASSERT_PRINTF("%-*.84s%-140.156X%0 115.d%#134.19X" ,-189,"hs7h]p`?N\rxG{f",2352314890u,1675990900,1750445243u) + ASSERT_PRINTF("%0190.X%171c" ,3092146265u,56) + ASSERT_PRINTF("%21p%#-.4x%#0196.x% 0168.152i" ,(void*)11652656484112099743lu,2503787680u,1178432847u,1288409754) + ASSERT_PRINTF("%00138.0x%94.89u%123.170u%+44.*d" ,3011498499u,3653389953u,659888634u,87,345905450) + ASSERT_PRINTF("%0#137.15x%112c%139.30s%0133.X" ,1489640970u,6,"2FpP+9v5-Hw>oX?48h91\r,",1879928501u) + ASSERT_PRINTF("%106.*u%-153.111X%0056.0u" ,-22,3209547167u,2434297556u,2666753069u) + ASSERT_PRINTF("%0056.107u%00186.8u%66.92s%00153.u%21c" ,18699590u,4071165166u,")8!SVcIZ\r7dw$Sx",2274130271u,114) + ASSERT_PRINTF("%0174.*d%78p%169c%0#181.X%-*c" ,95,544916696,(void*)5631518888861666638lu,75,3655803483u,198,-65) + ASSERT_PRINTF("%-96c%55.94u%0169.X" ,-62,3080618944u,2244442145u) + ASSERT_PRINTF("%+179.d%184p%25.180x%0#39.x" ,-782855495,(void*)15606323697708767925lu,2470864612u,3168196204u) + ASSERT_PRINTF("% 57.104i%-47.s%71.129s%0081.0u%169c" ,491453569,"oyC_;WJh#4!'+B/!$jaRqmEZJfFl","I\f<]K8hX4`6",267445992u,-74) + ASSERT_PRINTF("%190.*x%0.*d%016.d%161p" ,5,152679666u,181,1696359958,851636824,(void*)15444398714638691551lu) + ASSERT_PRINTF("%88c%19.131u%0156.X%-*.93d%0182.166x" ,-123,1758229058u,2424142251u,154,1493569622,1151209102u) + ASSERT_PRINTF("%0*.0X%0171.73i%-190.196u%67p" ,21,1865477898u,-97692082,1204758982u,(void*)9804599010493976015lu) + ASSERT_PRINTF("%15c%-142.7X%0109.i" ,-9,3211420191u,1624325366) + ASSERT_PRINTF("% 036.i%115p%85c" ,1621997351,(void*)8090804526874958715lu,-47) + ASSERT_PRINTF("%044.x%197c%0*.169d%+124.*d%-187.4d" ,1021640155u,125,36,-1413986890,-182,864386803,-1958414145) + ASSERT_PRINTF("%186.180s%0 30.i%--43.112s%74c%72c" ,"4beucp%)vQK$UOm@g",41224188,"",-87,-52) + ASSERT_PRINTF("%0*.u%19p" ,157,730926317u,(void*)12166353004914027288lu) + ASSERT_PRINTF("%126.*s%-99.106i%-164c%-15.*X" ,-143,"Sje3sl?",282287610,-106,79,4059869515u) + ASSERT_PRINTF("%0149.d%-165.113x" ,1303331084,3614682217u) + ASSERT_PRINTF("%#0137.X%##21.161x" ,2157407967u,4097407693u) + ASSERT_PRINTF("%7.*s%0119.58x%-#-163.25x%60.164d" ,-95,"3",1878684697u,1058013674u,-758051256) + ASSERT_PRINTF("%0186.X%18.148s%*.*s" ,2099549984u,"elob9j",55,161,"<=&U`Z+B\ntmaUBq\vZ^V}PI9q$YvUY") + ASSERT_PRINTF("%- 162.171i%193.121u%0185.u" ,1167203742,59287397u,2269320218u) + ASSERT_PRINTF("%0*.16u%0122.62X%0182.x%-108.167s%172.17s" ,67,2638125129u,3406506468u,1019678333u,"?%c\raJ3w$Qbn{-(o") + ASSERT_PRINTF("%0106.X" ,1807104829u) + ASSERT_PRINTF("%0177.15X%0148.u%--49.96X%36p%149u" ,1950489232u,1423796199u,748294724u,(void*)14428777783467295442lu,976198985u) + ASSERT_PRINTF("%-59.161X%- -2.0i%0042.X" ,1698196669u,1503048047,2008975228u) + ASSERT_PRINTF("%+0191.d%#0193.193X" ,-2136950749,473175307u) + ASSERT_PRINTF("%-107.46u%0076.x%-10p" ,1467070357u,3782988572u,(void*)5625174368578191033lu) + ASSERT_PRINTF("%+0197.*d%-*c%-.128s%*.130i" ,0,-1523091551,-53,-19,"",-71,-1486482028) + ASSERT_PRINTF("%0192.17X%+169.31i%--197.66s%-*.174X%00#162.x" ,2170830482u,-1881369192,"SSAipD+LGt0XyVZ@g$>Yw~LEq10#",-72,4248106767u,3720267829u) + ASSERT_PRINTF("%-#7.45X% -146.153i%0104.x" ,3519602748u,1394263384,3943647864u) + ASSERT_PRINTF("%074.x%160.182X" ,2807200176u,2313206895u) + ASSERT_PRINTF("%062.d%31.*s%038.83X%180p" ,-115811305,-43,"a%JUOF",225967955u,(void*)10450283127675750991lu) + ASSERT_PRINTF("% 080.0d%#*.183X" ,1025114882,169,2465768397u) + ASSERT_PRINTF("%-71c%0170.X%-74.118X%--138c" ,-26,2114205059u,3392627540u,-7) + ASSERT_PRINTF("%0*.u" ,67,3436322406u) + ASSERT_PRINTF("%035.u%185.83d%-*.161i" ,2897943933u,-1968513210,-147,-869789955) + ASSERT_PRINTF("%0131.x%38p%-128.31s%156.150x%-129c" ,3905128392u,(void*)13833151417865521255lu,"w91]=yQuuS-RNV[bPpC6\twT&T\tX",3640100726u,-75) + ASSERT_PRINTF("%#0147.198x%130c%+096.d" ,4222521111u,14,713210417) + ASSERT_PRINTF("%11p%0118.15x%22.132s%032.i" ,(void*)11148096757462333805lu,4106071111u,"5AK)iV3*;Reg\foga",1018711879) + ASSERT_PRINTF("%#53.104X%044.X%-170p%#-44.37x%07.160d" ,661374797u,3764594417u,(void*)11369089124608074524lu,99343745u,261637359) + ASSERT_PRINTF("%0#055.3X%93p%+*.87d%--185p%0112.0i" ,1706289960u,(void*)18146607118645739704lu,-141,-1197709854,(void*)1351180855287064555lu,824887669) + ASSERT_PRINTF("%81.*s%-91s%-81.148x%178p" ,-40,"7S('tJn","e\niBuf=\rf|9E",3658101029u,(void*)6058988408212270565lu) + ASSERT_PRINTF("%138p%0 132.d%15p% 079.13i%#0187.34X" ,(void*)18273934115047539318lu,-39623585,(void*)10315966879822359lu,330109447,2224356622u) + ASSERT_PRINTF("%+073.*d% 0 28.i%-126.13i" ,-24,1953641342,1075632364,329596696) + ASSERT_PRINTF("%#0*.81x%49.188s%-66.193u%0099.33X%84.*s" ,150,4059419173u,"@2:",1364022328u,3290606192u,-84,"MU/Z") + ASSERT_PRINTF("%44p%0+89.0d% 53.70i%p%-95.177X" ,(void*)16504346632792899212lu,815094428,1619674678,(void*)6380557696271928643lu,2792054108u) + ASSERT_PRINTF("%026.X%-*.*s%099.74X%-*.*i%-125.175s" ,2116084364u,83,-200,"t5&Rp8]>K=~m^jVj",2557806983u,152,183,1561066968,"]#KAd\vFPNK|\n^:+}c_C\n7") + ASSERT_PRINTF("%066.d%- 175.*i" ,552667211,170,1330559282) + ASSERT_PRINTF("%++166.55i%013.X" ,-196352087,3101374192u) + ASSERT_PRINTF("%0#66.4X% 0 *.d%00+*.130d" ,1529625001u,96,1358817973,172,-1195596179) + ASSERT_PRINTF("%-.192s%0#150.x" ,"dicbF",448226886,-178,-1430271130,-1711766839) + ASSERT_PRINTF("%035.*X%+55.131d%0070.x%--+167.145d% 107.*d" ,-179,1681767594u,205243563,2385560220u,630272678,-157,731571079) + ASSERT_PRINTF("%129.53s%-61c%+069.142i%0171.u" ,"N",-16,-675747995,2509933854u) + ASSERT_PRINTF("%045.*d%-*c%056.x" ,78,-1275275406,-104,-65,4182165998u) + ASSERT_PRINTF("%0 48.d%+-+39.151d%26c%131c" ,1771944001,861110091,-73,116) + ASSERT_PRINTF("%00128.43u%113.81X%-139.104u%0*.u%-+85.49i" ,2972198172u,1545549953u,2408643824u,58,3950552769u,1874780938) + ASSERT_PRINTF("%074.u% -*.i%+170.107i" ,3371543077u,-13,804379090,1737584316) + ASSERT_PRINTF("% -121.35d%166p%-17p%027.X" ,-355222320,(void*)5627838955377004884lu,(void*)5432531756695861653lu,1605721165u) + ASSERT_PRINTF("%0098.u%+0180.*d%-163.179s%183p%85.193s" ,2767675141u,162,-554477605,"XO0*E\v)@q7?T9~)(dX!R\vWwe=",(void*)2439164672164931476lu,"y\vGQ&tUQON$8\v}+'AGVS2") + ASSERT_PRINTF("%0125.d%++46.111i%*.168s" ,-1597601754,-1056872306,-115,"\n{\fzm/?K>6Zr[S/Hai|zir;Vp*") + ASSERT_PRINTF("%-153.176d%#0*.x%+0*.0d" ,-94182213,171,1146719056u,28,1774609991) + ASSERT_PRINTF("%#86.103x%040.i%-169.s%#11.50X" ,1592108863u,-343381799,"[&YK--g`#",110598089u) + ASSERT_PRINTF("%0180.x%171.53u" ,2326715318u,44167873u) + ASSERT_PRINTF("%074.X%-47p%0*.187X%-54.24d" ,4282241334u,(void*)15617258877077568073lu,-174,3402180517u,-597551251) + ASSERT_PRINTF("%0160.u%69.197x" ,1029739776u,1454478576u) + ASSERT_PRINTF("%*.164u%-185.u%192p%0043.d%-.44u" ,-82,126843087u,2774145493u,(void*)4541820049662600117lu,79480096,568802050u) + ASSERT_PRINTF("%*.95u%-109.199X%-56p%0*.X" ,-176,2496335658u,1054057871u,(void*)16609902074087158628lu,191,94445289u) + ASSERT_PRINTF("%066.u%-112p%23p%-50c%0093.u" ,425576787u,(void*)6328552109197987871lu,(void*)4143591978700189338lu,107,3586364961u) + ASSERT_PRINTF("%##86.115X%+180.58d%0105.X%57c%-35.52s" ,1303245205u,-919227775,1729048794u,-16,"YL59L{p>PJ#k,\fe=oTjp+r3~") + ASSERT_PRINTF("%53.65u%-92p%83.133s%0##132.x" ,417987386u,(void*)14998175872918168531lu,"N)Z/20214Y}xyGBqT|r(6XinDMaXa",2419754189u) + ASSERT_PRINTF("%3c%159.190x%*c%0#151.x" ,94,40110615u,-151,-54,1130327801u) + ASSERT_PRINTF("%00064.x%#103.127X" ,3196123759u,2473498189u) + ASSERT_PRINTF("%0+65.193d%155.148s%+-59.*i%0124.56u%0#*.X" ,-329840691,"3\vXLXIC=+ZJsrEEmj&eU>4P-Bi",144,1706824604,3600245062u,78,2313689206u) + ASSERT_PRINTF("%-111.58d%0*.X%114p%-144.155u%29.55s" ,-459929560,151,3716658264u,(void*)1086047299706354078lu,938897925u,"NTU\tbH?WXP(^AKY;Tj~\v7.57@z0") + ASSERT_PRINTF("%0178.i%#65.182x%66.37s%-83.167u" ,-860459233,4034453956u,",",3863879083u) + ASSERT_PRINTF("%0198.u%35p%#-51.*x%45p" ,3393581009u,(void*)3015631502154142505lu,-51,2868400047u,(void*)5322824577556488915lu) + ASSERT_PRINTF("%-23p%0146.53u%0046.u%81.106s%-85c" ,(void*)10511001449478154739lu,1485058559u,70269164u,"B",15) + ASSERT_PRINTF("%0#38.x%107c%#55.155x%+0172.54d%125.*x" ,3970641973u,15,236296905u,-1862215662,74,2172908795u) + ASSERT_PRINTF("%0197.39X%#0173.0X" ,414467856u,789833726u) + ASSERT_PRINTF("% 72.33i%092.u%105p%-*.133X%194.84i" ,-1610966093,1108774170u,(void*)10167917943933503296lu,2,3182112777u,397057849) + ASSERT_PRINTF("%104.171x%#0*.x%#84.18x%0170.113d%#--*.107X" ,2947483773u,192,1282140066u,168652279u,1010009779,-15,764590368u) + ASSERT_PRINTF("%-8.145u%000*.53x%34.30u%0079.d" ,3175316063u,34,3937579379u,5870135u,-1378258601) + ASSERT_PRINTF("%+0+36.71i%-62.152X%0191.X" ,1554998320,2574865492u,77676893u) + ASSERT_PRINTF("%*p% 64.165i%-170p%-108p%#0022.x" ,5,(void*)14269409266411900257lu,321319572,(void*)11449463134820051044lu,(void*)6795975992642014227lu,2113154793u) + ASSERT_PRINTF("%+12.54d%#0169.X" ,1061306717,2502301184u) + ASSERT_PRINTF("%00 35.68i%-28.47d%-119.169x%00166.d%143c" ,-664186660,-1355095688,1967812058u,392352752,5) + ASSERT_PRINTF("%141.6s%0137.X%-71.136u%63c" ,"7o}B:q\t`#\tPY)zl",2676820286u,1506165811u,-88) + ASSERT_PRINTF("%183.146s%-.13X%--41.153s%0153.i" ,"%5~j*xCUi8QC^\tQ,2^-?JQ?",3760700920u,";|#X5nvI8",623414987) + ASSERT_PRINTF("%0 0102.181d%0+156.d" ,-400432081,-458015685) + ASSERT_PRINTF("% 112.*d%-57p%0163.155d%0175.u" ,-129,-953458848,(void*)5506289016706092065lu,1753524056,3239629399u) + ASSERT_PRINTF("%-91p%-182.37u%0#132.X" ,(void*)2972005942450133877lu,999289095u,1977204223u) + ASSERT_PRINTF("%-71.142x%1.168s%-*.118s%0126.0d%-23p" ,2611815215u,"/?r!\tdMnDjbn},CnTH%xN4VlwL\t4MR@o]c?Zz2pp5`") + ASSERT_PRINTF("%00130.i" ,1953556463) + ASSERT_PRINTF("%##20.118x%0149.i" ,275735627u,-465660649) + ASSERT_PRINTF("%68.87s%0 128.d" ,"b/7\v",-800593850) + ASSERT_PRINTF("%00189.u%13.140s%-*.111x%27.194X" ,2715149548u,"x|#COBA@vf1W{Kh",-137,2420086742u,3622755996u) + ASSERT_PRINTF("%-135c%--59.191x% 66.93i%0119.d" ,86,876781078u,-1863533434,-1682000257) + ASSERT_PRINTF("%--174.*X%0177.d%*p%50.25u" ,-87,3131015507u,875065121,-126,(void*)11357847474694195587lu,469183959u) + ASSERT_PRINTF("% 080.d" ,1842707035) + ASSERT_PRINTF("%-*c%78.*i% 055.i%#0154.*x%0123.45x" ,49,-45,-56,-741277501,-1645951931,-160,13284257u,3499965383u) + ASSERT_PRINTF("%0 96.i%47.19u%69.118X%+09.181i%*.132d" ,33551761,11711278u,3346891872u,77542505,125,-249298838) + ASSERT_PRINTF("%126.*x%#0188.X%+182.62i%177.130s" ,-88,2238297382u,3783929929u,946162632,"G&0$Le9wmI$8bv8XYp=)q'") + ASSERT_PRINTF("%--*c%0#105.x%0182.160X%177.157s%-*c" ,149,108,659393243u,1780378795u,"",-134,-86) + ASSERT_PRINTF("%0 100.0i%71c%00180.32X" ,-335576316,70,264007165u) + ASSERT_PRINTF("%-118.177x%015.x%-17.151x%-189.*x" ,3080759556u,4029610474u,47657509u,-96,372016709u) + ASSERT_PRINTF("%0075.u%-152c%-38.d%-33.171u" ,4008457838u,64,2057087977,1187940230u) + ASSERT_PRINTF("%-5c%--134p%#-66.146x%019.0i%#72.129x" ,-6,(void*)6819713182457381953lu,2657052598u,-37323892,2979179269u) + ASSERT_PRINTF("%-*p%199.28u%0+132.0d" ,-86,(void*)13896436089315568551lu,361891299u,397276099) + ASSERT_PRINTF("%0138.u" ,1126229914u) + ASSERT_PRINTF("%00174.0u%--15.116i%184p%+.50d%138p" ,2375880772u,1787056008,(void*)1807615524069540015lu,1496506808,(void*)10735817332425277460lu) + ASSERT_PRINTF("%###194.184X%000176.0X%-26.34X%82.140u%0189.*d" ,2170289846u,1711082331u,1436276768u,1577921856u,-124,696137600) + ASSERT_PRINTF("%058.X%-157.141u%-193.52x%80.*u" ,254685947u,1958469994u,2017444912u,-22,3297471132u) + ASSERT_PRINTF("%199.19u%0#155.x%-*.97s%+23.168i" ,2008376008u,2615900654u,-78,"lS'$f{!mmEBu-\rjNA`",-219058549) + ASSERT_PRINTF("%0127.X%58p%-184.0d%36.60x%-*p" ,69469616u,(void*)15748410132818628151lu,-377393018,439366495u,25,(void*)14923176025641553730lu) + ASSERT_PRINTF("%96.*s%169c%41.49s%73.81s%--37.65X" ,-37,"0DD}N\r/E*qr(\f*\\u8zD6`~k\r",117,"_8vO*G","`en>7X^\trcv4:t+QyBnN.G4$o7kza") + ASSERT_PRINTF("%+i%0+24.d" ,454302217,1748965780) + ASSERT_PRINTF("%0163.0u%083.49x" ,1719841959u,2865788566u) + ASSERT_PRINTF("%0+190.d%0014.110d%#137.173x%0*u" ,-366338323,-1974795641,2766258493u,61,3422813612u) + ASSERT_PRINTF("%0#57.x%-97.122x%180c%*p%--31c" ,1083100694u,2542714830u,-124,156,(void*)3085264202791187052lu,-2) + ASSERT_PRINTF("%036.192X%-65p%072.u" ,572894984u,(void*)12339975244939817903lu,3692922836u) + ASSERT_PRINTF("%042.u%*.4s%-102c" ,1779811778u,-185,"*vpn(\nLS6$%<,",99) + ASSERT_PRINTF("%32.*s% 144.*i%00*.x" ,55,"_Vh\nszG9:{C(kd-GFh[",109,900992453,30,3729443753u) + ASSERT_PRINTF("%00120.x%189.4u%0 24.i%116p" ,816523180u,4077831188u,-1498740677,(void*)15354135081401161121lu) + ASSERT_PRINTF("%0105.30x%0148.x%81p%46.173x%-134.130X" ,787933882u,3025462143u,(void*)15857299472088431394lu,3468885u,2431168052u) + ASSERT_PRINTF("%0196.u" ,4167585387u) + ASSERT_PRINTF("% 191.167d%0*.166u%0198.x%-169.111s" ,-1830920574,-189,510883396u,2915212806u,"L\\T&D2") + ASSERT_PRINTF("%185.81s%0+70.i" ,"A'aI)o/qi",-377823290) + ASSERT_PRINTF("%-198.162X%48c%+3.47d%-*c%064.i" ,661670894u,64,-1025124191,95,-27,-1098202024) + ASSERT_PRINTF("%185c%#-167.133X%-73d%175c%0139.X" ,-21,2498553822u,-1883226647,-53,3604149250u) + ASSERT_PRINTF("%115.124u%093.X%++*.134d%- 164.188i%-33.47x" ,56967481u,63884895u,13,1950743908,-1178261682,3630060354u) + ASSERT_PRINTF("%-144.74s%0#31.X%+-135.32d%0181.74i" ,"_ngF#K,%4,_wL+\r^mdZX