libowfat/buffer/buffer_stubborn.c

16 lines
293 B
C
Raw Normal View History

2001-02-04 01:28:45 +00:00
#include <errno.h>
#include "buffer.h"
int buffer_stubborn(ssize_t (*op)(),int fd,const char* buf, size_t len,void* cookie) {
2001-02-04 01:28:45 +00:00
int w;
while (len) {
if ((w=op(fd,buf,len,cookie))<0) {
2001-02-04 01:28:45 +00:00
if (errno == EINTR) continue;
return -1;
};
buf+=w;
len-=w;
}
return 0;
}