Variant c_XMLReader::t___get(Variant name) { INSTANCE_METHOD_INJECTION_BUILTIN(XMLReader, XMLReader::__get); const xmlChar *retchar = NULL; int retint = 0; PropertyAccessor *propertyMap = xmlreader_properties_map.get(name); if (m_ptr) { if (propertyMap->getter_char) { retchar = propertyMap->getter_char(m_ptr); } else if (propertyMap->getter_int) { retint = propertyMap->getter_int(m_ptr); } } switch (propertyMap->return_type) { case KindOfString: if (retchar) { return String((char*)retchar, CopyString); } else { return String(""); } case KindOfBoolean: return (retint ? true : false); case KindOfInt64: return retint; default: return null; } return null; }
Variant c_XMLReader::t___get(Variant name) { const xmlChar *retchar = NULL; int retint = 0; PropertyAccessor *propertyMap = xmlreader_properties_map.get(name); if (!propertyMap) { raiseUndefProp(name.getStringData()); return uninit_null(); } if (m_ptr) { if (propertyMap->getter_char) { retchar = propertyMap->getter_char(m_ptr); } else if (propertyMap->getter_int) { retint = propertyMap->getter_int(m_ptr); } } switch (propertyMap->return_type) { case KindOfString: if (retchar) { return String((char*)retchar, CopyString); } else { return String(""); } case KindOfBoolean: return (retint ? true : false); case KindOfInt64: return retint; default: return uninit_null(); } return uninit_null(); }