X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=lib%2Flibnfs-zdr.c;h=b6b3ed984bfc35edcf2ed3e0be693861cf88500b;hb=10a1a78115069098419d32a042d99a56f62fb642;hp=7c971e003eaf104916c20eb8036fd5e6756ad8ab;hpb=f0cb804219549e4ebe6615e3a4f080e38cc3528d;p=deb_libnfs.git diff --git a/lib/libnfs-zdr.c b/lib/libnfs-zdr.c index 7c971e0..b6b3ed9 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,9 +32,14 @@ #include "aros_compat.h" #endif +#ifdef HAVE_ARPA_INET_H +#include +#endif + #include #include #include +#include #include "libnfs-zdr.h" struct opaque_auth _null_auth; @@ -456,16 +465,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");