Merge branch 'fixes' of https://github.com/socketpair/libnl
This commit is contained in:
commit
37f788f391
2 changed files with 15 additions and 6 deletions
|
@ -886,10 +886,10 @@ static void dump_attrs(FILE *ofd, struct nlattr *attrs, int attrlen,
|
|||
fprintf(ofd, " [ATTR PADDING] %d octets\n", alen);
|
||||
else
|
||||
fprintf(ofd, " [ATTR %02d%s] %d octets\n", nla_type(nla),
|
||||
nla->nla_type & NLA_F_NESTED ? " NESTED" : "",
|
||||
nla_is_nested(nla) ? " NESTED" : "",
|
||||
alen);
|
||||
|
||||
if (nla->nla_type & NLA_F_NESTED)
|
||||
if (nla_is_nested(nla))
|
||||
dump_attrs(ofd, nla_data(nla), alen, prefix+1);
|
||||
else
|
||||
dump_attr(ofd, nla, prefix);
|
||||
|
|
17
lib/socket.c
17
lib/socket.c
|
@ -120,7 +120,7 @@ static struct nl_sock *__alloc_socket(struct nl_cb *cb)
|
|||
return NULL;
|
||||
|
||||
sk->s_fd = -1;
|
||||
sk->s_cb = cb;
|
||||
sk->s_cb = nl_cb_get(cb);
|
||||
sk->s_local.nl_family = AF_NETLINK;
|
||||
sk->s_peer.nl_family = AF_NETLINK;
|
||||
sk->s_seq_expect = sk->s_seq_next = time(0);
|
||||
|
@ -141,12 +141,18 @@ static struct nl_sock *__alloc_socket(struct nl_cb *cb)
|
|||
struct nl_sock *nl_socket_alloc(void)
|
||||
{
|
||||
struct nl_cb *cb;
|
||||
|
||||
struct nl_sock *sk;
|
||||
|
||||
cb = nl_cb_alloc(default_cb);
|
||||
if (!cb)
|
||||
return NULL;
|
||||
|
||||
return __alloc_socket(cb);
|
||||
/* will increment cb reference count on success */
|
||||
sk = __alloc_socket(cb);
|
||||
|
||||
nl_cb_put(cb);
|
||||
|
||||
return sk;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -163,7 +169,7 @@ struct nl_sock *nl_socket_alloc_cb(struct nl_cb *cb)
|
|||
if (cb == NULL)
|
||||
BUG();
|
||||
|
||||
return __alloc_socket(nl_cb_get(cb));
|
||||
return __alloc_socket(cb);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -519,6 +525,9 @@ struct nl_cb *nl_socket_get_cb(const struct nl_sock *sk)
|
|||
|
||||
void nl_socket_set_cb(struct nl_sock *sk, struct nl_cb *cb)
|
||||
{
|
||||
if (cb == NULL)
|
||||
BUG();
|
||||
|
||||
nl_cb_put(sk->s_cb);
|
||||
sk->s_cb = nl_cb_get(cb);
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue