Files
rosetta/lib/libc/io/stdio/fwrite.c
T

30 lines
436 B
C
Raw Normal View History

#include "file.h"
#include <unistd.h>
size_t fwrite(
const void *buf,
size_t size,
size_t count,
struct __opaque_file *stream)
{
__libc_file_lock(stream);
size_t total = size * count;
if (total == 0) {
return 0;
}
long ret = __libc_file_write(stream, buf, total);
if (ret == 0) {
stream->f_flags |= FILE_EOF;
}
if (ret < 0) {
stream->f_flags |= FILE_ERR;
ret = 0;
}
__libc_file_unlock(stream);
return ret;
}