kopia lustrzana https://gitlab.com/sane-project/backends
Fujitsu backend v102
- fix infinite loop when scan is an odd number of linesmerge-requests/1/head
rodzic
093fff631c
commit
9c629b0a95
|
@ -464,6 +464,8 @@
|
||||||
- set per-side EOF flag if ILI and EOM are set
|
- set per-side EOF flag if ILI and EOM are set
|
||||||
v101 2010-06-23, MAN
|
v101 2010-06-23, MAN
|
||||||
- fix compilation bug when jpeg is enabled
|
- fix compilation bug when jpeg is enabled
|
||||||
|
v102 2010-09-22, MAN
|
||||||
|
- fix infinite loop when scan is an odd number of lines
|
||||||
|
|
||||||
SANE FLOW DIAGRAM
|
SANE FLOW DIAGRAM
|
||||||
|
|
||||||
|
@ -7468,9 +7470,8 @@ read_from_scanner(struct fujitsu *s, int side)
|
||||||
unsigned char * in;
|
unsigned char * in;
|
||||||
size_t inLen = 0;
|
size_t inLen = 0;
|
||||||
|
|
||||||
int bytes = s->buffer_size;
|
int bytes = s->buff_tot[side] - s->buff_rx[side];
|
||||||
int remain = s->bytes_tot[side] - s->bytes_rx[side];
|
int remain = s->bytes_tot[side] - s->bytes_rx[side];
|
||||||
int space = s->buff_tot[side] - s->buff_rx[side];
|
|
||||||
|
|
||||||
DBG (10, "read_from_scanner: start\n");
|
DBG (10, "read_from_scanner: start\n");
|
||||||
|
|
||||||
|
@ -7478,15 +7479,14 @@ read_from_scanner(struct fujitsu *s, int side)
|
||||||
if(bytes > remain){
|
if(bytes > remain){
|
||||||
bytes = remain;
|
bytes = remain;
|
||||||
}
|
}
|
||||||
if(bytes > space){
|
|
||||||
bytes = space;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* all requests must end on line boundary */
|
/* all requests must end on line boundary */
|
||||||
bytes -= (bytes % s->params.bytes_per_line);
|
bytes -= (bytes % s->params.bytes_per_line);
|
||||||
|
|
||||||
/* some larger scanners require even bytes per block */
|
/* some larger scanners require even bytes per block */
|
||||||
if(bytes % 2){
|
/* so we get even lines, but not on the last block */
|
||||||
|
/* cause odd number of lines would never finish */
|
||||||
|
if(bytes % 2 && bytes < remain){
|
||||||
bytes -= s->params.bytes_per_line;
|
bytes -= s->params.bytes_per_line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Ładowanie…
Reference in New Issue