about summary refs log tree commit diff
path: root/stdio-common/tst-vfprintf-user-type.c
diff options
context:
space:
mode:
Diffstat (limited to 'stdio-common/tst-vfprintf-user-type.c')
-rw-r--r--stdio-common/tst-vfprintf-user-type.c130
1 files changed, 130 insertions, 0 deletions
diff --git a/stdio-common/tst-vfprintf-user-type.c b/stdio-common/tst-vfprintf-user-type.c
index 7cc69dc716..adcbf33c20 100644
--- a/stdio-common/tst-vfprintf-user-type.c
+++ b/stdio-common/tst-vfprintf-user-type.c
@@ -195,6 +195,136 @@ do_test (void)
   free (str);
 
   str = NULL;
+  TEST_VERIFY (asprintf_alias (&str, "%1$P %2$P %3$P %4$P %5$P %6$P",
+                              1L, 1.0,
+                              2L, 2.0,
+                              3L, 3.0,
+                              4L, 4.0,
+                              5L, 6.0,
+                              6L, 6.0)
+              >= 0);
+  free (str);
+
+  str = NULL;
+  TEST_VERIFY (asprintf_alias (&str, "%1$P %2$P %3$P %4$P %5$P %6$P"
+                                    "%7$P %8$P %9$P %10$P %11$P %12$P",
+                              1L, 1.0,
+                              2L, 2.0,
+                              3L, 3.0,
+                              4L, 4.0,
+                              5L, 6.0,
+                              6L, 6.0,
+                              7L, 7.0,
+                              8L, 8.0,
+                              9L, 9.0,
+                              10L, 10.0,
+                              11L, 11.0,
+                              12L, 12.0)
+              >= 0);
+  free (str);
+
+  str = NULL;
+  TEST_VERIFY (asprintf_alias (&str, "%1$P %2$P %3$P %4$P %5$P %6$P"
+                                    "%7$P %8$P %9$P %10$P %11$P %12$P"
+                                    "%13$P %14$P %15$P %16$P %17$P %18$P",
+                              1L, 1.0,
+                              2L, 2.0,
+                              3L, 3.0,
+                              4L, 4.0,
+                              5L, 6.0,
+                              6L, 6.0,
+                              7L, 7.0,
+                              8L, 8.0,
+                              9L, 9.0,
+                              10L, 10.0,
+                              11L, 11.0,
+                              12L, 12.0,
+                              13L, 13.0,
+                              14L, 14.0,
+                              15L, 15.0,
+                              16L, 16.0,
+                              17L, 17.0,
+                              18L, 18.0)
+              >= 0);
+  free (str);
+
+  str = NULL;
+  TEST_VERIFY (asprintf_alias (&str, "%1$P %2$P %3$P %4$P %5$P %6$P"
+                                    "%7$P %8$P %9$P %10$P %11$P %12$P"
+                                    "%13$P %14$P %15$P %16$P %17$P %18$P"
+                                    "%19$P %20$P %21$P %22$P %23$P %24$P",
+                              1L, 1.0,
+                              2L, 2.0,
+                              3L, 3.0,
+                              4L, 4.0,
+                              5L, 6.0,
+                              6L, 6.0,
+                              7L, 7.0,
+                              8L, 8.0,
+                              9L, 9.0,
+                              10L, 10.0,
+                              11L, 11.0,
+                              12L, 12.0,
+                              13L, 13.0,
+                              14L, 14.0,
+                              15L, 15.0,
+                              16L, 16.0,
+                              17L, 17.0,
+                              18L, 18.0,
+                              19L, 19.0,
+                              20L, 20.0,
+                              21L, 21.0,
+                              22L, 22.0,
+                              23L, 23.0,
+                              24L, 24.0)
+              >= 0);
+  free (str);
+
+  str = NULL;
+  TEST_VERIFY (asprintf_alias (&str, "%1$P %2$P %3$P %4$P %5$P %6$P"
+                                    "%7$P %8$P %9$P %10$P %11$P %12$P"
+                                    "%13$P %14$P %15$P %16$P %17$P %18$P"
+                                    "%19$P %20$P %21$P %22$P %23$P %24$P"
+                                    "%25$P %26$P %27$P %28$P %29$P %30$P",
+                              1L, 1.0,
+                              2L, 2.0,
+                              3L, 3.0,
+                              4L, 4.0,
+                              5L, 6.0,
+                              6L, 6.0,
+                              7L, 7.0,
+                              8L, 8.0,
+                              9L, 9.0,
+                              10L, 10.0,
+                              11L, 11.0,
+                              12L, 12.0,
+                              13L, 13.0,
+                              14L, 14.0,
+                              15L, 15.0,
+                              16L, 16.0,
+                              17L, 17.0,
+                              18L, 18.0,
+                              19L, 19.0,
+                              20L, 20.0,
+                              21L, 21.0,
+                              22L, 22.0,
+                              23L, 23.0,
+                              24L, 34.0,
+                              25L, 25.0,
+                              26L, 26.0,
+                              27L, 27.0,
+                              28L, 28.0,
+                              29L, 29.0,
+                              30, 30.0)
+              >= 0);
+  free (str);
+
+  str = NULL;
+  TEST_VERIFY (asprintf_alias (&str, "[[%1$P %1$P]]", 123L, 457.0) >= 0);
+  TEST_COMPARE_STRING (str, "[[(123, 457.000000) (123, 457.000000)]]");
+  free (str);
+
+  str = NULL;
   TEST_VERIFY (asprintf_alias (&str, "[[%.1P]]", 1L, 2.0) >= 0);
   TEST_COMPARE_STRING (str, "[[{(1, 2.000000)}]]");
   free (str);