Blame


1 2277c5d7 2004-03-21 devnull #include <u.h>
2 2277c5d7 2004-03-21 devnull #include <libc.h>
3 2277c5d7 2004-03-21 devnull #include <auth.h>
4 2277c5d7 2004-03-21 devnull #include <fcall.h>
5 2277c5d7 2004-03-21 devnull #include <thread.h>
6 2277c5d7 2004-03-21 devnull #include "9p.h"
7 2277c5d7 2004-03-21 devnull
8 2277c5d7 2004-03-21 devnull void
9 2277c5d7 2004-03-21 devnull readbuf(Req *r, void *s, long n)
10 2277c5d7 2004-03-21 devnull {
11 2277c5d7 2004-03-21 devnull r->ofcall.count = r->ifcall.count;
12 2277c5d7 2004-03-21 devnull if(r->ifcall.offset >= n){
13 2277c5d7 2004-03-21 devnull r->ofcall.count = 0;
14 2277c5d7 2004-03-21 devnull return;
15 2277c5d7 2004-03-21 devnull }
16 2277c5d7 2004-03-21 devnull if(r->ifcall.offset+r->ofcall.count > n)
17 2277c5d7 2004-03-21 devnull r->ofcall.count = n - r->ifcall.offset;
18 2277c5d7 2004-03-21 devnull memmove(r->ofcall.data, (char*)s+r->ifcall.offset, r->ofcall.count);
19 2277c5d7 2004-03-21 devnull }
20 2277c5d7 2004-03-21 devnull
21 2277c5d7 2004-03-21 devnull void
22 2277c5d7 2004-03-21 devnull readstr(Req *r, char *s)
23 2277c5d7 2004-03-21 devnull {
24 2277c5d7 2004-03-21 devnull readbuf(r, s, strlen(s));
25 2277c5d7 2004-03-21 devnull }