Andrei Tchijov wrote:
> Not a major thing .... but. All examples for libfprint use function
> "discover_device" which looks strange:
>
> struct fp_dscv_dev *discover_device(struct fp_dscv_dev
> **discovered_devs)
> {
> struct fp_dscv_dev *ddev = NULL;
> int i;
>
> for (i = 0; ddev = discovered_devs[i]; i++) {
> struct fp_driver *drv = fp_dscv_dev_get_driver(ddev);
> printf("Found device claimed by %s driver\n",
> fp_driver_get_full_name(drv));
> return ddev;
> }
>
> return ddev;
> }
>
> Unless I am greatly mistaken, "for" loop will run once (if
> discovered_devs is not empty) regardless of anything.
I wonder what I was thinking there. It's just supposed to select the
first device on the bus. No loop needed, obviously.
> struct fp_dscv_dev *discover_device(struct fp_dscv_dev
> **discovered_devs)
> {
> struct fp_dscv_dev *ddev = NULL;
> int i;
>
> for (i = 0; ddev = discovered_devs[i]; i++) {
> struct fp_driver *drv = fp_dscv_dev_get_driver(ddev);
> if( drv ) {
Fair guess, but for a valid device, driver will never be NULL.
I'll fix this for the next release.
Thanks,
Daniel
_______________________________________________
fprint mailing list
[email protected]
http://lists.reactivated.net/mailman/listinfo/fprint