summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Beckett <dave@dajobe.org>2003-08-25 16:37:18 +0000
committerDave Beckett <dave@dajobe.org>2003-08-25 16:37:18 +0000
commit1e305a3779edb1972aa26a6ab5846742f4a20ab8 (patch)
tree5b5f449690d73749d606403a666f8594c4f69ff4
parent0d651b705b27df5b82bab3feb0d899e1b6b7b6f7 (diff)
downloadraptor-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.c3
-rw-r--r--src/raptor_rdfxml.c3
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;