--KsGdsel6WgEHnImy Content-Type: text/plain; charset=iso-8859-15 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable
Hello ! I am forwarding the following bug reported via the Debian BTS: | In backend/plustek-usbimg.c, line 1363: | | if(!(a_bRegs[0x4e] =3D (u_char)ceil(dw / (4 * hw->wDRAMSize)))) | | dw and hw->wDRAMSize are both integral types, meaning the division is | done in integer arithmetic, the result is always rounded down instead of | up, and the ceil() is left meaningless. The following patch should fix that. Aurelien Index: sane-backends/backend/plustek-usbimg.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D RCS file: /cvsroot/external/sane/sane-backends/backend/plustek-usbimg.c,v retrieving revision 1.9 diff -u -1 -b -p -r1.9 plustek-usbimg.c --- plustek-usbimg.c 2002/10/15 18:02:39 1.9 +++ plustek-usbimg.c 2002/12/06 19:57:07 @@ -1362,3 +1362,3 @@ static SANE_Int usb_ReadData( struct Plu { - if(!(a_bRegs[0x4e] =3D (u_char)ceil(dw / (4 * hw->w= DRAMSize)))) =09 + if(!(a_bRegs[0x4e] =3D (u_char)ceil(dw / (4.0 * hw-= >wDRAMSize)))) a_bRegs[0x4e] =3D 1; --KsGdsel6WgEHnImy Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.0 (GNU/Linux) iD8DBQE98QpMw3ao2vG823MRAuSFAKCH2RAV5Hz6IawCL/UEqWUQ3b+0tQCfajqS XRfH1e1hlumb77SlCVe93C4= =PAOQ -----END PGP SIGNATURE----- --KsGdsel6WgEHnImy--