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 <fcall.h>
4 2277c5d7 2004-03-21 devnull #include <thread.h>
5 2277c5d7 2004-03-21 devnull #include "9p.h"
6 2277c5d7 2004-03-21 devnull
7 2277c5d7 2004-03-21 devnull void
8 2277c5d7 2004-03-21 devnull readbuf(Req *r, void *s, long n)
9 2277c5d7 2004-03-21 devnull {
10 2277c5d7 2004-03-21 devnull r->ofcall.count = r->ifcall.count;
11 2277c5d7 2004-03-21 devnull if(r->ifcall.offset >= n){
12 2277c5d7 2004-03-21 devnull r->ofcall.count = 0;
13 2277c5d7 2004-03-21 devnull return;
14 2277c5d7 2004-03-21 devnull }
15 2277c5d7 2004-03-21 devnull if(r->ifcall.offset+r->ofcall.count > n)
16 2277c5d7 2004-03-21 devnull r->ofcall.count = n - r->ifcall.offset;
17 2277c5d7 2004-03-21 devnull memmove(r->ofcall.data, (char*)s+r->ifcall.offset, r->ofcall.count);
18 2277c5d7 2004-03-21 devnull }
19 2277c5d7 2004-03-21 devnull
20 2277c5d7 2004-03-21 devnull void
21 2277c5d7 2004-03-21 devnull readstr(Req *r, char *s)
22 2277c5d7 2004-03-21 devnull {
23 39e5957a 2006-02-05 devnull if(s == nil)
24 39e5957a 2006-02-05 devnull r->ofcall.count = 0;
25 39e5957a 2006-02-05 devnull else
26 39e5957a 2006-02-05 devnull readbuf(r, s, strlen(s));
27 2277c5d7 2004-03-21 devnull }