blob: d2086cbc48392514eefd784c6c4b3093ac30d68b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <stdio.h>
#include <sys/types.h>
size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) {
if (!stream->has_control_over_the_fd) {
if (stream->append) {
fseek(stream, 0, SEEK_END);
}
}
// FIXME: Check for overflow
size_t bytes_to_write = nmemb * size;
size_t rc = stream->write(stream, ptr, bytes_to_write);
// On success, fwrite() return the number of items
// written.
rc /= size;
fflush(stream);
return rc;
}
|