|
|
ru.unix.bsd- RU.UNIX.BSD ------------------------------------------------------------------ From : Constantin Stefanov 2:5020/400 02 Aug 2006 12:37:43 To : Sergey Matveychuk Subject : Re: netdisco под FreeBSD 6.1 - ошибка perl - виноват SNMP.pm из net-snm -------------------------------------------------------------------------------- Sergey Matveychuk wrote: >> Not an ARRAY reference at ./test.pl line 24. >> ----------------------------------------------------------------------- >> Исследование SNMP.pm показало, что результат функции берется практически >> напрямую из SNMP.so. В исходнике SNMP.so я уже не разобрался - никогда >> не имел дела с биндингом сишного кода в перл. >> Может, кто подскажет, как это все лечить или куда мне теперь податься с >> этим знанием, где подскажут? > Твой пример у меня не выдал никаких ошибок на 6.0+5.8.8+net-snmp-5.2.2_1 Это уже интереснее. Значит, что-то у меня либо что-то не так собралось, либо по дороге от net-snmp-5.2.2_1 до 5.2.3_1 что-то сломали. Изучил cvs, что там меняли. После вот такого патча -------------------------------------------------------------------------------- > --- perl/SNMP/SNMP.xs.ORIG Wed Aug 2 12:14:30 2006 > +++ perl/SNMP/SNMP.xs Wed Aug 2 12:26:22 2006 > @@ -2321,7 +2321,7 @@ > SV **err_str_svp = hv_fetch((HV*)SvRV(context->sess_ref), "ErrorStr", 8, > 1); SV **err_num_svp = hv_fetch((HV*)SvRV(context->sess_ref), "ErrorNum", > 8, 1); - dSP; + dXSARGS; async = SvTRUE(context->perl_cb); @@ -2330,6 > +2330,8 @@ ** items pushed onto the stack. For async, create a new array > and push ** the references onto it. The array is then passed to the Perl > callback. */ + if(!async) + SP -= items; DBPRT(1, (DBOUT "Bulwalk > %s (saved %d/%d), ", okay ? "completed" : "had error", > context->oid_saved, context->oid_total)); -------------------------------------------------------------------------------- тест мой прошел, но я не знаю, не поломал ли я что-то еще (я просто откатил часть изменений в SNMP.xs). В том, как это все работает, я не особо смыслю. Куда бы мне заслать этот патч с тестом, чтобы кто знающий глянул? Hапрямую на sourceforge в баги? -- Константин Стефанов Если морда просит кирпича - дайте. Вдруг у нее ремонт. --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix.bsd/65774e402f55.html, оценка из 5, голосов 10
|