Skip to content

kvlist: add _s APIs to pass str length as arg #36

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Feb 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions include/cfl/cfl_kvlist.h
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,55 @@ int cfl_kvlist_count(struct cfl_kvlist *list);
struct cfl_variant *cfl_kvlist_fetch(struct cfl_kvlist *list, char *key);
int cfl_kvlist_print(FILE *fp, struct cfl_kvlist *list);

int cfl_kvlist_insert_string_s(struct cfl_kvlist *list,
char *key, size_t key_size,
char *value, size_t value_size);

int cfl_kvlist_insert_bytes_s(struct cfl_kvlist *list,
char *key, size_t key_size,
char *value,
size_t value_length);

int cfl_kvlist_insert_reference_s(struct cfl_kvlist *list,
char *key, size_t key_size,
void *value);

int cfl_kvlist_insert_bool_s(struct cfl_kvlist *list,
char *key, size_t key_size, int value);

int cfl_kvlist_insert_int64_s(struct cfl_kvlist *list,
char *key, size_t key_size,
int64_t value);

int cfl_kvlist_insert_uint64_s(struct cfl_kvlist *list,
char *key, size_t key_size,
uint64_t value);

int cfl_kvlist_insert_double_s(struct cfl_kvlist *list,
char *key, size_t key_size,
double value);

int cfl_kvlist_insert_array_s(struct cfl_kvlist *list,
char *key, size_t key_size,
struct cfl_array *value);

int cfl_kvlist_insert_new_array_s(struct cfl_kvlist *list,
char *key, size_t key_size,
size_t size);

int cfl_kvlist_insert_kvlist_s(struct cfl_kvlist *list,
char *key, size_t key_size,
struct cfl_kvlist *value);

int cfl_kvlist_insert_s(struct cfl_kvlist *list,
char *key, size_t key_size,
struct cfl_variant *value);

struct cfl_variant *cfl_kvlist_fetch_s(struct cfl_kvlist *list, char *key, size_t key_size);

int cfl_kvlist_contains(struct cfl_kvlist *kvlist, char *name);
int cfl_kvlist_remove(struct cfl_kvlist *kvlist, char *name);
void cfl_kvpair_destroy(struct cfl_kvpair *pair);


#endif
3 changes: 2 additions & 1 deletion include/cfl/cfl_variant.h
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,10 @@ struct cfl_variant {
struct cfl_kvlist *as_kvlist;
} data;
};

int cfl_variant_print(FILE *fp, struct cfl_variant *val);
struct cfl_variant *cfl_variant_create_from_string(char *value);
struct cfl_variant *cfl_variant_create_from_string_n(char *value, int len);
struct cfl_variant *cfl_variant_create_from_string_s(char *value, size_t value_length);
struct cfl_variant *cfl_variant_create_from_bytes(char *value, size_t length);
struct cfl_variant *cfl_variant_create_from_bool(int value);
struct cfl_variant *cfl_variant_create_from_int64(int64_t value);
Expand Down
Loading