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));
|
||||
}
|
||||
|
||||
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 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 struct blob_attr *blob_memdup(struct blob_attr *attr);
|
||||
|
||||
static inline struct blob_attr *
|
||||
blob_put_string(struct blob_buf *buf, int id, const char *str)
|
||||
|
|
Loading…
Reference in a new issue