summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--http.c3
-rw-r--r--xs.h3
2 files changed, 5 insertions, 1 deletions
diff --git a/http.c b/http.c
index 30b11a0..1b3d590 100644
--- a/http.c
+++ b/http.c
@@ -77,7 +77,8 @@ xs_dict *http_signed_request_raw(const char *keyid, const char *seckey,
/* transfer the original headers */
hdrs = xs_dict_new();
- while (xs_dict_iter(&headers, &k, &v))
+ int c = 0;
+ while (xs_dict_next(headers, &k, &v, &c))
hdrs = xs_dict_append(hdrs, k, v);
/* add the new headers */
diff --git a/xs.h b/xs.h
index afd8245..85464db 100644
--- a/xs.h
+++ b/xs.h
@@ -1028,6 +1028,9 @@ int xs_dict_iter(xs_dict **dict, xs_str **key, xs_val **value)
int xs_dict_next(const xs_dict *dict, xs_str **key, xs_val **value, int *ctxt)
/* iterates a dict, with context */
{
+ if (xs_type(dict) != XSTYPE_DICT)
+ return 0;
+
int goon = 1;
char *p = (char *)dict;