diff options
author | Dave Beckett <dave@dajobe.org> | 2003-08-25 16:37:18 +0000 |
---|---|---|
committer | Dave Beckett <dave@dajobe.org> | 2003-08-25 16:37:18 +0000 |
commit | 1e305a3779edb1972aa26a6ab5846742f4a20ab8 (patch) | |
tree | 5b5f449690d73749d606403a666f8594c4f69ff4 | |
parent | 0d651b705b27df5b82bab3feb0d899e1b6b7b6f7 (diff) | |
download | raptor-1e305a3779edb1972aa26a6ab5846742f4a20ab8.tar.gz |
(raptor_start_element_grammar): With rdf:datatype, do not lose the
URI string pointer. For rdf:ID, do not allocate the URI twice.
-rw-r--r-- | src/raptor_parse.c | 3 | ||||
-rw-r--r-- | src/raptor_rdfxml.c | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/raptor_parse.c b/src/raptor_parse.c index 393e1669..085fe0e6 100644 --- a/src/raptor_parse.c +++ b/src/raptor_parse.c @@ -2356,6 +2356,7 @@ raptor_start_element_grammar(raptor_parser *rdf_parser, */ if (element->rdf_attr[RDF_ATTR_datatype]) { element->object_literal_datatype=raptor_new_uri_relative_to_base(raptor_inscope_base_uri(rdf_parser), (char*)element->rdf_attr[RDF_ATTR_datatype]); + RAPTOR_FREE(cstring, element->rdf_attr[RDF_ATTR_datatype]); element->rdf_attr[RDF_ATTR_datatype]=NULL; } @@ -2488,7 +2489,7 @@ raptor_start_element_grammar(raptor_parser *rdf_parser, * Assign reified URI here so we don't reify property attributes * using this id */ - if(element->reified.id) { + if(element->reified.id && !element->reified.uri) { element->reified.uri=raptor_new_uri_from_id(raptor_inscope_base_uri(rdf_parser), element->reified.id); element->reified.type=RAPTOR_IDENTIFIER_TYPE_RESOURCE; element->reified.uri_source=RAPTOR_URI_SOURCE_GENERATED; diff --git a/src/raptor_rdfxml.c b/src/raptor_rdfxml.c index 393e1669..085fe0e6 100644 --- a/src/raptor_rdfxml.c +++ b/src/raptor_rdfxml.c @@ -2356,6 +2356,7 @@ raptor_start_element_grammar(raptor_parser *rdf_parser, */ if (element->rdf_attr[RDF_ATTR_datatype]) { element->object_literal_datatype=raptor_new_uri_relative_to_base(raptor_inscope_base_uri(rdf_parser), (char*)element->rdf_attr[RDF_ATTR_datatype]); + RAPTOR_FREE(cstring, element->rdf_attr[RDF_ATTR_datatype]); element->rdf_attr[RDF_ATTR_datatype]=NULL; } @@ -2488,7 +2489,7 @@ raptor_start_element_grammar(raptor_parser *rdf_parser, * Assign reified URI here so we don't reify property attributes * using this id */ - if(element->reified.id) { + if(element->reified.id && !element->reified.uri) { element->reified.uri=raptor_new_uri_from_id(raptor_inscope_base_uri(rdf_parser), element->reified.id); element->reified.type=RAPTOR_IDENTIFIER_TYPE_RESOURCE; element->reified.uri_source=RAPTOR_URI_SOURCE_GENERATED; |