X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Ffreopen.c;h=29d72eb77499b144be050080377ca7875720e971;hb=689f876fb2420ed2ce45aca58dc39f05e1eb5c2d;hp=482b82025d225cf5d5cdbb2b1e9a2e0000177ba0;hpb=71712a8bb92d6a10218e3356c6d26554dc2633dd;p=pdclib diff --git a/functions/stdio/freopen.c b/functions/stdio/freopen.c index 482b820..29d72eb 100644 --- a/functions/stdio/freopen.c +++ b/functions/stdio/freopen.c @@ -1,5 +1,3 @@ -/* $Id$ */ - /* freopen( const char *, const char *, FILE * ) This file is part of the Public Domain C Library (PDCLib). @@ -7,12 +5,12 @@ */ #include +#include +#include #ifndef REGTEST -#include <_PDCLIB_glue.h> -#include -#include +#include "_PDCLIB_glue.h" struct _PDCLIB_file_t * freopen( const char * _PDCLIB_restrict filename, const char * _PDCLIB_restrict mode, struct _PDCLIB_file_t * _PDCLIB_restrict stream ) { @@ -77,11 +75,29 @@ struct _PDCLIB_file_t * freopen( const char * _PDCLIB_restrict filename, const c #endif #ifdef TEST -#include <_PDCLIB_test.h> + +#include "_PDCLIB_test.h" int main( void ) { - TESTCASE( NO_TESTDRIVER ); + FILE * fin; + FILE * fout; + TESTCASE( ( fin = fopen( testfile1, "wb+" ) ) != NULL ); + TESTCASE( fputc( 'x', fin ) == 'x' ); + TESTCASE( fclose( fin ) == 0 ); + TESTCASE( ( fin = freopen( testfile1, "rb", stdin ) ) != NULL ); + TESTCASE( getchar() == 'x' ); + + TESTCASE( ( fout = freopen( testfile2, "wb+", stdout ) ) != NULL ); + TESTCASE( putchar( 'x' ) == 'x' ); + rewind( fout ); + TESTCASE( fgetc( fout ) == 'x' ); + + TESTCASE( fclose( fin ) == 0 ); + TESTCASE( fclose( fout ) == 0 ); + TESTCASE( remove( testfile1 ) == 0 ); + TESTCASE( remove( testfile2 ) == 0 ); + return TEST_RESULTS; }