diff options
author | deraadt <> | 2003-05-15 04:23:49 +0000 |
---|---|---|
committer | deraadt <> | 2003-05-15 04:23:49 +0000 |
commit | 562310c81469da0af76dfaa59981692b0f3710f3 (patch) | |
tree | 42e6a93dd0e42908c79e503ab9817ac8af8ccb9f /src/regress/lib/libc/sprintf | |
parent | 8bd3e3e13a059c46d97b80e07aaca1098423dfbf (diff) | |
download | openbsd-562310c81469da0af76dfaa59981692b0f3710f3.tar.gz openbsd-562310c81469da0af76dfaa59981692b0f3710f3.tar.bz2 openbsd-562310c81469da0af76dfaa59981692b0f3710f3.zip |
first sprintf test: positional args
Diffstat (limited to 'src/regress/lib/libc/sprintf')
-rw-r--r-- | src/regress/lib/libc/sprintf/Makefile | 10 | ||||
-rw-r--r-- | src/regress/lib/libc/sprintf/sprintf_test.c | 80 |
2 files changed, 90 insertions, 0 deletions
diff --git a/src/regress/lib/libc/sprintf/Makefile b/src/regress/lib/libc/sprintf/Makefile new file mode 100644 index 0000000000..47bab9cdd3 --- /dev/null +++ b/src/regress/lib/libc/sprintf/Makefile | |||
@@ -0,0 +1,10 @@ | |||
1 | # $OpenBSD: Makefile,v 1.1 2003/05/15 04:23:49 deraadt Exp $ | ||
2 | |||
3 | NOMAN= | ||
4 | PROG=sprintf_test | ||
5 | CPPFLAGS+=-I${.CURDIR}/../../../../lib/libc | ||
6 | |||
7 | run-regress-atexit_test: ${PROG} | ||
8 | ./${PROG} | ||
9 | |||
10 | .include <bsd.regress.mk> | ||
diff --git a/src/regress/lib/libc/sprintf/sprintf_test.c b/src/regress/lib/libc/sprintf/sprintf_test.c new file mode 100644 index 0000000000..1387b2970e --- /dev/null +++ b/src/regress/lib/libc/sprintf/sprintf_test.c | |||
@@ -0,0 +1,80 @@ | |||
1 | /* $OpenBSD: sprintf_test.c,v 1.1 2003/05/15 04:23:49 deraadt Exp $ */ | ||
2 | |||
3 | /* | ||
4 | * Copyright (c) 2003 Theo de Raadt | ||
5 | * All rights reserved. | ||
6 | * | ||
7 | * Redistribution and use in source and binary forms, with or without | ||
8 | * modification, are permitted provided that the following conditions | ||
9 | * are met: | ||
10 | * | ||
11 | * - Redistributions of source code must retain the above copyright | ||
12 | * notice, this list of conditions and the following disclaimer. | ||
13 | * - Redistributions in binary form must reproduce the above | ||
14 | * copyright notice, this list of conditions and the following | ||
15 | * disclaimer in the documentation and/or other materials provided | ||
16 | * with the distribution. | ||
17 | * | ||
18 | * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||
19 | * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||
20 | * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS | ||
21 | * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE | ||
22 | * COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, | ||
23 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, | ||
24 | * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
25 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER | ||
26 | * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||
27 | * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN | ||
28 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
29 | * POSSIBILITY OF SUCH DAMAGE. | ||
30 | */ | ||
31 | |||
32 | #include <stdio.h> | ||
33 | #include <stdlib.h> | ||
34 | #include <signal.h> | ||
35 | |||
36 | char correct[] = | ||
37 | "|xx 01 02 03 04\n" | ||
38 | "|xx 05 06 07 08\n" | ||
39 | "|xx 09 10 11 12\n" | ||
40 | "|xx 13 14 15 16\n" | ||
41 | "|xx 17 18 19 20\n" | ||
42 | "|xx 21 22 23 24\n" | ||
43 | "|xx 25 26 27 28\n" | ||
44 | "|xx 29 30 31 32\n" | ||
45 | "|xx 33 34 35 36\n" | ||
46 | "|xx 37 38 39 40\n" | ||
47 | "|xx 41 42 43 44\n"; | ||
48 | |||
49 | int | ||
50 | main(int argc, char *argv[]) | ||
51 | { | ||
52 | char buf[1024]; | ||
53 | |||
54 | /* Test positional arguments */ | ||
55 | snprintf(buf, sizeof buf, | ||
56 | "|xx %1$s %2$s %3$s %4$s\n" | ||
57 | "|xx %5$s %6$s %7$s %8$s\n" | ||
58 | "|xx %9$s %10$s %11$s %12$s\n" | ||
59 | "|xx %13$s %14$s %15$s %16$s\n" | ||
60 | "|xx %17$s %18$s %19$s %20$s\n" | ||
61 | "|xx %21$s %22$s %23$s %24$s\n" | ||
62 | "|xx %25$s %26$s %27$s %28$s\n" | ||
63 | "|xx %29$s %30$s %31$s %32$s\n" | ||
64 | "|xx %33$s %34$s %35$s %36$s\n" | ||
65 | "|xx %37$s %38$s %39$s %40$s\n" | ||
66 | "|xx %41$s %42$s %43$s %44$s\n", | ||
67 | "01", "02", "03", "04", "05", "06", | ||
68 | "07", "08", "09", "10", "11", "12", | ||
69 | "13", "14", "15", "16", "17", "18", | ||
70 | "19", "20", "21", "22", "23", "24", | ||
71 | "25", "26", "27", "28", "29", "30", | ||
72 | "31", "32", "33", "34", "35", "36", | ||
73 | "37", "38", "39", "40", "41", "42", | ||
74 | "43", "44" | ||
75 | ); | ||
76 | |||
77 | if (strcmp(buf, correct) == 0) | ||
78 | exit(0); | ||
79 | exit(1); | ||
80 | } | ||