aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2011-12-13 17:22:22 +0000
committerWerner Koch <[email protected]>2011-12-13 17:22:22 +0000
commitff9a8c2e64ea2345f2ebe85a527b7c43033ba53e (patch)
tree9d8bee1d2ec281a6af93b6e833e9dd2cc85fb225
parentGenerate the ChangeLog from commit logs. (diff)
downloadlibassuan-ff9a8c2e64ea2345f2ebe85a527b7c43033ba53e.tar.gz
libassuan-ff9a8c2e64ea2345f2ebe85a527b7c43033ba53e.zip
vasprintf.c: Improve test code.
* src/vasprintf.c (checkit): Set flag for a test failure. (main): Return error on any failure.
-rw-r--r--src/vasprintf.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/src/vasprintf.c b/src/vasprintf.c
index e55408a..bacb71c 100644
--- a/src/vasprintf.c
+++ b/src/vasprintf.c
@@ -33,10 +33,10 @@ Boston, MA 02111-1307, USA. */
#define va_copy(d, s) (*(d) = *(s))
#elif defined (MUST_COPY_VA_BYVAL)
#define va_copy(d, s) ((d) = (s))
-#else
+#else
#define va_copy(d, s) memcpy ((d), (s), sizeof (va_list))
-#endif
-#endif
+#endif
+#endif
#ifdef TEST
@@ -175,6 +175,7 @@ _assuan_asprintf (char **buf, const char *fmt, ...)
#define asprintf _assuan_asprintf
#define vasprintf _assuan_vasprintf
+static int any_failed;
void
checkit (const char* format, ...)
@@ -187,7 +188,10 @@ checkit (const char* format, ...)
if (strlen (result) < global_total_width)
printf ("PASS: ");
else
- printf ("FAIL: ");
+ {
+ any_failed = 1;
+ printf ("FAIL: ");
+ }
printf ("%d %s\n", global_total_width, result);
}
@@ -201,5 +205,7 @@ main (void)
checkit ("%s", "jjjjjjjjjiiiiiiiiiiiiiiioooooooooooooooooppppppppppppaa\n\
777777777777777777333333333333366666666666622222222222777777777777733333");
checkit ("%f%s%d%s", 1.0, "foo", 77, "asdjffffffffffffffiiiiiiiiiiixxxxx");
+ checkit ("%2$f%4$s%3$d%1$s", "asdjffffffffffffffiiiiiiiiiiixxxxx", 1.0, 77, "foo");
+ return any_failed;
}
#endif /* TEST */