Defined format specifier %M' which behaves as
%m', but takes the
error code as an argument. Use it in socket hooks where we really shouldn't rely on errno containing the right value or even existing.
This commit is contained in:
parent
85368cd4b7
commit
53943a0022
3 changed files with 8 additions and 2 deletions
|
@ -198,6 +198,9 @@ int bvsnprintf(char *buf, int size, const char *fmt, va_list args)
|
||||||
case 'm':
|
case 'm':
|
||||||
s = strerror(errno);
|
s = strerror(errno);
|
||||||
goto str;
|
goto str;
|
||||||
|
case 'M':
|
||||||
|
s = strerror(va_arg(args, int));
|
||||||
|
goto str;
|
||||||
case 's':
|
case 's':
|
||||||
s = va_arg(args, char *);
|
s = va_arg(args, char *);
|
||||||
if (!s)
|
if (!s)
|
||||||
|
|
|
@ -158,7 +158,10 @@ bgp_sock_err(sock *sk, int err)
|
||||||
struct bgp_conn *conn = sk->data;
|
struct bgp_conn *conn = sk->data;
|
||||||
struct bgp_proto *p = conn->bgp;
|
struct bgp_proto *p = conn->bgp;
|
||||||
|
|
||||||
BGP_TRACE(D_EVENTS, "Connection closed (socket error %d)", err);
|
if (err)
|
||||||
|
BGP_TRACE(D_EVENTS, "Connection lost (%M)", err);
|
||||||
|
else
|
||||||
|
BGP_TRACE(D_EVENTS, "Connection closed");
|
||||||
switch (conn->state)
|
switch (conn->state)
|
||||||
{
|
{
|
||||||
case BS_CONNECT:
|
case BS_CONNECT:
|
||||||
|
|
|
@ -75,7 +75,7 @@ rip_tx_err( sock *s, int err )
|
||||||
{
|
{
|
||||||
struct rip_connection *c = s->data;
|
struct rip_connection *c = s->data;
|
||||||
struct proto *p = c->proto;
|
struct proto *p = c->proto;
|
||||||
log( L_ERR "Unexpected error at rip transmit: %m" );
|
log( L_ERR "Unexpected error at rip transmit: %M", err );
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
Loading…
Reference in a new issue