diff options
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/implementation.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/core/implementation.c b/src/core/implementation.c index 7380771..6f8db45 100644 --- a/src/core/implementation.c +++ b/src/core/implementation.c @@ -67,13 +67,15 @@ dom_exception dom_implementation_create_document_type( dom_string *public_id_s = NULL, *system_id_s = NULL; dom_exception err; - if (qname != NULL) { - err = dom_string_create((const uint8_t *) qname, - strlen(qname), &qname_s); - if (err != DOM_NO_ERR) - return err; + if (qname == NULL) { + return DOM_INVALID_CHARACTER_ERR; } + err = dom_string_create((const uint8_t *) qname, + strlen(qname), &qname_s); + if (err != DOM_NO_ERR) + return err; + err = _dom_namespace_split_qname(qname_s, &prefix, &lname); if (err != DOM_NO_ERR) { dom_string_unref(qname_s); |