MCPcopy Create free account
hub / github.com/Kitware/VTK / xmlSchemaCopyValue

Function xmlSchemaCopyValue

ThirdParty/libxml2/vtklibxml2/xmlschemastypes.c:3815–3898  ·  view source on GitHub ↗

* xmlSchemaCopyValue: * @val: the precomputed value to be copied * * Copies the precomputed value. This duplicates any string within. * * Returns the copy or NULL if a copy for a data-type is not implemented. */

Source from the content-addressed store, hash-verified

3813 * Returns the copy or NULL if a copy for a data-type is not implemented.
3814 */
3815xmlSchemaValPtr
3816xmlSchemaCopyValue(xmlSchemaValPtr val)
3817{
3818 xmlSchemaValPtr ret = NULL, prev = NULL, cur;
3819
3820 /*
3821 * Copy the string values.
3822 */
3823 while (val != NULL) {
3824 switch (val->type) {
3825 case XML_SCHEMAS_ANYTYPE:
3826 case XML_SCHEMAS_IDREFS:
3827 case XML_SCHEMAS_ENTITIES:
3828 case XML_SCHEMAS_NMTOKENS:
3829 xmlSchemaFreeValue(ret);
3830 return (NULL);
3831 case XML_SCHEMAS_ANYSIMPLETYPE:
3832 case XML_SCHEMAS_STRING:
3833 case XML_SCHEMAS_NORMSTRING:
3834 case XML_SCHEMAS_TOKEN:
3835 case XML_SCHEMAS_LANGUAGE:
3836 case XML_SCHEMAS_NAME:
3837 case XML_SCHEMAS_NCNAME:
3838 case XML_SCHEMAS_ID:
3839 case XML_SCHEMAS_IDREF:
3840 case XML_SCHEMAS_ENTITY:
3841 case XML_SCHEMAS_NMTOKEN:
3842 case XML_SCHEMAS_ANYURI:
3843 cur = xmlSchemaDupVal(val);
3844 if (val->value.str != NULL)
3845 cur->value.str = xmlStrdup(BAD_CAST val->value.str);
3846 break;
3847 case XML_SCHEMAS_QNAME:
3848 case XML_SCHEMAS_NOTATION:
3849 cur = xmlSchemaDupVal(val);
3850 if (val->value.qname.name != NULL)
3851 cur->value.qname.name =
3852 xmlStrdup(BAD_CAST val->value.qname.name);
3853 if (val->value.qname.uri != NULL)
3854 cur->value.qname.uri =
3855 xmlStrdup(BAD_CAST val->value.qname.uri);
3856 break;
3857 case XML_SCHEMAS_HEXBINARY:
3858 cur = xmlSchemaDupVal(val);
3859 if (val->value.hex.str != NULL)
3860 cur->value.hex.str = xmlStrdup(BAD_CAST val->value.hex.str);
3861 break;
3862 case XML_SCHEMAS_BASE64BINARY:
3863 cur = xmlSchemaDupVal(val);
3864 if (val->value.base64.str != NULL)
3865 cur->value.base64.str =
3866 xmlStrdup(BAD_CAST val->value.base64.str);
3867 break;
3868 case XML_SCHEMAS_DECIMAL:
3869 case XML_SCHEMAS_INTEGER:
3870 case XML_SCHEMAS_PINTEGER:
3871 case XML_SCHEMAS_NPINTEGER:
3872 case XML_SCHEMAS_NINTEGER:

Callers 1

Calls 3

xmlSchemaFreeValueFunction · 0.85
xmlSchemaDupValFunction · 0.85
xmlStrdupFunction · 0.85

Tested by

no test coverage detected