Hello!
В tcl-расширении потребовалось определить тип данных в
переменной, что реализуется проверкой возвращаемого значения
функции Tcl_ConvertToType(interp, objPtr, typePtr)
Даже если текущее представление строковое, но допустимо,
например, булевое представление, нужно именно последнее
(в худшем случае заберем строковое или bytearray значение).
Вот только typePtr, например, &tclBooleanType, определены
в tclObj.c
Например, так
Tcl_ObjType tclBooleanType = {
"booleanString", /* name */
NULL, /* freeIntRepProc */
NULL, /* dupIntRepProc */
NULL, /* updateStringProc */
SetBooleanFromAny /* setFromAnyProc */
};
В свою очередь, функция SetBooleanFromAny объявлена в
этом же tclObj.c
Вопрос: каким образом в расширении выполнить конвертацию
типа данных переменной, не таская с собой все исходники Tcl?
Best regards, Alexey Pechnikov.
http://pechnikov.tel/