Skip to content

Commit 8245f6c

Browse files
committed
Slightly improve RPC error messages
1 parent b3f2b8c commit 8245f6c

File tree

1 file changed

+24
-3
lines changed

1 file changed

+24
-3
lines changed

src/error.c

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,30 @@ error_set_rpc(struct error *err, int errcode, const char *fmt, ...)
7676
va_list ap;
7777
int rv;
7878

79-
errmsg = clnt_sperrno((enum clnt_stat)errcode);
80-
if (!strncmp(errmsg, "RPC: ", 5))
81-
errmsg += 5;
79+
switch (errcode) {
80+
case RPC_CANTSEND:
81+
case RPC_CANTRECV:
82+
case RPC_CANTENCODEARGS:
83+
case RPC_CANTDECODERES:
84+
case RPC_CANTDECODEARGS:
85+
errmsg = "failed to process request";
86+
break;
87+
case RPC_VERSMISMATCH:
88+
case RPC_PROGUNAVAIL:
89+
case RPC_PROGVERSMISMATCH:
90+
case RPC_PROCUNAVAIL:
91+
case RPC_UNKNOWNHOST:
92+
case RPC_UNKNOWNPROTO:
93+
case RPC_PMAPFAILURE:
94+
case RPC_PROGNOTREGISTERED:
95+
errmsg = "failed to perform handshake";
96+
break;
97+
default:
98+
errmsg = clnt_sperrno((enum clnt_stat)errcode);
99+
if (!strncmp(errmsg, "RPC: ", 5))
100+
errmsg += 5;
101+
break;
102+
}
82103
va_start(ap, fmt);
83104
rv = error_vset(err, errcode, errmsg, fmt, ap);
84105
va_end(ap);

0 commit comments

Comments
 (0)