summaryrefslogtreecommitdiff
path: root/backend/escl/escl.c
diff options
context:
space:
mode:
Diffstat (limited to 'backend/escl/escl.c')
-rw-r--r--backend/escl/escl.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/backend/escl/escl.c b/backend/escl/escl.c
index cbbdb60..77b753f 100644
--- a/backend/escl/escl.c
+++ b/backend/escl/escl.c
@@ -621,16 +621,20 @@ sane_get_devices(const SANE_Device ***device_list, SANE_Bool local_only)
ESCL_Device *dev = NULL;
static const SANE_Device **devlist = 0;
SANE_Status status;
+ SANE_Status status2;
if (device_list == NULL)
return (SANE_STATUS_INVAL);
- status = sanei_configure_attach(ESCL_CONFIG_FILE, NULL,
+ status2 = sanei_configure_attach(ESCL_CONFIG_FILE, NULL,
attach_one_config, NULL);
- if (status != SANE_STATUS_GOOD)
- return (status);
escl_devices(&status);
- if (status != SANE_STATUS_GOOD)
- return (status);
+ if (status != SANE_STATUS_GOOD && status2 != SANE_STATUS_GOOD)
+ {
+ if (status2 != SANE_STATUS_GOOD)
+ return (status2);
+ if (status != SANE_STATUS_GOOD)
+ return (status);
+ }
if (devlist)
free(devlist);
devlist = (const SANE_Device **) calloc (num_devices + 1, sizeof (devlist[0]));