Re-enable setting logical with UNKNOWN in python

This commit is contained in:
Thomas Krijnen
2026-01-15 13:13:51 +01:00
parent 43f78605f2
commit 1f4c4204d0
2 changed files with 22 additions and 0 deletions
+8
View File
@@ -789,6 +789,14 @@ private:
boost::logic::tribool t(boost::logic::indeterminate);
if (PyBool_Check(value)) {
t = (value == Py_True);
} else if (PyUnicode_Check(value)) {
if (PyObject* ascii = PyUnicode_AsEncodedString(value, "UTF-8", "strict")) {
// value is kept as indeterminate
if (strcmp(PyBytes_AS_STRING(ascii), "UNKNOWN") != 0) {
throw IfcParse::IfcException("Attribute not set");
}
Py_DECREF(ascii);
}
} else {
long v = to_index_long(value);
if (v == 0) t = false;