(2006-08-06) rescue-bootcd
This commit is contained in:
32
extra/syslinux-3.09/com32/lib/fwrite.c
Normal file
32
extra/syslinux-3.09/com32/lib/fwrite.c
Normal file
@@ -0,0 +1,32 @@
|
||||
/*
|
||||
* 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 == EAGAIN )
|
||||
continue;
|
||||
else
|
||||
break;
|
||||
} else if ( rv == 0 ) {
|
||||
break;
|
||||
}
|
||||
|
||||
p += rv;
|
||||
bytes += rv;
|
||||
count -= rv;
|
||||
}
|
||||
|
||||
return bytes;
|
||||
}
|
||||
Reference in New Issue
Block a user