slight optimization for sending 0 bytes from a file

(also fixes a FreeBSD-current sendfile breakage)
master
leitner 21 years ago
parent d04293fd4f
commit f26451c086

@ -1,7 +1,9 @@
#include "iob_internal.h" #include "iob_internal.h"
int iob_addfile(io_batch* b,int64 fd,uint64 off,uint64 n) { int iob_addfile(io_batch* b,int64 fd,uint64 off,uint64 n) {
iob_entry* e=array_allocate(&b->b,sizeof(iob_entry), iob_entry* e;
if (n==0) return 1;
e=array_allocate(&b->b,sizeof(iob_entry),
array_length(&b->b,sizeof(iob_entry))); array_length(&b->b,sizeof(iob_entry)));
if (!e) return 0; if (!e) return 0;
e->type=FROMFILE; e->type=FROMFILE;

@ -1,8 +1,10 @@
#include "iob_internal.h" #include "iob_internal.h"
int iob_addfile_close(io_batch* b,int64 fd,uint64 off,uint64 n) { int iob_addfile_close(io_batch* b,int64 fd,uint64 off,uint64 n) {
iob_entry* e=array_allocate(&b->b,sizeof(iob_entry), iob_entry* e;
array_length(&b->b,sizeof(iob_entry))); if (n==0) return 1;
e=array_allocate(&b->b,sizeof(iob_entry),
array_length(&b->b,sizeof(iob_entry)));
if (!e) return 0; if (!e) return 0;
e->type=FROMFILE_CLOSE; e->type=FROMFILE_CLOSE;
e->fd=fd; e->fd=fd;

Loading…
Cancel
Save