45 else (*value)->len = (
size_t) len;
65 (*value)->len = strlen((*value)->body);
118 const char *
key, *val;
120 while ((key = va_arg(vp,
const char *))) {
121 val = va_arg(vp,
const char *);
130 if (body) (*body) = value->
body;
131 if (len) (*len) = value->
len;
143 const char *
key, **val;
145 while ((key = va_arg(vp,
const char *))) {
146 val = va_arg(vp,
const char **);
hpd_error_t value_copy(hpd_value_t **dst, const hpd_value_t *src)
#define LOG_RETURN_E_NULL()
#define HPD_STR_CPY(DST, SRC)
#define LOG_RETURN_E_ALLOC()
hpd_error_t hpd_map_set(hpd_map_t *map, const char *k, const char *v)
hpd_error_t hpd_map_next(hpd_pair_t **pair)
hpd_error_t value_set_headers_v(hpd_value_t *value, va_list vp)
hpd_error_t hpd_map_first(hpd_map_t *map, hpd_pair_t **pair)
hpd_error_t hpd_map_free(hpd_map_t *map)
#define HPD_CALLOC(PTR, NUM, CAST)
Allocates and zeros a structure.
#define HPD_NULL_TERMINATED
Value to be used in len parameters on \0 terminated strings.
hpd_error_t value_get_headers_v(const hpd_value_t *value, va_list vp)
hpd_error_t value_get_header(const hpd_value_t *value, const char *key, const char **val)
hpd_error_t value_alloc(hpd_value_t **value, const char *body, int len)
#define hpd_map_foreach(RC, PAIR, MAP)
enum hpd_error hpd_error_t
#define LOG_RETURN(E, FMT,...)
hpd_error_t hpd_map_get(hpd_map_t *map, const char *k, const char **v)
hpd_error_t value_vallocf(hpd_value_t **value, const char *fmt, va_list vp)
hpd_error_t value_next_header(hpd_pair_t **pair)
hpd_error_t value_free(hpd_value_t *value)
hpd_error_t hpd_map_alloc(hpd_map_t **map)
hpd_error_t value_get_body(const hpd_value_t *value, const char **body, size_t *len)
#define HPD_VSPRINTF_ALLOC(DST, FMT, VP)
hpd_error_t value_set_header(hpd_value_t *value, const char *key, const char *val)
hpd_error_t hpd_pair_get(const hpd_pair_t *pair, const char **key, const char **value)
hpd_error_t value_first_header(const hpd_value_t *value, hpd_pair_t **pair)