libnl-tiny: Fix for c++ compatibility

g++ compiler issued some errors like "invalid conversion from void* to *struct nl_attr"
when compiling cpp file which calls libnl-tiny functions. (it's OK with gcc)
Also see https://dev.openwrt.org/ticket/7854

Patch from: kentarou matsuyama <matsuyama@thinktube.com>

SVN-Revision: 25101
This commit is contained in:
Felix Fietkau 2011-01-26 11:33:38 +00:00
parent 516dcae1c7
commit 9a37eaeacf
4 changed files with 9 additions and 9 deletions

View file

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=libnl-tiny PKG_NAME:=libnl-tiny
PKG_VERSION:=0.1 PKG_VERSION:=0.1
PKG_RELEASE:=1 PKG_RELEASE:=2
include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/package.mk

View file

@ -508,7 +508,7 @@ static inline int nla_nest_end(struct nl_msg *msg, struct nlattr *start)
static inline int nla_parse_nested(struct nlattr *tb[], int maxtype, struct nlattr *nla, static inline int nla_parse_nested(struct nlattr *tb[], int maxtype, struct nlattr *nla,
struct nla_policy *policy) struct nla_policy *policy)
{ {
return nla_parse(tb, maxtype, nla_data(nla), nla_len(nla), policy); return nla_parse(tb, maxtype, (struct nlattr *)nla_data(nla), nla_len(nla), policy);
} }
/** /**
@ -563,8 +563,8 @@ static inline int nla_strcmp(const struct nlattr *nla, const char *str)
*/ */
static inline size_t nla_strlcpy(char *dst, const struct nlattr *nla, size_t dstsize) static inline size_t nla_strlcpy(char *dst, const struct nlattr *nla, size_t dstsize)
{ {
size_t srclen = nla_len(nla); size_t srclen = (size_t)nla_len(nla);
char *src = nla_data(nla); char *src = (char*)nla_data(nla);
if (srclen > 0 && src[srclen - 1] == '\0') if (srclen > 0 && src[srclen - 1] == '\0')
srclen--; srclen--;
@ -713,7 +713,7 @@ static inline size_t nla_strlcpy(char *dst, const struct nlattr *nla, size_t dst
* @arg rem initialized to len, holds bytes currently remaining in stream * @arg rem initialized to len, holds bytes currently remaining in stream
*/ */
#define nla_for_each_nested(pos, nla, rem) \ #define nla_for_each_nested(pos, nla, rem) \
for (pos = nla_data(nla), rem = nla_len(nla); \ for (pos = (struct nlattr *)nla_data(nla), rem = nla_len(nla); \
nla_ok(pos, rem); \ nla_ok(pos, rem); \
pos = nla_next(pos, &(rem))) pos = nla_next(pos, &(rem)))

View file

@ -172,7 +172,7 @@ static inline int nl_cb_set_all(struct nl_cb *cb, enum nl_cb_kind kind,
int i, err; int i, err;
for (i = 0; i <= NL_CB_TYPE_MAX; i++) { for (i = 0; i <= NL_CB_TYPE_MAX; i++) {
err = nl_cb_set(cb, i, kind, func, arg); err = nl_cb_set(cb,(enum nl_cb_type)i, kind, func, arg);
if (err < 0) if (err < 0)
return err; return err;
} }

View file

@ -144,7 +144,7 @@ static inline int nlmsg_len(const struct nlmsghdr *nlh)
*/ */
static inline struct nlattr *nlmsg_attrdata(const struct nlmsghdr *nlh, int hdrlen) static inline struct nlattr *nlmsg_attrdata(const struct nlmsghdr *nlh, int hdrlen)
{ {
unsigned char *data = nlmsg_data(nlh); unsigned char *data = (unsigned char*)nlmsg_data(nlh);
return (struct nlattr *) (data + NLMSG_ALIGN(hdrlen)); return (struct nlattr *) (data + NLMSG_ALIGN(hdrlen));
} }
@ -160,7 +160,7 @@ static inline int nlmsg_attrlen(const struct nlmsghdr *nlh, int hdrlen)
static inline int nlmsg_valid_hdr(const struct nlmsghdr *nlh, int hdrlen) static inline int nlmsg_valid_hdr(const struct nlmsghdr *nlh, int hdrlen)
{ {
if (nlh->nlmsg_len < nlmsg_msg_size(hdrlen)) if (nlh->nlmsg_len < (uint)nlmsg_msg_size(hdrlen))
return 0; return 0;
return 1; return 1;
@ -263,7 +263,7 @@ static inline int nlmsg_expand(struct nl_msg *n, size_t newlen)
if (tmp == NULL) if (tmp == NULL)
return -NLE_NOMEM; return -NLE_NOMEM;
n->nm_nlh = tmp; n->nm_nlh = (struct nlmsghdr*)tmp;
n->nm_size = newlen; n->nm_size = newlen;
return 0; return 0;