From dcbb9e701f6c6f7ea01e08524a008fd2b149dfa3 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Thu, 24 May 2007 10:10:51 +0000 Subject: [PATCH] Allow for a longer printed representation of NaN. --- ChangeLog | 9 +++++++++ tests/test-snprintf-posix.h | 32 ++++++++++++++++---------------- tests/test-sprintf-posix.h | 32 ++++++++++++++++---------------- tests/test-vasnprintf-posix.c | 32 ++++++++++++++++---------------- tests/test-vasprintf-posix.c | 32 ++++++++++++++++---------------- 5 files changed, 73 insertions(+), 64 deletions(-) diff --git a/ChangeLog b/ChangeLog index e99058d8d..c3ed27eb9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2007-05-24 Bruno Haible + + * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes + in the printed representation of a NaN. + * tests/test-vasprintf-posix.c (test_function): Likewise. + * tests/test-snprintf-posix.h (test_function): Likewise. + * tests/test-sprintf-posix.h (test_function): Likewise. + Reported by Eric Blake. + 2007-05-23 Eric Blake Fix fseeko/ftello on cygwin 1.5.24. diff --git a/tests/test-snprintf-posix.h b/tests/test-snprintf-posix.h index ed03fb446..346d32e08 100644 --- a/tests/test-snprintf-posix.h +++ b/tests/test-snprintf-posix.h @@ -392,10 +392,10 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%020a %d", NaN (), 33, 44, 55); + my_snprintf (result, sizeof (result), "%050a %d", NaN (), 33, 44, 55); /* "0000000nan 33" is not a valid result; see */ - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -657,10 +657,10 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%020La %d", 0.0L / 0.0L, 33, 44, 55); + my_snprintf (result, sizeof (result), "%050La %d", 0.0L / 0.0L, 33, 44, 55); /* "0000000nan 33" is not a valid result; see */ - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -900,8 +900,8 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%020f %d", NaN (), 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_snprintf (result, sizeof (result), "%050f %d", NaN (), 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1149,8 +1149,8 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) static long double zero = 0.0L; char result[100]; int retval = - my_snprintf (result, sizeof (result), "%020Lf %d", zero / zero, 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_snprintf (result, sizeof (result), "%050Lf %d", zero / zero, 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1613,8 +1613,8 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%020e %d", NaN (), 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_snprintf (result, sizeof (result), "%050e %d", NaN (), 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1865,8 +1865,8 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) static long double zero = 0.0L; char result[100]; int retval = - my_snprintf (result, sizeof (result), "%020Le %d", zero / zero, 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_snprintf (result, sizeof (result), "%050Le %d", zero / zero, 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -2127,8 +2127,8 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[100]; int retval = - my_snprintf (result, sizeof (result), "%020g %d", NaN (), 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_snprintf (result, sizeof (result), "%050g %d", NaN (), 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -2379,8 +2379,8 @@ test_function (int (*my_snprintf) (char *, size_t, const char *, ...)) static long double zero = 0.0L; char result[100]; int retval = - my_snprintf (result, sizeof (result), "%020Lg %d", zero / zero, 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_snprintf (result, sizeof (result), "%050Lg %d", zero / zero, 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); diff --git a/tests/test-sprintf-posix.h b/tests/test-sprintf-posix.h index 6149dd78a..f178803f6 100644 --- a/tests/test-sprintf-posix.h +++ b/tests/test-sprintf-posix.h @@ -378,10 +378,10 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[1000]; int retval = - my_sprintf (result, "%020a %d", NaN (), 33, 44, 55); + my_sprintf (result, "%050a %d", NaN (), 33, 44, 55); /* "0000000nan 33" is not a valid result; see */ - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -643,10 +643,10 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[1000]; int retval = - my_sprintf (result, "%020La %d", 0.0L / 0.0L, 33, 44, 55); + my_sprintf (result, "%050La %d", 0.0L / 0.0L, 33, 44, 55); /* "0000000nan 33" is not a valid result; see */ - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -880,8 +880,8 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[1000]; int retval = - my_sprintf (result, "%020f %d", NaN (), 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_sprintf (result, "%050f %d", NaN (), 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1123,8 +1123,8 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) static long double zero = 0.0L; char result[1000]; int retval = - my_sprintf (result, "%020Lf %d", zero / zero, 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_sprintf (result, "%050Lf %d", zero / zero, 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1587,8 +1587,8 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[1000]; int retval = - my_sprintf (result, "%020e %d", NaN (), 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_sprintf (result, "%050e %d", NaN (), 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1839,8 +1839,8 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) static long double zero = 0.0L; char result[1000]; int retval = - my_sprintf (result, "%020Le %d", zero / zero, 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_sprintf (result, "%050Le %d", zero / zero, 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -2101,8 +2101,8 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) { /* FLAG_ZERO with NaN. */ char result[1000]; int retval = - my_sprintf (result, "%020g %d", NaN (), 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_sprintf (result, "%050g %d", NaN (), 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -2353,8 +2353,8 @@ test_function (int (*my_sprintf) (char *, const char *, ...)) static long double zero = 0.0L; char result[1000]; int retval = - my_sprintf (result, "%020Lg %d", zero / zero, 33, 44, 55); - ASSERT (strlen (result) == 20 + 3 + my_sprintf (result, "%050Lg %d", zero / zero, 33, 44, 55); + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); diff --git a/tests/test-vasnprintf-posix.c b/tests/test-vasnprintf-posix.c index 9dcf481cc..5db0589fa 100644 --- a/tests/test-vasnprintf-posix.c +++ b/tests/test-vasnprintf-posix.c @@ -479,11 +479,11 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with NaN. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%020a %d", NaN (), 33, 44, 55); + my_asnprintf (NULL, &length, "%050a %d", NaN (), 33, 44, 55); ASSERT (result != NULL); /* "0000000nan 33" is not a valid result; see */ - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (length == strlen (result)); @@ -794,11 +794,11 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with NaN. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%020La %d", 0.0L / 0.0L, 33, 44, 55); + my_asnprintf (NULL, &length, "%050La %d", 0.0L / 0.0L, 33, 44, 55); ASSERT (result != NULL); /* "0000000nan 33" is not a valid result; see */ - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (length == strlen (result)); @@ -1067,9 +1067,9 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with NaN. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%020f %d", NaN (), 33, 44, 55); + my_asnprintf (NULL, &length, "%050f %d", NaN (), 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (length == strlen (result)); @@ -1348,9 +1348,9 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) static long double zero = 0.0L; size_t length; char *result = - my_asnprintf (NULL, &length, "%020Lf %d", zero / zero, 33, 44, 55); + my_asnprintf (NULL, &length, "%050Lf %d", zero / zero, 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (length == strlen (result)); @@ -1895,9 +1895,9 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with NaN. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%020e %d", NaN (), 33, 44, 55); + my_asnprintf (NULL, &length, "%050e %d", NaN (), 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (length == strlen (result)); @@ -2187,9 +2187,9 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) static long double zero = 0.0L; size_t length; char *result = - my_asnprintf (NULL, &length, "%020Le %d", zero / zero, 33, 44, 55); + my_asnprintf (NULL, &length, "%050Le %d", zero / zero, 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (length == strlen (result)); @@ -2489,9 +2489,9 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) { /* FLAG_ZERO with NaN. */ size_t length; char *result = - my_asnprintf (NULL, &length, "%020g %d", NaN (), 33, 44, 55); + my_asnprintf (NULL, &length, "%050g %d", NaN (), 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (length == strlen (result)); @@ -2781,9 +2781,9 @@ test_function (char * (*my_asnprintf) (char *, size_t *, const char *, ...)) static long double zero = 0.0L; size_t length; char *result = - my_asnprintf (NULL, &length, "%020Lg %d", zero / zero, 33, 44, 55); + my_asnprintf (NULL, &length, "%050Lg %d", zero / zero, 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (length == strlen (result)); diff --git a/tests/test-vasprintf-posix.c b/tests/test-vasprintf-posix.c index 51aebdfcc..8cf802158 100644 --- a/tests/test-vasprintf-posix.c +++ b/tests/test-vasprintf-posix.c @@ -460,11 +460,11 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with NaN. */ char *result; int retval = - my_asprintf (&result, "%020a %d", NaN (), 33, 44, 55); + my_asprintf (&result, "%050a %d", NaN (), 33, 44, 55); ASSERT (result != NULL); /* "0000000nan 33" is not a valid result; see */ - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -775,11 +775,11 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with NaN. */ char *result; int retval = - my_asprintf (&result, "%020La %d", 0.0L / 0.0L, 33, 44, 55); + my_asprintf (&result, "%050La %d", 0.0L / 0.0L, 33, 44, 55); ASSERT (result != NULL); /* "0000000nan 33" is not a valid result; see */ - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1048,9 +1048,9 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with NaN. */ char *result; int retval = - my_asprintf (&result, "%020f %d", NaN (), 33, 44, 55); + my_asprintf (&result, "%050f %d", NaN (), 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1329,9 +1329,9 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) static long double zero = 0.0L; char *result; int retval = - my_asprintf (&result, "%020Lf %d", zero / zero, 33, 44, 55); + my_asprintf (&result, "%050Lf %d", zero / zero, 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -1876,9 +1876,9 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with NaN. */ char *result; int retval = - my_asprintf (&result, "%020e %d", NaN (), 33, 44, 55); + my_asprintf (&result, "%050e %d", NaN (), 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -2168,9 +2168,9 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) static long double zero = 0.0L; char *result; int retval = - my_asprintf (&result, "%020Le %d", zero / zero, 33, 44, 55); + my_asprintf (&result, "%050Le %d", zero / zero, 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -2470,9 +2470,9 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) { /* FLAG_ZERO with NaN. */ char *result; int retval = - my_asprintf (&result, "%020g %d", NaN (), 33, 44, 55); + my_asprintf (&result, "%050g %d", NaN (), 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); @@ -2762,9 +2762,9 @@ test_function (int (*my_asprintf) (char **, const char *, ...)) static long double zero = 0.0L; char *result; int retval = - my_asprintf (&result, "%020Lg %d", zero / zero, 33, 44, 55); + my_asprintf (&result, "%050Lg %d", zero / zero, 33, 44, 55); ASSERT (result != NULL); - ASSERT (strlen (result) == 20 + 3 + ASSERT (strlen (result) == 50 + 3 && strisnan (result, strspn (result, " "), strlen (result) - 3, 0) && strcmp (result + strlen (result) - 3, " 33") == 0); ASSERT (retval == strlen (result)); -- 2.11.0