diff options
author | Jakub Jelinek <jakub@redhat.com> | 2006-12-14 09:06:34 +0000 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2006-12-14 09:06:34 +0000 |
commit | b51633c5723e311ffd59a2f5ec5759914ed9476b (patch) | |
tree | 117191337a4d725029756cbfc1bb2ff545e0606c /libio/tst-setvbuf1.c | |
parent | 985d254c909903787e4bbc517af30406e0e9df8b (diff) |
Updated to fedora-glibc-20061214T0850cvs/fedora-glibc-2_5_90-13
Diffstat (limited to 'libio/tst-setvbuf1.c')
-rw-r--r-- | libio/tst-setvbuf1.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/libio/tst-setvbuf1.c b/libio/tst-setvbuf1.c new file mode 100644 index 0000000000..9222d4050d --- /dev/null +++ b/libio/tst-setvbuf1.c @@ -0,0 +1,39 @@ +/* Dereived from the test case in BZ #2337. */ +#include <errno.h> +#include <error.h> +#include <fcntl.h> +#include <locale.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> +#include <wchar.h> + + +static char buf[512] __attribute__ ((aligned (4096))); + + +static int +do_test (void) +{ + setlocale (LC_ALL, "de_DE.UTF-8"); + + FILE *fp = fdopen (dup (STDOUT_FILENO), "a"); + if (fp == NULL) + error (EXIT_FAILURE, errno, "fdopen(,\"a\")"); + + setvbuf (fp, buf, _IOFBF, sizeof (buf)); + + /* fwprintf to unbuffered stream. */ + fwprintf (fp, L"hello.\n"); + + fclose (fp); + + /* touch my buffer */ + buf[45] = 'a'; + + return 0; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" |