From 46de710e624b2e578d9adf3bf44de5513867fba3 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Tue, 28 Jan 2003 10:59:43 +0000 Subject: Add a couple of tests --- test/misc/fdopen.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 test/misc/fdopen.c (limited to 'test/misc/fdopen.c') diff --git a/test/misc/fdopen.c b/test/misc/fdopen.c new file mode 100644 index 000000000..598a85a05 --- /dev/null +++ b/test/misc/fdopen.c @@ -0,0 +1,46 @@ +/* Test for fdopen bugs. */ + +#include +#include +#include + +#define assert(x) \ + if (!(x)) \ + { \ + fputs ("test failed: " #x "\n", stderr); \ + retval = 1; \ + goto the_end; \ + } + +char buffer[256]; + +int +main (int argc, char *argv[]) +{ + char *name; + FILE *fp = NULL; + int retval = 0; + int fd; + + name = tmpnam (NULL); + fp = fopen (name, "w"); + assert (fp != NULL) + fputs ("foobar and baz", fp); + fclose (fp); + fp = NULL; + + fd = open (name, O_RDWR|O_CREAT); + assert (fd != -1); + assert (lseek (fd, 5, SEEK_SET) == 5); + + fp = fdopen (fd, "a"); + assert (fp != NULL); + assert (ftell (fp) == 14); + +the_end: + if (fp != NULL) + fclose (fp); + unlink (name); + + return retval; +} -- cgit v1.2.3