diff options
author | Peter Wemm <peter@FreeBSD.org> | 2001-09-27 22:40:38 +0000 |
---|---|---|
committer | Peter Wemm <peter@FreeBSD.org> | 2001-09-27 22:40:38 +0000 |
commit | 1290984b33d076a7094cde3f4ff1d016880eea42 (patch) | |
tree | 0787f81479ebda92d49c697add33a3151d9b4813 /sys/nfs/nfs_common.h | |
parent | 373791582dc430e020ab69c794e6e209979420fd (diff) | |
download | src-1290984b33d076a7094cde3f4ff1d016880eea42.tar.gz src-1290984b33d076a7094cde3f4ff1d016880eea42.zip |
Make nfsm_dissect() have an obvious return value.
Notes
Notes:
svn path=/head/; revision=84057
Diffstat (limited to 'sys/nfs/nfs_common.h')
-rw-r--r-- | sys/nfs/nfs_common.h | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/sys/nfs/nfs_common.h b/sys/nfs/nfs_common.h index c43dd3e62165..a751a6752347 100644 --- a/sys/nfs/nfs_common.h +++ b/sys/nfs/nfs_common.h @@ -57,28 +57,28 @@ extern nfstype nfsv3_type[]; int nfs_adv(struct mbuf **, caddr_t *, int, int); void *nfsm_build_xx(int s, struct mbuf **mb, caddr_t *bpos); -int nfsm_dissect_xx(void **a, int s, struct mbuf **md, caddr_t *dpos); +void *nfsm_dissect_xx(int s, struct mbuf **md, caddr_t *dpos); int nfsm_strsiz_xx(int *s, int m, u_int32_t **tl, struct mbuf **mb, caddr_t *bpos); int nfsm_adv_xx(int s, u_int32_t **tl, struct mbuf **md, caddr_t *dpos); u_quad_t nfs_curusec(void); -int nfsm_disct(struct mbuf **, caddr_t *, int, int, caddr_t *); +void *nfsm_disct(struct mbuf **, caddr_t *, int, int); #define nfsm_build(c, s) \ - (c)nfsm_build_xx((s), &mb, &bpos); \ + (c)nfsm_build_xx((s), &mb, &bpos) -/* XXX 'c' arg (type) is not used */ -#define nfsm_dissect(a, c, s) \ -do { \ - int t1; \ - t1 = nfsm_dissect_xx((void **)&(a), (s), &md, &dpos); \ - if (t1) { \ - error = t1; \ +#define nfsm_dissect(c, s) \ +({ \ + void *ret; \ + ret = nfsm_dissect_xx((s), &md, &dpos); \ + if (ret == NULL) { \ + error = EBADRPC; \ m_freem(mrep); \ mrep = NULL; \ goto nfsmout; \ } \ -} while (0) + (c)ret; \ +}) #define nfsm_strsiz(s,m) \ do { \ |