1
0
mirror of https://github.com/falk-werner/webfuse synced 2024-10-27 20:34:10 +00:00
falk-werner_webfuse/lib/webfuse/impl/json/doc.c
2020-07-15 18:55:09 +02:00

45 lines
817 B
C

#include "webfuse/impl/json/doc.h"
#include "webfuse/impl/json/node_intern.h"
#include "webfuse/impl/json/reader.h"
#include "webfuse/impl/json/parser.h"
#include <stdlib.h>
struct wf_json_doc
{
struct wf_json root;
};
struct wf_json_doc *
wf_impl_json_doc_loadb(
char * data,
size_t length)
{
struct wf_json_reader reader;
wf_impl_json_reader_init(&reader, data, length);
struct wf_json_doc * doc = malloc(sizeof(struct wf_json_doc));
if (!wf_impl_json_parse_value(&reader, &doc->root))
{
free(doc);
doc = NULL;
}
return doc;
}
void
wf_impl_json_doc_dispose(
struct wf_json_doc * doc)
{
wf_impl_json_cleanup(&doc->root);
free(doc);
}
struct wf_json const *
wf_impl_json_doc_root(
struct wf_json_doc * doc)
{
return &doc->root;
}