/*
 * fwrite.c
 */

#include <errno.h>
#include <unistd.h>
#include <stdio.h>

size_t _fwrite(const void *buf, size_t count, FILE *f)
{
	size_t bytes = 0;
	ssize_t rv;
	const char *p = buf;

	while (count) {
		rv = write(fileno(f), p, count);
		if (rv == -1) {
			if (errno == EINTR) {
				errno = 0;
				continue;
			} else
				break;
		} else if (rv == 0) {
			break;
		}

		p += rv;
		bytes += rv;
		count -= rv;
	}

	return bytes;
}
