On Mon, 10 Feb 2003 14:01:13 +0100, Horst von Brand said:
> Rusty Russell <rusty@rustcorp.com.au> said:
>
> [...]
>
> > > - for (i = 0; i < clone_list[i].vendor_id != 0; i++)
>
> i < clone_list[i].vendor_id != 0 is (i < clone_list[i].vendor_id) != 0 is
> just i < clone_list[i].vendor_id, so the for is done for i = 0 and possibly
> for 1. Getting this effect (if desired) with an if is a load clearer.
However, looking at the definition of clone_list[], it's pretty obvious
that this was intended:
for (i=0; clone_list[i].vendor_id != 0; i++) {...
It's searching through a zero-terminated table of vendor_id's.
It's possible it started off life as
i < sizeof(clone_list) && clone_list[i].vendor_id != 0
or some such.
-- Valdis Kletnieks Computer Systems Senior Engineer Virginia Tech
This archive was generated by hypermail 2b29 : Sat Feb 15 2003 - 22:00:31 EST