X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Ffwrite.c;h=8765d0be7e23c70507c1779e359674fc948624b3;hb=69b20c9293697ef467cd4c0cadcad9cc4bcdc488;hp=4eece021380b9a43ed0925fa3a9f2c6784e1cca9;hpb=34893ecc2200dc7017c36a54cb6c5f4c2378b5ec;p=pdclib diff --git a/functions/stdio/fwrite.c b/functions/stdio/fwrite.c index 4eece02..8765d0b 100644 --- a/functions/stdio/fwrite.c +++ b/functions/stdio/fwrite.c @@ -1,8 +1,35 @@ -// ---------------------------------------------------------------------------- -// $Id$ -// ---------------------------------------------------------------------------- -// Public Domain C Library - http://pdclib.sourceforge.net -// This code is Public Domain. Use, modify, and redistribute at will. -// ---------------------------------------------------------------------------- - -size_t fwrite( const void * restrict ptr, size_t size, size_t nelem, FILE * restrict stream ) { /* TODO */ }; +/* $Id$ */ + +/* fwrite( const void *, size_t, size_t, FILE * ) + + This file is part of the Public Domain C Library (PDCLib). + Permission is granted to use, modify, and / or redistribute at will. +*/ + +#include +#include <_PDCLIB_glue.h> + +#ifndef REGTEST + +size_t fwrite( const void * _PDCLIB_restrict ptr, size_t size, size_t nmemb, struct _PDCLIB_file_t * _PDCLIB_restrict stream ) +{ + return _PDCLIB_write( stream->handle, ptr, size * nmemb ); +} + +#endif + +#ifdef TEST +#include <_PDCLIB_test.h> + +int main( void ) +{ + FILE * fh; + TESTCASE( ( fh = fopen( "testfile", "w" ) ) != NULL ); + TESTCASE( fwrite( "SUCCESS testing fwrite()\n", 1, 25, fh ) == 25 ); + TESTCASE( fclose( fh ) == 0 ); + /* TODO: Add readback test. */ + TESTCASE( remove( "testfile" ) == 0 ); + return TEST_RESULTS; +} + +#endif