From 73e1589b6bd9918c9158001f7511ec7c8aeffa48 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 21 Jan 2024 11:39:11 +0100 Subject: [PATCH] parse session id --- src/kds_s2000w_handler.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index a0cf9b7..4d5959b 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -3,6 +3,7 @@ #include #include #include +#include #include "kds_s2000w_handler.h" typedef struct { @@ -21,8 +22,6 @@ size_t write_callback(char *ptr, size_t size, size_t nmemb, void *userdata) memcpy(data->data, ptr, fullsize); data->size = fullsize + 1; - printf("writed data %s\n", data->data); - printf("data address callback %x\n", data->data); return fullsize; } @@ -43,11 +42,18 @@ void* kds_s2000w_handler_open() curl_easy_setopt(curl, CURLOPT_WRITEDATA, (void*) &resp); res = curl_easy_perform(curl); + json_object* resObj = json_tokener_parse(resp.data); + json_object* valueObj = NULL; + json_object_object_get_ex(resObj, "SessionId", &valueObj); + int64_t sessionid = json_object_get_int64(valueObj); + + printf("sessionid: %li\n", sessionid); printf("data address open: %x\n", resp.data); printf("data: %s\n", resp.data); printf("curlcode: %li\n", res); free(resp.data); resp.data = NULL; + json_object_put(resObj); curl_easy_cleanup(curl); } return NULL; -- 2.39.5