Hi, using LCR module and modparam("usrloc", "db_mode", 3) I can insert manually entries in "location" table with q value greater than 1.00 (as 2.00 or 50.00).
LCR next_contacts() function allows these "extrange" values and respect them (contact with "q" = 50.00 is called before contact with "q" = 2.00).
This is not exactly a bug since it's an human error to set an entry in "location" table with "q" value greater than 1.00, but maybe LCR module could ignore values grater than 1.00 and assume 1.00 in these cases?
Iñaki Baz Castillo writes:
LCR next_contacts() function allows these "extrange" values and respect them (contact with "q" = 50.00 is called before contact with "q" = 2.00).
This is not exactly a bug since it's an human error to set an entry in "location" table with "q" value greater than 1.00, but maybe LCR module could ignore values grater than 1.00 and assume 1.00 in these cases?
load_contacts just takes q value from branch struct. the right place to fix this is in usrloc module. it should check that q value read from location has a valid value and discard invalid entries. changing an illegal value to a legal one is not a good idea.
-- juha
El Sábado, 27 de Octubre de 2007, Juha Heinanen escribió:
Iñaki Baz Castillo writes:
LCR next_contacts() function allows these "extrange" values and respect them (contact with "q" = 50.00 is called before contact with "q" = 2.00).
This is not exactly a bug since it's an human error to set an entry in "location" table with "q" value greater than 1.00, but maybe LCR module could ignore values grater than 1.00 and assume 1.00 in these cases?
load_contacts just takes q value from branch struct. the right place to fix this is in usrloc module. it should check that q value read from location has a valid value and discard invalid entries.
So you mean lookup() function should/could discard "location" entries with invalid "q" value? that sounds logical.
Regards.