diff options
author | Felix Fietkau <nbd@openwrt.org> | 2011-09-05 08:25:51 +0400 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2011-09-05 08:25:51 +0400 |
commit | 34a6d05f9a84d0c6e07e12a976245a7d611d8e22 (patch) | |
tree | 36803abc2c10299e2ddaabd63438c40265e812f1 | |
parent | b1c320132e5adac3c3ba5545c66123b0618f8cd0 (diff) |
blob_attr_equal: un-inline, add pointer checks
-rw-r--r-- | blob.c | 15 | ||||
-rw-r--r-- | blob.h | 10 |
2 files changed, 16 insertions, 9 deletions
@@ -201,3 +201,18 @@ blob_parse(struct blob_attr *attr, struct blob_attr **data, const struct blob_at } return found; } + +bool +blob_attr_equal(const struct blob_attr *a1, const struct blob_attr *a2) +{ + if (!a1 && !a2) + return true; + + if (!a1 || !a2) + return false; + + if (blob_pad_len(a1) != blob_pad_len(a2)) + return false; + + return !memcmp(a1, a2, blob_pad_len(a1)); +} @@ -213,15 +213,7 @@ blob_next(const struct blob_attr *attr) return (struct blob_attr *) ((char *) attr + blob_pad_len(attr)); } -static inline bool -blob_attr_equal(const struct blob_attr *a1, const struct blob_attr *a2) -{ - if (blob_pad_len(a1) != blob_pad_len(a2)) - return false; - - return !memcmp(a1, a2, blob_pad_len(a1)); -} - +extern bool blob_attr_equal(const struct blob_attr *a1, const struct blob_attr *a2); extern int blob_buf_init(struct blob_buf *buf, int id); extern void blob_buf_free(struct blob_buf *buf); extern struct blob_attr *blob_new(struct blob_buf *buf, int id, int payload); |