From c31f81ac8b402e72acf552eb9b0740a700000e8b Mon Sep 17 00:00:00 2001 From: rsc Date: Tue, 1 Mar 2005 20:56:27 +0000 Subject: open: preserve error on failed open write: handle offset correctly for fswrite --- src/lib9pclient/open.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/lib9pclient/open.c') diff --git a/src/lib9pclient/open.c b/src/lib9pclient/open.c index e9fb981b..2317bbb7 100644 --- a/src/lib9pclient/open.c +++ b/src/lib9pclient/open.c @@ -7,6 +7,7 @@ CFid* fsopen(CFsys *fs, char *name, int mode) { + char e[ERRMAX]; CFid *fid; Fcall tx, rx; @@ -16,7 +17,9 @@ fsopen(CFsys *fs, char *name, int mode) tx.fid = fid->fid; tx.mode = mode; if(_fsrpc(fs, &tx, &rx, 0) < 0){ + rerrstr(e, sizeof e); fsclose(fid); + errstr(e, sizeof e); return nil; } fid->mode = mode; -- cgit v1.2.3