diff options
| author | charles forsyth <charles.forsyth@gmail.com> | 2015-06-13 16:34:09 +0100 |
|---|---|---|
| committer | charles forsyth <charles.forsyth@gmail.com> | 2015-06-13 16:34:09 +0100 |
| commit | 62d7827bc358c000db9ff48fe61bd28ac352a884 (patch) | |
| tree | 3369436e1f4ccfabd4bd5a58632d26934b868688 /appl/lib/ninep.b | |
| parent | 15cdcc9295cbd45a03f77559b9de402033858a41 (diff) | |
mkfiles/mkfile-Linux-386
Diffstat (limited to 'appl/lib/ninep.b')
| -rw-r--r-- | appl/lib/ninep.b | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/appl/lib/ninep.b b/appl/lib/ninep.b index 91467f0b..90536d0b 100644 --- a/appl/lib/ninep.b +++ b/appl/lib/ninep.b @@ -847,6 +847,21 @@ Rmsg.read(fd: ref Sys->FD, msglim: int): ref Rmsg return m; } +Rmsg.write(m: self ref Rmsg, fd: ref Sys->FD, msize: int): int +{ + if(msize == 0) + m = ref Rmsg.Error(m.tag, "Tversion not seen"); + d := m.pack(); + if(msize != 0 && len d > msize){ + m = ref Rmsg.Error(m.tag, "9P reply didn't fit"); + d = m.pack(); + } + n := len d; + if(sys->write(fd, d, n) != n) + return -1; + return 0; +} + dir2text(d: Sys->Dir): string { return sys->sprint("Dir(\"%s\",\"%s\",\"%s\",%s,8r%uo,%d,%d,%bd,16r%ux,%d)", |
