use JSON_TYPE_* enum - frontends - front-ends for some sites (experiment) | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit e8fb7f182b86a5d29310497d145f1dba48d3e7a2 | |
parent a5e2f07cb75a19578454e096f2c9f77cebc30084 | |
Author: Hiltjo Posthuma <[email protected]> | |
Date: Wed, 30 Mar 2022 00:02:27 +0200 | |
use JSON_TYPE_* enum | |
Diffstat: | |
M reddit/reddit.c | 40 ++++++++++++++++-------------… | |
M youtube/youtube.c | 70 ++++++++++++++++-------------… | |
2 files changed, 55 insertions(+), 55 deletions(-) | |
--- | |
diff --git a/reddit/reddit.c b/reddit/reddit.c | |
@@ -88,9 +88,9 @@ reddit_list_processnode(struct json_node *nodes, size_t depth… | |
struct tm *tm; | |
if (depth == 3 && | |
- nodes[0].type == TYPE_OBJECT && | |
- nodes[1].type == TYPE_OBJECT && | |
- nodes[2].type == TYPE_STRING && | |
+ nodes[0].type == JSON_TYPE_OBJECT && | |
+ nodes[1].type == JSON_TYPE_OBJECT && | |
+ nodes[2].type == JSON_TYPE_STRING && | |
!strcmp(nodes[0].name, "") && | |
!strcmp(nodes[1].name, "data")) { | |
if (!strcmp(nodes[2].name, "before")) { | |
@@ -105,11 +105,11 @@ reddit_list_processnode(struct json_node *nodes, size_t d… | |
/* new item */ | |
if (depth == 5 && | |
- nodes[0].type == TYPE_OBJECT && | |
- nodes[1].type == TYPE_OBJECT && | |
- nodes[2].type == TYPE_ARRAY && | |
- nodes[3].type == TYPE_OBJECT && | |
- nodes[4].type == TYPE_OBJECT && | |
+ nodes[0].type == JSON_TYPE_OBJECT && | |
+ nodes[1].type == JSON_TYPE_OBJECT && | |
+ nodes[2].type == JSON_TYPE_ARRAY && | |
+ nodes[3].type == JSON_TYPE_OBJECT && | |
+ nodes[4].type == JSON_TYPE_OBJECT && | |
!strcmp(nodes[0].name, "") && | |
!strcmp(nodes[1].name, "data") && | |
!strcmp(nodes[2].name, "children") && | |
@@ -124,11 +124,11 @@ reddit_list_processnode(struct json_node *nodes, size_t d… | |
item = &(r->items[r->nitems - 1]); | |
if (depth >= 5 && | |
- nodes[0].type == TYPE_OBJECT && | |
- nodes[1].type == TYPE_OBJECT && | |
- nodes[2].type == TYPE_ARRAY && | |
- nodes[3].type == TYPE_OBJECT && | |
- nodes[4].type == TYPE_OBJECT && | |
+ nodes[0].type == JSON_TYPE_OBJECT && | |
+ nodes[1].type == JSON_TYPE_OBJECT && | |
+ nodes[2].type == JSON_TYPE_ARRAY && | |
+ nodes[3].type == JSON_TYPE_OBJECT && | |
+ nodes[4].type == JSON_TYPE_OBJECT && | |
!strcmp(nodes[0].name, "") && | |
!strcmp(nodes[1].name, "data") && | |
!strcmp(nodes[2].name, "children") && | |
@@ -137,11 +137,11 @@ reddit_list_processnode(struct json_node *nodes, size_t d… | |
if (depth == 6) { | |
node = &nodes[5]; | |
switch (node->type) { | |
- case TYPE_BOOL: | |
+ case JSON_TYPE_BOOL: | |
if (!strcmp(node->name, "is_video")) | |
item->is_video = value[0] == 't'; | |
break; | |
- case TYPE_NUMBER: | |
+ case JSON_TYPE_NUMBER: | |
if (!strcmp(node->name, "ups")) | |
item->ups = strtol(value, NULL, 10); | |
else if (!strcmp(node->name, "downs")) | |
@@ -155,7 +155,7 @@ reddit_list_processnode(struct json_node *nodes, size_t dep… | |
memcpy(&(item->created_tm), tm, sizeof… | |
} | |
break; | |
- case TYPE_STRING: | |
+ case JSON_TYPE_STRING: | |
if (!strcmp(node->name, "name")) | |
strlcpy(item->name, value, sizeof(item… | |
else if (!strcmp(node->name, "title")) | |
@@ -179,21 +179,21 @@ reddit_list_processnode(struct json_node *nodes, size_t d… | |
break; | |
} | |
} else if (depth == 8 && | |
- nodes[5].type == TYPE_OBJECT && | |
- nodes[6].type == TYPE_OBJECT && | |
+ nodes[5].type == JSON_TYPE_OBJECT && | |
+ nodes[6].type == JSON_TYPE_OBJECT && | |
(!strcmp(nodes[5].name, "media") || !strcmp(nodes[5].name,… | |
!strcmp(nodes[6].name, "reddit_video")) { | |
node = &nodes[7]; | |
switch (node->type) { | |
- case TYPE_NUMBER: | |
+ case JSON_TYPE_NUMBER: | |
/* prefer "insecure" */ | |
if (nodes[5].name[0] == 's' && item->duration) | |
break; | |
if (!strcmp(node->name, "duration")) | |
item->duration = strtol(value, NULL, 1… | |
break; | |
- case TYPE_STRING: | |
+ case JSON_TYPE_STRING: | |
/* prefer "insecure" */ | |
if (nodes[5].name[0] == 's' && item->dash_url[… | |
break; | |
diff --git a/youtube/youtube.c b/youtube/youtube.c | |
@@ -90,9 +90,9 @@ processnode(struct json_node *nodes, size_t depth, const char… | |
/* new item, structures can be very deep, just check the end for: | |
(items|contents)[].videoRenderer objects */ | |
if (depth >= 3 && | |
- nodes[depth - 3].type == TYPE_ARRAY && | |
- nodes[depth - 2].type == TYPE_OBJECT && | |
- nodes[depth - 1].type == TYPE_OBJECT && | |
+ nodes[depth - 3].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 2].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 1].type == JSON_TYPE_OBJECT && | |
(!strcmp(nodes[depth - 3].name, "items") || | |
!strcmp(nodes[depth - 3].name, "contents")) && | |
!strcmp(nodes[depth - 1].name, "videoRenderer")) { | |
@@ -105,10 +105,10 @@ processnode(struct json_node *nodes, size_t depth, const … | |
item = &(r->items[r->nitems - 1]); | |
if (depth >= 4 && | |
- nodes[depth - 4].type == TYPE_ARRAY && | |
- nodes[depth - 3].type == TYPE_OBJECT && | |
- nodes[depth - 2].type == TYPE_OBJECT && | |
- nodes[depth - 1].type == TYPE_STRING && | |
+ nodes[depth - 4].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 3].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 2].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 1].type == JSON_TYPE_STRING && | |
(!strcmp(nodes[depth - 4].name, "items") || | |
!strcmp(nodes[depth - 4].name, "contents")) && | |
!strcmp(nodes[depth - 2].name, "videoRenderer") && | |
@@ -117,13 +117,13 @@ processnode(struct json_node *nodes, size_t depth, const … | |
} | |
if (depth >= 7 && | |
- nodes[depth - 7].type == TYPE_ARRAY && | |
- nodes[depth - 6].type == TYPE_OBJECT && | |
- nodes[depth - 5].type == TYPE_OBJECT && | |
- nodes[depth - 4].type == TYPE_OBJECT && | |
- nodes[depth - 3].type == TYPE_ARRAY && | |
- nodes[depth - 2].type == TYPE_OBJECT && | |
- nodes[depth - 1].type == TYPE_STRING && | |
+ nodes[depth - 7].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 6].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 5].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 4].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 3].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 2].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 1].type == JSON_TYPE_STRING && | |
(!strcmp(nodes[depth - 7].name, "items") || | |
!strcmp(nodes[depth - 7].name, "contents")) && | |
!strcmp(nodes[depth - 5].name, "videoRenderer") && | |
@@ -135,11 +135,11 @@ processnode(struct json_node *nodes, size_t depth, const … | |
} | |
if (depth >= 5 && | |
- nodes[depth - 5].type == TYPE_ARRAY && | |
- nodes[depth - 4].type == TYPE_OBJECT && | |
- nodes[depth - 3].type == TYPE_OBJECT && | |
- nodes[depth - 2].type == TYPE_OBJECT && | |
- nodes[depth - 1].type == TYPE_STRING && | |
+ nodes[depth - 5].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 4].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 3].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 2].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 1].type == JSON_TYPE_STRING && | |
(!strcmp(nodes[depth - 5].name, "items") || | |
!strcmp(nodes[depth - 5].name, "contents")) && | |
!strcmp(nodes[depth - 3].name, "videoRenderer") && | |
@@ -157,15 +157,15 @@ processnode(struct json_node *nodes, size_t depth, const … | |
} | |
if (depth >= 9 && | |
- nodes[depth - 9].type == TYPE_ARRAY && | |
- nodes[depth - 8].type == TYPE_OBJECT && | |
- nodes[depth - 7].type == TYPE_OBJECT && | |
- nodes[depth - 6].type == TYPE_OBJECT && | |
- nodes[depth - 5].type == TYPE_ARRAY && | |
- nodes[depth - 4].type == TYPE_OBJECT && | |
- nodes[depth - 3].type == TYPE_OBJECT && | |
- nodes[depth - 2].type == TYPE_OBJECT && | |
- nodes[depth - 1].type == TYPE_STRING && | |
+ nodes[depth - 9].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 8].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 7].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 6].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 5].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 4].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 3].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 2].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 1].type == JSON_TYPE_STRING && | |
(!strcmp(nodes[depth - 9].name, "items") || | |
!strcmp(nodes[depth - 9].name, "contents")) && | |
!strcmp(nodes[depth - 7].name, "videoRenderer") && | |
@@ -179,13 +179,13 @@ processnode(struct json_node *nodes, size_t depth, const … | |
} | |
if (depth >= 7 && | |
- nodes[depth - 7].type == TYPE_ARRAY && | |
- nodes[depth - 6].type == TYPE_OBJECT && | |
- nodes[depth - 5].type == TYPE_OBJECT && | |
- nodes[depth - 4].type == TYPE_OBJECT && | |
- nodes[depth - 3].type == TYPE_ARRAY && | |
- nodes[depth - 2].type == TYPE_OBJECT && | |
- nodes[depth - 1].type == TYPE_STRING && | |
+ nodes[depth - 7].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 6].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 5].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 4].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 3].type == JSON_TYPE_ARRAY && | |
+ nodes[depth - 2].type == JSON_TYPE_OBJECT && | |
+ nodes[depth - 1].type == JSON_TYPE_STRING && | |
(!strcmp(nodes[depth - 7].name, "items") || | |
!strcmp(nodes[depth - 7].name, "contents")) && | |
!strcmp(nodes[depth - 5].name, "videoRenderer") && |