kds_s2000w_handler_open(devicename, handle);
handler* h = (handler*) *handle;
- if (h->state == NOTCONNECTED)
+ if (h->state == NOTCONNECTED) {
+ free_handler(h);
+ h = NULL;
return SANE_STATUS_IO_ERROR;
+ }
- if (h->state == BUSY)
+ if (h->state == BUSY) {
+ free_handler(h);
+ h = NULL;
return SANE_STATUS_DEVICE_BUSY;
+ }
kds_s2000w_option_descriptor_init_option_descriptors();
return SANE_STATUS_GOOD;
void** hlist = malloc(sizeof(void*));
SANE_Status status = _sane_kds_s2000w_net_open("kds_s2000w_net", hlist);
- handler* h = (handler*) *hlist;
- assert_int_equal(h->sessionid, 0);
- assert_int_equal(h->state, BUSY);
assert_int_equal(status, SANE_STATUS_DEVICE_BUSY);
- free_handler(h);
- h = NULL;
kds_s2000w_client_response_free(resp);
resp = NULL;
free(hlist);
void** hlist = malloc(sizeof(void*));
SANE_Status status = _sane_kds_s2000w_net_open("kds_s2000w_net", hlist);
- handler* h = (handler*) *hlist;
- assert_int_equal(h->sessionid, 0);
- assert_int_equal(h->state, NOTCONNECTED);
assert_int_equal(status, SANE_STATUS_IO_ERROR);
- free_handler(h);
- h = NULL;
kds_s2000w_client_response_free(resp);
resp = NULL;
free(hlist);