about summary refs log tree commit diff
path: root/stdio-common/bug17.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2007-01-22 16:18:03 +0000
committerUlrich Drepper <drepper@redhat.com>2007-01-22 16:18:03 +0000
commit6cae39579b699d09b94a315483a9ac804b56fe34 (patch)
tree25e1ae56c925aac9ee267ca7626d9aa860a10604 /stdio-common/bug17.c
parent439201dea2b759359eba24dd9458b4a2ef55bfac (diff)
downloadglibc-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.c31
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"