Blob
1 #include <u.h>2 #include <libc.h>3 #include <fcall.h>4 #include <thread.h>5 #include "9p.h"7 void8 readbuf(Req *r, void *s, long n)9 {10 r->ofcall.count = r->ifcall.count;11 if(r->ifcall.offset >= n){12 r->ofcall.count = 0;13 return;14 }15 if(r->ifcall.offset+r->ofcall.count > n)16 r->ofcall.count = n - r->ifcall.offset;17 memmove(r->ofcall.data, (char*)s+r->ifcall.offset, r->ofcall.count);18 }20 void21 readstr(Req *r, char *s)22 {23 if(s == nil)24 r->ofcall.count = 0;25 else26 readbuf(r, s, strlen(s));27 }