Changeset: 3e374bf04a16 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3e374bf04a16
Modified Files:
monetdb5/extras/rdf/rdflabels.c
Branch: rdf
Log Message:
fix URI shortening
handle cases <URI>, <URI/>, URI/ in addition to the known case <URI>/
diffs (35 lines):
diff --git a/monetdb5/extras/rdf/rdflabels.c b/monetdb5/extras/rdf/rdflabels.c
--- a/monetdb5/extras/rdf/rdflabels.c
+++ b/monetdb5/extras/rdf/rdflabels.c
@@ -302,12 +302,27 @@ IncidentFKs* initLinks(int csCount) {
}
/* Modifies the parameter! */
-/* from: <URI>/ to: URI */
+/* from: <URI>/ or <URI> to: URI */
static
void removeBrackets(char** s) {
- if (strlen(*s) < 3) return;
- (*s)[strlen(*s) - 2] = '\0';
- (*s) += 1;
+ if (strlen(*s) < 2) return;
+
+ if ((*s)[0] == '<' && (*s)[strlen(*s) - 2] == '>' && (*s)[strlen(*s) -
1] == '/') {
+ // case <URI>/
+ (*s)[strlen(*s) - 2] = '\0';
+ (*s) += 1;
+ } else if ((*s)[0] == '<' && (*s)[strlen(*s) - 2] == '/' &&
(*s)[strlen(*s) - 1] == '>') {
+ // case <URI/>
+ (*s)[strlen(*s) - 2] = '\0';
+ (*s) += 1;
+ } else if ((*s)[0] == '<' && (*s)[strlen(*s) - 1] == '>') {
+ // case <URI>
+ (*s)[strlen(*s) - 1] = '\0';
+ (*s) += 1;
+ } else if ((*s)[strlen(*s) - 1] == '/') {
+ // case URI/
+ (*s)[strlen(*s) - 1] = '\0';
+ }
}
/* Modifies the parameter! */
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list