Fixed several memory leaks.
[yacjs.git] / src / main.c
1 #include <stdio.h>
2
3 #include "yacjs.h"
4
5 int main() {
6     struct yacjs_node *root = yacjs_parse("{\"foo\": \"bar\", \"baz\": [\"a\", \"b\", \"c\"]}");
7
8     yacjs_destroy(root);
9     root = NULL;
10
11     FILE *fp = fopen("test/test1.json", "r");
12     char buffer[32768];
13     int ret = fread(buffer, 1, 32768, fp);
14     buffer[ret] = 0;
15     printf("bytes read: %i\n", ret);
16     fclose(fp);
17
18     root = yacjs_parse(buffer);
19     printf("root: %p\n", root);
20
21     printf("error: %i\n", yacjs_last_error());
22
23     /*
24     struct yacjs_node *node = yacjs_node_array_elem(root, 0);
25     node = yacjs_node_dict_get(node, "friends");
26     printf("%i friends\n", yacjs_node_array_size(node));
27
28     node = yacjs_node_array_elem(node, 1);
29     printf("second friend ID and name: %li, %s\n",
30         yacjs_node_num(yacjs_node_dict_get(node, "id")),
31         yacjs_node_str(yacjs_node_dict_get(node, "name")));
32 */
33     yacjs_destroy(root);
34
35     return 0;
36 }