summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/regress/lib/libc/sprintf/sprintf_test.c28
1 files changed, 23 insertions, 5 deletions
diff --git a/src/regress/lib/libc/sprintf/sprintf_test.c b/src/regress/lib/libc/sprintf/sprintf_test.c
index cb93868b60..61c58f2f09 100644
--- a/src/regress/lib/libc/sprintf/sprintf_test.c
+++ b/src/regress/lib/libc/sprintf/sprintf_test.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: sprintf_test.c,v 1.3 2004/09/16 20:22:26 otto Exp $ */ 1/* $OpenBSD: sprintf_test.c,v 1.4 2004/09/18 19:31:32 otto Exp $ */
2 2
3/* 3/*
4 * Copyright (c) 2003 Theo de Raadt 4 * Copyright (c) 2003 Theo de Raadt
@@ -29,6 +29,7 @@
29 * POSSIBILITY OF SUCH DAMAGE. 29 * POSSIBILITY OF SUCH DAMAGE.
30 */ 30 */
31 31
32#include <stddef.h>
32#include <stdio.h> 33#include <stdio.h>
33#include <stdlib.h> 34#include <stdlib.h>
34#include <string.h> 35#include <string.h>
@@ -48,10 +49,16 @@ char correct[] =
48 "|xx 41 42 43 44\n" 49 "|xx 41 42 43 44\n"
49 "|xx 45 -1 1 -1 1\n"; 50 "|xx 45 -1 1 -1 1\n";
50 51
52char correct2[] =
53 "1 0 -1 1 1 2 1 3 -1 4 1 \n"
54 "1 -1 1 1 -1 1 \n";
55
51int 56int
52main(int argc, char *argv[]) 57main(int argc, char *argv[])
53{ 58{
54 char buf[1024]; 59 char buf[1024];
60 size_t sz1, sz2, sz3, sz4;
61 ptrdiff_t p1, p2, p3, p4;
55 62
56 /* Test positional arguments */ 63 /* Test positional arguments */
57 snprintf(buf, sizeof buf, 64 snprintf(buf, sizeof buf,
@@ -77,8 +84,19 @@ main(int argc, char *argv[])
77 "43", "44", 45, -1L, 1LL, -1, 1LL 84 "43", "44", 45, -1L, 1LL, -1, 1LL
78 ); 85 );
79 86
80 printf(buf); 87 if (strcmp(buf, correct) != 0)
81 if (strcmp(buf, correct) == 0) 88 exit(1);
82 exit(0); 89
83 exit(1); 90 sz1 = (size_t)1;
91 sz2 = (size_t)-1;
92 p1 = (ptrdiff_t)1;
93 p2 = (ptrdiff_t)-1;
94 snprintf(buf, sizeof buf,
95 "%zx %d %zd %d %zu %d %tx %d %td %d %tu %zn %tn\n"
96 "%1$zx %3$zd %5$zu %7$tx %9$td %11$tu %14$zn %15$tn\n",
97 sz1, 0, sz2, 1, sz1, 2, p1, 3, p2, 4, p1, &sz3, &p3, &sz4, &p4);
98 if (strcmp(buf, correct2) != 0 || sz3 != 24 || p3 != 25 ||
99 sz4 != 40 || p4 != 41)
100 exit(1);
101 exit(0);
84} 102}