On 2009.10.08 at 22:38:55 +0400, Alexey Pechnikov wrote: > > (благо, и поле typePtr в Tcl_Obj, и поле name в Tcl_ObjType - > > документировано) > > Ситуация как раз в том, что апстрим sqlite делает именно проверку по > obj->typePtr->name
> В итоге оказывается, что один и тот же тиклевский код из скрипта > и в tclsh шелле дает _разный_ результат: > > ======================== > $ tclsh8.5 /tmp/test > 1.0 ERROR integer!=text > 1.1 OK > 1.2 ERROR 1!= > 1.3 OK > 1.4 OK > А вот тут НЕ НАДО делать проверку. Благо требуемый тип известен. Надо не проверять, а пытаться преобразовать данные к требуемому типу. И ругаться только если не получилось. Соответствено, Tcl_GetWideIntFromObj. При этом таблица преобразований должна быть не тикловая внутренняя, поскольку никто не обещал, что завтра внутреннее представление integer не поменяют на несовместимое с нужным тебе, а своя собственная, использующая для преобразования Tcl_Get*FromObj. Поскольку у них тип результата документирован. -- To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org