genesys: Return errors as exceptions from genesys_fill_line_interp_buffer()

merge-requests/105/head
Povilas Kanapickas 2019-07-27 10:12:24 +03:00
rodzic ebac8aee75
commit a18ef2e17f
1 zmienionych plików z 4 dodań i 12 usunięć

Wyświetl plik

@ -3624,8 +3624,8 @@ static void accurate_line_read(Genesys_Device* dev, Genesys_Buffer& buffer)
* must be read and bytes interleaved to get usable by the other stages * must be read and bytes interleaved to get usable by the other stages
* of the backend * of the backend
*/ */
static SANE_Status static void genesys_fill_line_interp_buffer(Genesys_Device* dev, uint8_t* work_buffer_dst,
genesys_fill_line_interp_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst, size_t size) size_t size)
{ {
DBG_HELPER(dbg); DBG_HELPER(dbg);
size_t count; size_t count;
@ -3665,8 +3665,6 @@ genesys_fill_line_interp_buffer (Genesys_Device * dev, uint8_t *work_buffer_dst,
accurate_line_read(dev, dev->oe_buffer); accurate_line_read(dev, dev->oe_buffer);
} }
} }
return SANE_STATUS_GOOD;
} }
/** @brief fill buffer for segmented sensors /** @brief fill buffer for segmented sensors
@ -3817,14 +3815,8 @@ genesys_fill_read_buffer (Genesys_Device * dev)
*/ */
if (dev->line_interp>0) if (dev->line_interp>0)
{ {
/* line interpolation */ // line interpolation
status = genesys_fill_line_interp_buffer (dev, work_buffer_dst, size); genesys_fill_line_interp_buffer(dev, work_buffer_dst, size);
if (status != SANE_STATUS_GOOD)
{
DBG(DBG_error, "%s: failed to read %lu bytes (%s)\n", __func__, (u_long) size,
sane_strstatus(status));
return SANE_STATUS_IO_ERROR;
}
} }
else if (dev->segnb>1) else if (dev->segnb>1)
{ {