56 (*pair) = TAILQ_FIRST(map);
99 if (strcmp(attr->k, k) == 0) {
114 if (strncmp(attr->k, k, k_len) == 0) {
129 TAILQ_INSERT_TAIL(map, attr, tailq);
155 TAILQ_INSERT_TAIL(map, attr, tailq);
182 if (strcmp(attr->k, k) == 0)
202 if (strncmp(attr->k, k, k_len) == 0)
219 const char *
key, *val, *val2;
220 while ((key = va_arg(vp,
const char *))) {
221 val = va_arg(vp,
const char *);
231 if (!pair || (!key && !value))
return HPD_E_NULL;
233 if (key) (*key) = pair->k;
234 if (value) (*value) = pair->v;
hpd_error_t hpd_map_v_matches(hpd_map_t *map, va_list vp)
static hpd_error_t map_insert_n(hpd_map_t *map, const char *k, size_t k_len, const char *v, size_t v_len)
#define HPD_STR_CPY(DST, SRC)
hpd_error_t hpd_map_remove(hpd_map_t *map, hpd_pair_t *pair)
static hpd_error_t map_insert(hpd_map_t *map, const char *k, const char *v)
hpd_error_t hpd_pair_get(const hpd_pair_t *pair, const char **key, const char **value)
[hpd_action_t functions]
#define HPD_STR_N_CPY(DST, SRC, LEN)
#define HPD_CALLOC(PTR, NUM, CAST)
Allocates and zeros a structure.
hpd_error_t hpd_map_alloc(hpd_map_t **map)
TAILQ_HEAD(hpd_map, hpd_pair)
hpd_error_t hpd_map_set(hpd_map_t *map, const char *k, const char *v)
enum hpd_error hpd_error_t
hpd_error_t hpd_map_get(hpd_map_t *map, const char *k, const char **v)
hpd_error_t hpd_map_next(hpd_pair_t **pair)
static hpd_error_t map_replace(hpd_pair_t *attr, const char *v)
hpd_error_t hpd_map_first(hpd_map_t *map, hpd_pair_t **pair)
hpd_error_t hpd_map_free(hpd_map_t *map)
static hpd_error_t map_replace_n(hpd_pair_t *attr, const char *v, size_t v_len)
hpd_error_t hpd_map_get_n(hpd_map_t *map, const char *k, size_t k_len, const char **v)
hpd_error_t hpd_map_set_n(hpd_map_t *map, const char *k, size_t k_len, const char *v, size_t v_len)