comparison src/message_test.c @ 33148:7bc10151ce81 v9.0.1856

patch 9.0.1856: issues with formatting positional arguments Commit: https://github.com/vim/vim/commit/aa90d4f031f73a34aaef5746931ea746849a2231 Author: Christ van Willegen <cvwillegen@gmail.com> Date: Sun Sep 3 17:22:37 2023 +0200 patch 9.0.1856: issues with formatting positional arguments Problem: issues with formatting positional arguments Solution: fix them, add tests and documentation closes: #12140 closes: #12985 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Christ van Willegen <cvwillegen@gmail.com> Tentatively fix message_test. Check NULL ptr.
author Christian Brabandt <cb@256bit.org>
date Sun, 03 Sep 2023 17:30:05 +0200
parents f48e27f20e6b
children 05c320c640de
comparison
equal deleted inserted replaced
33147:288d4aa3e263 33148:7bc10151ce81
38 // function and never as literals in C code. 38 // function and never as literals in C code.
39 char *fmt_012p = "%012p"; 39 char *fmt_012p = "%012p";
40 char *fmt_5S = "%5S"; 40 char *fmt_5S = "%5S";
41 char *fmt_06b = "%06b"; 41 char *fmt_06b = "%06b";
42 char *fmt_06pb = "%1$0.*2$b"; 42 char *fmt_06pb = "%1$0.*2$b";
43 char *fmt_06pb2 = "%2$0*1$b";
43 char *fmt_212s = "%2$s %1$s %2$s"; 44 char *fmt_212s = "%2$s %1$s %2$s";
44 char *fmt_21s = "%2$s %1$s"; 45 char *fmt_21s = "%2$s %1$s";
45 46
46 /* 47 /*
47 * Test trunc_string(). 48 * Test trunc_string().
440 n = vim_snprintf(buf, bsize, "%1$x", 0xdeadbeef); 441 n = vim_snprintf(buf, bsize, "%1$x", 0xdeadbeef);
441 assert(n == 8); 442 assert(n == 8);
442 assert(bsize == 0 || STRNCMP(buf, "deadbeef", bsize_int) == 0); 443 assert(bsize == 0 || STRNCMP(buf, "deadbeef", bsize_int) == 0);
443 assert(bsize == 0 || buf[MIN(n, bsize_int)] == '\0'); 444 assert(bsize == 0 || buf[MIN(n, bsize_int)] == '\0');
444 445
446 n = vim_snprintf(buf, bsize, fmt_06pb2, 6, (uvarnumber_T)12);
447 assert(n == 6);
448 assert(bsize == 0 || STRNCMP(buf, "001100", bsize_int) == 0);
449 assert(bsize == 0 || buf[MIN(n, bsize_int)] == '\0');
450
445 n = vim_snprintf(buf, bsize, fmt_06pb, (uvarnumber_T)12, 6); 451 n = vim_snprintf(buf, bsize, fmt_06pb, (uvarnumber_T)12, 6);
446 assert(n == 6); 452 assert(n == 6);
447 assert(bsize == 0 || STRNCMP(buf, "001100", bsize_int) == 0); 453 assert(bsize == 0 || STRNCMP(buf, "001100", bsize_int) == 0);
448 assert(bsize == 0 || buf[MIN(n, bsize_int)] == '\0'); 454 assert(bsize == 0 || buf[MIN(n, bsize_int)] == '\0');
449 455