summaryrefslogtreecommitdiffstats
path: root/test/misc/fdopen.c
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2006-08-22 01:56:31 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2006-08-22 01:56:31 +0000
commitc969ef4b8fc1d06c13203b36f8cf5bb61a7730f0 (patch)
treeeb2da173a5661b2b2e615045f26f7b69e774290d /test/misc/fdopen.c
parentfea84e591f94b025ef7c2da843ae80b809f93dbe (diff)
downloaduClibc-alpine-c969ef4b8fc1d06c13203b36f8cf5bb61a7730f0.tar.bz2
uClibc-alpine-c969ef4b8fc1d06c13203b36f8cf5bb61a7730f0.tar.xz
Merge from trunk. Whoa crap.
Diffstat (limited to 'test/misc/fdopen.c')
-rw-r--r--test/misc/fdopen.c22
1 files changed, 14 insertions, 8 deletions
diff --git a/test/misc/fdopen.c b/test/misc/fdopen.c
index 598a85a05..f64cfb6b9 100644
--- a/test/misc/fdopen.c
+++ b/test/misc/fdopen.c
@@ -1,6 +1,7 @@
/* Test for fdopen bugs. */
#include <stdio.h>
+#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
@@ -12,21 +13,24 @@
goto the_end; \
}
-char buffer[256];
-
int
main (int argc, char *argv[])
{
- char *name;
+ char name[256];
FILE *fp = NULL;
int retval = 0;
int fd;
- name = tmpnam (NULL);
+ /* hack to get a tempfile name w/out using tmpname()
+ * as that func causes a link time warning */
+ sprintf(name, "%s-uClibc-test.XXXXXX", __FILE__);
+ fd = mkstemp(name);
+ close(fd);
+
fp = fopen (name, "w");
assert (fp != NULL)
- fputs ("foobar and baz", fp);
- fclose (fp);
+ assert (fputs ("foobar and baz", fp) > 0);
+ assert (fclose (fp) == 0);
fp = NULL;
fd = open (name, O_RDWR|O_CREAT);
@@ -35,11 +39,13 @@ main (int argc, char *argv[])
fp = fdopen (fd, "a");
assert (fp != NULL);
- assert (ftell (fp) == 14);
+ /* SuSv3 says that doing a fdopen() does not reset the file position,
+ * thus the '5' here is correct, not '14'. */
+ assert (ftell (fp) == 5);
the_end:
if (fp != NULL)
- fclose (fp);
+ assert (fclose (fp) == 0);
unlink (name);
return retval;