blob: 31d0d2954e61e49d2663b62c7111e7d2f98e3729 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <json.h>
static inline void accesstoken_parse(const char *tok,
struct shopify_session *session)
{
json_tokener *tokener = json_tokener_new();
json_object *obj = json_tokener_parse_ex(tokener, tok, strlen(tok));
struct json_object_iterator iter = json_object_iter_begin(obj);
struct json_object_iterator iter_end = json_object_iter_end(obj);
while (!json_object_iter_equal(&iter, &iter_end)) {
if (!strcmp(json_object_iter_peek_name(&iter),
"access_token")) {
const char *val = json_object_get_string(
json_object_iter_peek_value(&iter));
session->access_token = malloc(strlen(val) + 1);
strcpy(session->access_token, val);
} else if (!strcmp(json_object_iter_peek_name(&iter),
"scope")) {
const char *val = json_object_get_string(
json_object_iter_peek_value(&iter));
session->scopes = malloc(strlen(val) + 1);
strcpy(session->scopes, val);
}
json_object_iter_next(&iter);
}
json_tokener_free(tokener);
}
|