From: Bastian Dehn Date: Sun, 4 Feb 2024 08:52:28 +0000 (+0100) Subject: check status for image number X-Git-Tag: v1.0.0^2~350 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=6a2b06915a2d3766b18d73d05bc6bf9e8bca01e2;p=sane-kds-s2000w-net.git check status for image number --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 897ac08..272f757 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -463,10 +463,27 @@ metadata kds_s2000w_handler_get_parameters(int image_number) json_object* metadata = NULL; json_object* mdata_value = NULL; int channels = 1; + int status_image_number = 0; + resp = kds_s2000w_client_response_init(); kds_s2000w_client_status_session(state->sessionid, resp); + metadataResp = json_tokener_parse(resp->data); + metadata = json_object_object_get(metadataResp, "Status"); + mdata_value = json_object_object_get(metadata, "NumImagesScanned"); + status_image_number = json_object_get_int(mdata_value); kds_s2000w_client_response_free(resp); resp = NULL; + + if (status_image_number < image_number) { + mdata_value = NULL; + metadata = NULL; + json_object_put(metadataResp); + metadataResp = NULL; + mdata.valid = 0; + return mdata; + } + + sleep(1); resp = kds_s2000w_client_response_init(); kds_s2000w_client_get_metadata(state->sessionid, image_number, resp); if (resp->code != 200) {