diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 02:50:01 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-05-30 02:50:01 +0000 |
commit | 91275eb478ceb58083426099b6da3f4c7e189f19 (patch) | |
tree | 260f7d2fa77408b38c5cea96b320b9b0b6713ff2 /debian/vendor-h2o/deps/klib/kson.h | |
parent | Merging upstream version 1.9.4. (diff) | |
download | dnsdist-91275eb478ceb58083426099b6da3f4c7e189f19.tar.xz dnsdist-91275eb478ceb58083426099b6da3f4c7e189f19.zip |
Merging debian version 1.9.4-1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | debian/vendor-h2o/deps/klib/kson.h | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/debian/vendor-h2o/deps/klib/kson.h b/debian/vendor-h2o/deps/klib/kson.h deleted file mode 100644 index a03eb52..0000000 --- a/debian/vendor-h2o/deps/klib/kson.h +++ /dev/null @@ -1,64 +0,0 @@ -#ifndef KSON_H -#define KSON_H - -#include <string.h> - -#define KSON_TYPE_NO_QUOTE 1 -#define KSON_TYPE_SGL_QUOTE 2 -#define KSON_TYPE_DBL_QUOTE 3 -#define KSON_TYPE_BRACKET 4 -#define KSON_TYPE_BRACE 5 - -#define KSON_OK 0 -#define KSON_ERR_EXTRA_LEFT 1 -#define KSON_ERR_EXTRA_RIGHT 2 -#define KSON_ERR_NO_KEY 3 - -typedef struct kson_node_s { - unsigned long long type:3, n:61; - char *key; - union { - struct kson_node_s **child; - char *str; - } v; -} kson_node_t; - -typedef struct { - long n_nodes; - kson_node_t *root; -} kson_t; - -#ifdef __cplusplus -extern "C" { -#endif - - kson_t *kson_parse(const char *json); - void kson_destroy(kson_t *kson); - const kson_node_t *kson_by_path(const kson_node_t *root, int path_len, ...); - void kson_format(const kson_node_t *root); - -#ifdef __cplusplus -} -#endif - -#define kson_is_internal(p) ((p)->type == KSON_TYPE_BRACKET || (p)->type == KSON_TYPE_BRACE) - -static inline const kson_node_t *kson_by_key(const kson_node_t *p, const char *key) -{ - long i; - if (!kson_is_internal(p)) return 0; - for (i = 0; i < (long)p->n; ++i) { - const kson_node_t *q = p->v.child[i]; - if (q->key && strcmp(q->key, key) == 0) - return q; - } - return 0; -} - -static inline const kson_node_t *kson_by_index(const kson_node_t *p, long i) -{ - if (!kson_is_internal(p)) return 0; - return 0 <= i && i < (long)p->n? p->v.child[i] : 0; -} - -#endif |