#include <u.h> | |
#include <libc.h> | |
#include <fcall.h> | |
#include <thread.h> | |
#include "9p.h" | |
void | |
readbuf(Req *r, void *s, long n) | |
{ | |
r->ofcall.count = r->ifcall.count; | |
if(r->ifcall.offset >= n){ | |
r->ofcall.count = 0; | |
return; | |
} | |
if(r->ifcall.offset+r->ofcall.count > n) | |
r->ofcall.count = n - r->ifcall.offset; | |
memmove(r->ofcall.data, (char*)s+r->ifcall.offset, r->ofcall.count); | |
} | |
void | |
readstr(Req *r, char *s) | |
{ | |
if(s == nil) | |
r->ofcall.count = 0; | |
else | |
readbuf(r, s, strlen(s)); | |
} |