X-Git-Url: https://git.distorted.org.uk/~mdw/disorder/blobdiff_plain/812b526d127c6657e571db8b33a58137af6709cd..164f2e9387e91bf6fa19e43b8aa85cb031231ced:/lib/kvp.c diff --git a/lib/kvp.c b/lib/kvp.c index 5a116de..f17cdc1 100644 --- a/lib/kvp.c +++ b/lib/kvp.c @@ -63,6 +63,11 @@ int urldecode(struct sink *sink, const char *ptr, size_t n) { return 0; } +/** @brief URL-decode a string + * @param ptr Start of URL-encoded string + * @param n Length of @p ptr + * @return Decoded string (0-terminated) + */ static char *decode(const char *ptr, size_t n) { struct dynstr d; struct sink *s; @@ -282,6 +287,15 @@ struct kvp *kvp_make(const char *name, ...) { return kvp; } +void kvp_free(struct kvp *k) { + if(k) { + kvp_free(k->next); + xfree((void *)k->name); + xfree((void *)k->value); + xfree(k); + } +} + /* Local Variables: c-basic-offset:2