left=datasize;
while(left) {
- if((count=write(fd,data+datasize-left,left))==-1) {
+ if((count=write(fd,data+datasize-left,left<MTU?left:MTU))==-1) {
perror("[network] write call");
return N_ERROR;
}
left=datasize;
while(left) {
- if((count=read(fd,data,datasize))==-1) {
+ if((count=read(fd,data+datasize-left,left<MTU?left:MTU))==-1) {
perror("[network] read call");
return N_ERROR;
}