diff options
author | Ulrich Drepper <drepper@redhat.com> | 1999-02-14 20:03:55 +0000 |
---|---|---|
committer | Ulrich Drepper <drepper@redhat.com> | 1999-02-14 20:03:55 +0000 |
commit | b119507013bc4cdc19011f2b3e8e4e7e7a3bb9d9 (patch) | |
tree | 4ef33706ab550ca96fb0e3f0d1a3798e22bfbc3f /stdio-common | |
parent | 2c7311525411098608af7f2d597ab45bb32af717 (diff) | |
download | glibc-b119507013bc4cdc19011f2b3e8e4e7e7a3bb9d9.tar.gz |
Update.
1999-02-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* stdio-common/Makefile (tests): tllformat added.
* stdio-common/tllformat.c: New program, based on tiformat.c with
examples from Franz Sirl <Franz.Sirl-kernel@lauterbach.com>.
1999-02-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
* posix/test-vfork.c: Fix exit status test.
1999-02-14 Andreas Jaeger <aj@arthur.rhein-neckar.de>
* sysdeps/unix/sysv/linux/sa_len.c (__libc_sa_len): Add some
missing cases. Reported by Craig Metz <cmetz@inner.net> [PR libc/964].
1999-02-14 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
Diffstat (limited to 'stdio-common')
-rw-r--r-- | stdio-common/Makefile | 2 | ||||
-rw-r--r-- | stdio-common/tllformat.c | 59 |
2 files changed, 60 insertions, 1 deletions
diff --git a/stdio-common/Makefile b/stdio-common/Makefile index 287f7c566a..9fb0c5d15d 100644 --- a/stdio-common/Makefile +++ b/stdio-common/Makefile @@ -47,7 +47,7 @@ tests := tst-printf tstscanf test_rdwr test-popen tstgetln test-fseek \ temptest tst-fileno test-fwrite tst-ungetc tst-ferror \ xbug errnobug \ bug1 bug2 bug3 bug4 bug5 bug6 bug7 bug8 bug9 bug10 bug11 bug12 \ - tfformat tiformat tstdiomisc tst-printfsz tst-wc-printf \ + tfformat tiformat tllformat tstdiomisc tst-printfsz tst-wc-printf \ scanf1 scanf2 scanf3 scanf4 scanf5 scanf7 scanf8 scanf9 scanf10 \ scanf12 tst-tmpnam diff --git a/stdio-common/tllformat.c b/stdio-common/tllformat.c new file mode 100644 index 0000000000..b53b825836 --- /dev/null +++ b/stdio-common/tllformat.c @@ -0,0 +1,59 @@ +#include <stdio.h> +#include <string.h> + +/* The original file was tiformat.c and it has been changed for long long tests\ +. */ +typedef struct +{ + int line; + long long int value; + const char *result; + const char *format_string; +} sprint_int_type; + +sprint_int_type sprint_ints[] = +{ + {__LINE__, 0x00000000ULL, "0", "%llx"}, + {__LINE__, 0xffff00000000208bULL, "ffff00000000208b", "%llx"}, + {__LINE__, 0xffff00000000208bULL, "18446462598732849291", "%llu"}, + {__LINE__, 18446462598732849291ULL, "ffff00000000208b", "%llx"}, + {__LINE__, 18446462598732849291ULL, "18446462598732849291", "%llu"}, + {__LINE__, 18359476226655002763ULL, "fec9f65b0000208b", "%llx"}, + {__LINE__, 18359476226655002763ULL, "18359476226655002763", "%llu"}, + + {0}, +}; + +int +main (void) +{ + int errcount = 0; + int testcount = 0; +#define BSIZE 1024 + char buffer[BSIZE]; + sprint_int_type *iptr; + for (iptr = sprint_ints; iptr->line; iptr++) + { + sprintf (buffer, iptr->format_string, iptr->value); + if (strcmp (buffer, iptr->result) != 0) + { + ++errcount; + printf ("\ +Error in line %d using \"%s\". Result is \"%s\"; should be: \"%s\".\n", + iptr->line, iptr->format_string, buffer, iptr->result); + } + ++testcount; + } + + if (errcount == 0) + { + printf ("Encountered no errors in %d tests.\n", testcount); + return 0; + } + else + { + printf ("Encountered %d errors in %d tests.\n", + errcount, testcount); + return 1; + } +} |