30 lines
457 B
C
30 lines
457 B
C
|
/*
|
||
|
* fwrite.c - write a number of array elements on a file
|
||
|
*/
|
||
|
/* $Header$ */
|
||
|
|
||
|
#include <stdio.h>
|
||
|
|
||
|
size_t
|
||
|
fwrite(const void *ptr, size_t size, size_t nmemb,
|
||
|
register FILE *stream)
|
||
|
{
|
||
|
register const unsigned char *cp = ptr;
|
||
|
register size_t s;
|
||
|
size_t ndone = 0;
|
||
|
|
||
|
if (size)
|
||
|
while ( ndone < nmemb ) {
|
||
|
s = size;
|
||
|
do {
|
||
|
if (putc((int)*cp, stream)
|
||
|
== EOF)
|
||
|
return ndone;
|
||
|
cp++;
|
||
|
}
|
||
|
while (--s);
|
||
|
ndone++;
|
||
|
}
|
||
|
return ndone;
|
||
|
}
|