blob: add blob_memdup()
This commit is contained in:
parent
0608d12995
commit
5cfe2696f0
2 changed files with 15 additions and 0 deletions
14
blob.c
14
blob.c
|
@ -243,3 +243,17 @@ blob_attr_equal(const struct blob_attr *a1, const struct blob_attr *a2)
|
||||||
|
|
||||||
return !memcmp(a1, a2, blob_pad_len(a1));
|
return !memcmp(a1, a2, blob_pad_len(a1));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct blob_attr *
|
||||||
|
blob_memdup(struct blob_attr *attr)
|
||||||
|
{
|
||||||
|
struct blob_attr *ret;
|
||||||
|
int size = blob_pad_len(attr);
|
||||||
|
|
||||||
|
ret = malloc(size);
|
||||||
|
if (!ret)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
memcpy(ret, attr, size);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
1
blob.h
1
blob.h
|
@ -242,6 +242,7 @@ extern void blob_nest_end(struct blob_buf *buf, void *cookie);
|
||||||
extern struct blob_attr *blob_put(struct blob_buf *buf, int id, const void *ptr, int len);
|
extern struct blob_attr *blob_put(struct blob_buf *buf, int id, const void *ptr, int len);
|
||||||
extern bool blob_check_type(const void *ptr, int len, int type);
|
extern bool blob_check_type(const void *ptr, int len, int type);
|
||||||
extern int blob_parse(struct blob_attr *attr, struct blob_attr **data, const struct blob_attr_info *info, int max);
|
extern int blob_parse(struct blob_attr *attr, struct blob_attr **data, const struct blob_attr_info *info, int max);
|
||||||
|
extern struct blob_attr *blob_memdup(struct blob_attr *attr);
|
||||||
|
|
||||||
static inline struct blob_attr *
|
static inline struct blob_attr *
|
||||||
blob_put_string(struct blob_buf *buf, int id, const char *str)
|
blob_put_string(struct blob_buf *buf, int id, const char *str)
|
||||||
|
|
Loading…
Reference in a new issue