ack/lang/cem/libcc.ansi/stdio/fwrite.c

31 lines
454 B
C
Raw Normal View History

1989-05-30 13:34:25 +00:00
/*
* fwrite.c - write a number of array elements on a file
*/
1994-06-24 14:02:31 +00:00
/* $Id$ */
1989-05-30 13:34:25 +00:00
2018-06-21 20:33:47 +00:00
#include <stdio.h>
1989-05-30 13:34:25 +00:00
size_t
2018-06-21 20:33:47 +00:00
fwrite(const void* ptr, size_t size, size_t nmemb,
register FILE* stream)
1989-05-30 13:34:25 +00:00
{
2018-06-21 20:33:47 +00:00
register const unsigned char* cp = ptr;
1989-12-18 15:04:14 +00:00
register size_t s;
size_t ndone = 0;
1989-05-30 13:34:25 +00:00
if (size)
2018-06-21 20:33:47 +00:00
while (ndone < nmemb)
{
1989-05-30 13:34:25 +00:00
s = size;
2018-06-21 20:33:47 +00:00
do
{
1989-12-18 15:04:14 +00:00
if (putc((int)*cp, stream)
2018-06-21 20:33:47 +00:00
== EOF)
1989-06-26 10:37:05 +00:00
return ndone;
1989-12-18 15:04:14 +00:00
cp++;
2018-06-21 20:33:47 +00:00
} while (--s);
1989-05-30 13:34:25 +00:00
ndone++;
}
1989-06-26 10:37:05 +00:00
return ndone;
1989-05-30 13:34:25 +00:00
}