Hello! On Friday 21 August 2009 00:58:35 Stanislav Maslovski wrote: > Что будет, например, с таким вызовом? > > isinnet( '172.16.1.23', '172.16.1.0', 'aa' ) > > Имхо, переменная mask в этом случае окажется равной нулю (после всех > действий со сдвигами и пр.) и проверка в конце функции всегда вернет > true, не зависимо от ad и net. >
sqlite> select isinnet( '172.16.1.23', '172.16.1.0', 'aa' ); 0 Следовало бы вернуть NULL, что есть более концептуально верно. Если маска три символа или больше, то функция так и делает: select isinnet( '172.16.1.23', '172.16.1.0', 'aaa' ); А когда 2 символа и меньше, поведение функции не соответствует ожидаемому :-) Спасибо за пример, поправлю. Best regards, Alexey Pechnikov. http://pechnikov.tel/

