diff options
author | Ulrich Drepper <drepper@redhat.com> | 2007-01-22 16:18:03 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 2007-01-22 16:18:03 +0000 |
commit | 6cae39579b699d09b94a315483a9ac804b56fe34 (patch) | |
tree | 25e1ae56c925aac9ee267ca7626d9aa860a10604 /stdio-common/bug17.c | |
parent | 439201dea2b759359eba24dd9458b4a2ef55bfac (diff) | |
download | glibc-6cae39579b699d09b94a315483a9ac804b56fe34.tar.gz glibc-6cae39579b699d09b94a315483a9ac804b56fe34.tar.xz glibc-6cae39579b699d09b94a315483a9ac804b56fe34.zip |
[BZ #3902]
2007-01-22 Ulrich Drepper <drepper@redhat.com> [BZ #3902] * stdio-common/_itoa.c (_itoa): Make sure at least a zero is emitted. * stdio-common/Makefile (tests): Add bug17. * stdio-common/bug17.c: New file.
Diffstat (limited to 'stdio-common/bug17.c')
-rw-r--r-- | stdio-common/bug17.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/stdio-common/bug17.c b/stdio-common/bug17.c new file mode 100644 index 0000000000..2ef398674b --- /dev/null +++ b/stdio-common/bug17.c @@ -0,0 +1,31 @@ +#include <stdio.h> +#include <string.h> + +static int +do_test (void) +{ + static const char expect[] = "0, 0, 0"; + char buf[100]; + int status = 0; + + static const char fmt1[] = "%0d, %0ld, %0lld"; + snprintf (buf, sizeof (buf), fmt1, 0, 0L, 0LL); + if (strcmp (buf, expect) != 0) + { + printf ("\"%s\": got \"%s\", expected \"%s\"\n", fmt1, buf, expect); + status = 1; + } + + static const char fmt2[] = "%0u, %0lu, %0llu"; + snprintf (buf, sizeof (buf), fmt2, 0u, 0uL, 0uLL); + if (strcmp (buf, expect) != 0) + { + printf ("\"%s\": got \"%s\", expected \"%s\"\n", fmt2, buf, expect); + status = 1; + } + + return status; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" |