--- libaitrpc/src/cli.c 2012/05/16 14:46:29 1.9.2.6 +++ libaitrpc/src/cli.c 2012/05/17 12:52:30 1.9.2.8 @@ -3,7 +3,7 @@ * by Michael Pounov * * $Author: misho $ -* $Id: cli.c,v 1.9.2.6 2012/05/16 14:46:29 misho Exp $ +* $Id: cli.c,v 1.9.2.8 2012/05/17 12:52:30 misho Exp $ * ************************************************************************** The ELWIX and AITNET software is distributed under the following @@ -262,6 +262,7 @@ rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short rpc_addPktSession(&rpc->call_session, cli->cli_parent); rpc->call_argc = htons(io_arraySize(in_vars)); rpc->call_tag = htons(tag); + rpc->call_seq = htons(random() % USHRT_MAX); /* set reply */ rpc->call_req.flags = noreply ? RPC_NOREPLY : RPC_REPLY; @@ -336,7 +337,7 @@ rpc_cli_execCall(rpc_cli_t *cli, int noreply, u_short rpc_SetErr(ERPCMISMATCH, "Get wrong RPC reply"); return -1; } - if (ntohl(rpc->call_rep.ret) < 0 && ntohl(rpc->call_rep.eno)) { + if (ntohl(rpc->call_rep.eno) && ntohl(rpc->call_rep.ret) == -1) { rpc_SetErr(ntohl(rpc->call_rep.eno), "Server side: retcode=%d #%d %s", ntohl(rpc->call_rep.ret), ntohl(rpc->call_rep.eno), strerror(ntohl(rpc->call_rep.eno)));