diff options
author | Felix Fietkau <nbd@nbd.name> | 2016-11-29 16:02:54 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2016-11-29 16:02:57 +0300 |
commit | 77a629375d7387a33a59509d9d751a8798134cab (patch) | |
tree | d6bda70e0a254483b70fc96b1005695fc6ea4c8b /blob.h | |
parent | d0312bd9b1c81a8b428a32f29fba63279024fa76 (diff) |
blob/blobmsg: add explicit typecasts for attribute iterators
Fixes C++ compatibility.
Reported in https://forum.lede-project.org/t/blobmsg-for-each-attr-from-c/389
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'blob.h')
-rw-r--r-- | blob.h | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -240,7 +240,7 @@ blob_put_u64(struct blob_buf *buf, int id, uint64_t val) #define blob_put_int64 blob_put_u64 #define __blob_for_each_attr(pos, attr, rem) \ - for (pos = (void *) attr; \ + for (pos = (struct blob_attr *) attr; \ rem > 0 && (blob_pad_len(pos) <= rem) && \ (blob_pad_len(pos) >= sizeof(struct blob_attr)); \ rem -= blob_pad_len(pos), pos = blob_next(pos)) @@ -248,7 +248,7 @@ blob_put_u64(struct blob_buf *buf, int id, uint64_t val) #define blob_for_each_attr(pos, attr, rem) \ for (rem = attr ? blob_len(attr) : 0, \ - pos = attr ? blob_data(attr) : 0; \ + pos = (struct blob_attr *) (attr ? blob_data(attr) : NULL); \ rem > 0 && (blob_pad_len(pos) <= rem) && \ (blob_pad_len(pos) >= sizeof(struct blob_attr)); \ rem -= blob_pad_len(pos), pos = blob_next(pos)) |