Mercurial > vim
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 |