diff options
Diffstat (limited to 'backend/escl/escl.c')
| -rw-r--r-- | backend/escl/escl.c | 14 | 
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])); | 
