X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=lib%2Flibnfs-zdr.c;h=921ec5fe97a5ec3adb3503ad96edc5b937509c79;hb=bce63d849cdc3870d3e99fe8a968924a836aa63e;hp=7c971e003eaf104916c20eb8036fd5e6756ad8ab;hpb=f0cb804219549e4ebe6615e3a4f080e38cc3528d;p=deb_libnfs.git diff --git a/lib/libnfs-zdr.c b/lib/libnfs-zdr.c index 7c971e0..921ec5f 100644 --- a/lib/libnfs-zdr.c +++ b/lib/libnfs-zdr.c @@ -20,6 +20,10 @@ * i.e. zdrmem_create() buffers. * It aims to be compatible with normal rpcgen generated functions. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #ifdef WIN32 #include "win32_compat.h" #endif @@ -28,10 +32,18 @@ #include "aros_compat.h" #endif +#ifdef HAVE_ARPA_INET_H +#include +#endif + #include #include #include +#include #include "libnfs-zdr.h" +#include "libnfs.h" +#include "libnfs-raw.h" +#include "libnfs-private.h" struct opaque_auth _null_auth; @@ -106,7 +118,7 @@ bool_t libnfs_zdr_int(ZDR *zdrs, int32_t *i) return libnfs_zdr_u_int(zdrs, (uint32_t *)i); } -bool_t libnfs_zdr_u_quad_t(ZDR *zdrs, uint64_t *u) +bool_t libnfs_zdr_uint64_t(ZDR *zdrs, uint64_t *u) { if (zdrs->pos + 8 > zdrs->size) { return FALSE; @@ -133,9 +145,9 @@ bool_t libnfs_zdr_u_quad_t(ZDR *zdrs, uint64_t *u) return FALSE; } -bool_t libnfs_zdr_quad_t(ZDR *zdrs, int64_t *i) +bool_t libnfs_zdr_int64_t(ZDR *zdrs, int64_t *i) { - return libnfs_zdr_u_quad_t(zdrs, (uint64_t *)i); + return libnfs_zdr_uint64_t(zdrs, (uint64_t *)i); } bool_t libnfs_zdr_bytes(ZDR *zdrs, char **bufp, uint32_t *size, uint32_t maxsize) @@ -456,16 +468,18 @@ static bool_t libnfs_rpc_msg(struct rpc_context *rpc, ZDR *zdrs, struct rpc_msg switch (msg->direction) { case CALL: ret = libnfs_rpc_call_body(rpc, zdrs, &msg->body.cbody); - rpc_set_error(rpc, "libnfs_rpc_msg failed to encode CALL, " - "ret=%d: %s", ret, rpc_get_error(rpc)); + if (!ret) { + rpc_set_error(rpc, "libnfs_rpc_msg failed to encode " + "CALL, ret=%d: %s", ret, rpc_get_error(rpc)); + } return ret; - break; case REPLY: ret = libnfs_rpc_reply_body(rpc, zdrs, &msg->body.rbody); - rpc_set_error(rpc, "libnfs_rpc_msg failed to decode REPLY, " - "ret=%d: %s", ret, rpc_get_error(rpc)); + if (!ret) { + rpc_set_error(rpc, "libnfs_rpc_msg failed to decode " + "REPLY, ret=%d: %s", ret, rpc_get_error(rpc)); + } return ret; - break; default: rpc_set_error(rpc, "libnfs_rpc_msg failed to decode. " "Neither CALL not REPLY");