| 2085 | } |
| 2086 | |
| 2087 | static xmlNodePtr |
| 2088 | xmlNewElem(xmlDocPtr doc, xmlNsPtr ns, const xmlChar *name, |
| 2089 | const xmlChar *content) { |
| 2090 | xmlNodePtr cur; |
| 2091 | |
| 2092 | cur = (xmlNodePtr) xmlMalloc(sizeof(xmlNode)); |
| 2093 | if (cur == NULL) |
| 2094 | return(NULL); |
| 2095 | memset(cur, 0, sizeof(xmlNode)); |
| 2096 | |
| 2097 | cur->type = XML_ELEMENT_NODE; |
| 2098 | cur->doc = doc; |
| 2099 | cur->name = name; |
| 2100 | cur->ns = ns; |
| 2101 | |
| 2102 | if (content != NULL) { |
| 2103 | if (xmlNodeParseContent(cur, content, -1) < 0) { |
| 2104 | /* Don't free name on error */ |
| 2105 | xmlFree(cur); |
| 2106 | return(NULL); |
| 2107 | } |
| 2108 | } |
| 2109 | |
| 2110 | if ((__xmlRegisterCallbacks) && (xmlRegisterNodeDefaultValue)) |
| 2111 | xmlRegisterNodeDefaultValue((xmlNodePtr)cur); |
| 2112 | |
| 2113 | return(cur); |
| 2114 | } |
| 2115 | |
| 2116 | /** |
| 2117 | * xmlNewDocNode: |
no test coverage detected