summaryrefslogtreecommitdiffstats
path: root/audio-libs/liblrdf/liblrdf-raptor2.diff
diff options
context:
space:
mode:
Diffstat (limited to 'audio-libs/liblrdf/liblrdf-raptor2.diff')
-rw-r--r--audio-libs/liblrdf/liblrdf-raptor2.diff198
1 files changed, 198 insertions, 0 deletions
diff --git a/audio-libs/liblrdf/liblrdf-raptor2.diff b/audio-libs/liblrdf/liblrdf-raptor2.diff
new file mode 100644
index 0000000000..074d89000c
--- /dev/null
+++ b/audio-libs/liblrdf/liblrdf-raptor2.diff
@@ -0,0 +1,198 @@
+diff --git a/configure.ac b/configure.ac
+index 949acdf..e710b49 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -18,7 +18,7 @@ AM_PROG_LIBTOOL
+ AC_HEADER_STDC
+ AC_CHECK_HEADERS([errno.h limits.h stdlib.h string.h unistd.h])
+
+-PKG_CHECK_MODULES(RAPTOR, raptor >= 0.9.11)
++PKG_CHECK_MODULES(RAPTOR, raptor2 >= 2.0.0)
+
+ # Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 71e164d..2237a29 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -4,5 +4,4 @@ lib_LTLIBRARIES = liblrdf.la
+ noinst_HEADERS = lrdf_md5.h md5_loc.h ladspa.h
+
+ liblrdf_la_SOURCES = lrdf.c lrdf_multi.c md5.c
+-liblrdf_la_LIBADD = -lraptor
+ liblrdf_la_LDFLAGS = -version-info @LRDF_LIBTOOL_VERSION@
+diff --git a/src/lrdf.c b/src/lrdf.c
+index 0bb7b22..8849e43 100644
+--- a/src/lrdf.c
++++ b/src/lrdf.c
+@@ -18,6 +18,7 @@
+ static unsigned int lrdf_uid = 0; /* A unique(ish) id to append to genid's to
+ * avoid clashses */
+
++static raptor_world *world = NULL;
+ static lrdf_statement *triples = NULL;
+ static lrdf_statement *free_triples;
+ static lrdf_string_hash *resources_hash[LRDF_HASH_SIZE];
+@@ -43,8 +44,7 @@ static void lrdf_remove_triple_hash(lrdf_triple_hash ** tbl,
+ lrdf_hash hash, lrdf_statement * s);
+ static void lrdf_add_closure_hash(lrdf_closure_hash ** tbl,
+ lrdf_hash subject, lrdf_hash object);
+-static void lrdf_store(void *user_data,
+- const raptor_statement * statement);
++static void lrdf_store(void *user_data, raptor_statement * statement);
+ void lrdf_free_statements(lrdf_statement * s);
+ void lrdf_copy_statement(lrdf_statement * from, lrdf_statement * to);
+ void lrdf_rebuild_taxonomic_closure(lrdf_closure_hash ** fwd_tbl,
+@@ -71,7 +71,7 @@ void lrdf_init()
+ unsigned int i;
+ struct timeval tv;
+
+- raptor_init();
++ world = raptor_new_world();
+ lrdf_more_triples(256);
+
+ /* A UID to add to genids to make them safer */
+@@ -112,7 +112,8 @@ void lrdf_more_triples(int count)
+
+ void lrdf_cleanup()
+ {
+- raptor_finish();
++ raptor_free_world(world);
++ world = NULL;
+
+ lrdf_free_string_hash(resources_hash);
+ lrdf_free_string_hash(literals_hash);
+@@ -232,26 +233,29 @@ void lrdf_remove_matches(lrdf_statement *pattern)
+ }
+ }
+
+-static void lrdf_store(void *user_data, const raptor_statement * statement)
++static const char *lrdf_term_as_string(char *tmp, int tmp_len,
++ const raptor_term *term)
++{
++ switch (term->type) {
++ case RAPTOR_TERM_TYPE_URI:
++ return (const char *) raptor_uri_as_string(term->value.uri);
++ case RAPTOR_TERM_TYPE_LITERAL:
++ return (const char *) term->value.literal.string;
++ case RAPTOR_TERM_TYPE_BLANK:
++ snprintf(tmp, tmp_len, "_:%s.%x", term->value.blank.string, lrdf_uid);
++ return tmp;
++ default:
++ return "(?)";
++ }
++}
++
++static void lrdf_store(void *user_data, raptor_statement * statement)
+ {
+ lrdf_statement *s = lrdf_alloc_statement();
+ char tmps[128], tmpp[128], tmpo[128];
+- char *subj = (char *) statement->subject,
+- *pred = (char *) statement->predicate,
+- *obj = (char *) statement->object;
+-
+- if (statement->subject_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
+- snprintf(tmps, 127, "_:%s.%x", subj, lrdf_uid);
+- subj = tmps;
+- }
+- if (statement->predicate_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
+- snprintf(tmpp, 127, "_:%s.%x", pred, lrdf_uid);
+- pred = tmpp;
+- }
+- if (statement->object_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
+- snprintf(tmpo, 127, "_:%s.%x", obj, lrdf_uid);
+- obj = tmpo;
+- }
++ const char *subj = lrdf_term_as_string(tmps, 128, statement->subject),
++ *pred = lrdf_term_as_string(tmpp, 128, statement->predicate),
++ *obj = lrdf_term_as_string(tmpo, 128, statement->object);
+
+ s->shash = lrdf_gen_hash(subj);
+ s->phash = lrdf_gen_hash(pred);
+@@ -261,7 +265,7 @@ static void lrdf_store(void *user_data, const raptor_statement * statement)
+
+ s->subject = lrdf_check_hash(resources_hash, s->shash, subj);
+ s->predicate = lrdf_check_hash(resources_hash, s->phash, pred);
+- if (statement->object_type == RAPTOR_IDENTIFIER_TYPE_LITERAL) {
++ if (statement->object->type == RAPTOR_TERM_TYPE_LITERAL) {
+ s->object = lrdf_check_hash(literals_hash, s->ohash, obj);
+ s->object_type = lrdf_literal;
+ } else {
+@@ -537,28 +541,22 @@ void lrdf_rebuild_taxonomic_closure(lrdf_closure_hash ** fwd_tbl,
+ free(pathto);
+ }
+
+-static void lrdf_error_handler(void *data, raptor_locator * locator,
+- const char *message);
++static void lrdf_log_handler(void *data, raptor_log_message *message);
+
+-static void lrdf_error_handler(void *data, raptor_locator * locator,
+- const char *message)
++static void lrdf_log_handler(void *data, raptor_log_message *message)
+ {
+- fprintf(stderr, "liblrdf: error - ");
+- raptor_print_locator(stderr, locator);
+- fprintf(stderr, " - %s\n", message);
+-
+- raptor_parse_abort((raptor_parser*)data);
+-}
++ const char *severity = "error";
++ if (message->level == RAPTOR_LOG_LEVEL_WARN) {
++ severity = "warning";
++ }
+
+-static void lrdf_warning_handler(void *data, raptor_locator * locator,
+- const char *message);
++ fprintf(stderr, "liblrdf: %s - ", severity);
++ raptor_locator_print(message->locator, stderr);
++ fprintf(stderr, " - %s\n", message->text);
+
+-static void lrdf_warning_handler(void *data, raptor_locator * locator,
+- const char *message)
+-{
+- fprintf(stderr, "liblrdf: warning - ");
+- raptor_print_locator(stderr, locator);
+- fprintf(stderr, " - %s\n", message);
++ if (message->level != RAPTOR_LOG_LEVEL_WARN) {
++ raptor_parser_parse_abort((raptor_parser*)data);
++ }
+ }
+
+
+@@ -593,15 +591,15 @@ int lrdf_read_file_intl(const char *uri)
+ lrdf_hash source;
+
+ //printf("lrdf: reading %s\n", uri);
+- ruri = raptor_new_uri(uri);
+- furi = raptor_new_uri(uri);
++ ruri = raptor_new_uri(world, (const unsigned char *) uri);
++ furi = raptor_new_uri(world, (const unsigned char *) uri);
+ source = lrdf_gen_hash(uri);
+ lrdf_check_hash(resources_hash, source, uri);
+
+ if (strstr(uri, ".rdf")) {
+- parser = raptor_new_parser("rdfxml");
++ parser = raptor_new_parser(world, "rdfxml");
+ } else {
+- parser = raptor_new_parser("ntriples");
++ parser = raptor_new_parser(world, "ntriples");
+ }
+ if (!parser) {
+ fprintf(stderr, "liblrdf: failed to create parser\n");
+@@ -609,12 +607,11 @@ int lrdf_read_file_intl(const char *uri)
+ return 1;
+ }
+
+- raptor_set_error_handler(parser, parser, lrdf_error_handler);
+- raptor_set_warning_handler(parser, NULL, lrdf_warning_handler);
+- raptor_set_statement_handler(parser, &source, lrdf_store);
+- raptor_set_default_generate_id_parameters(parser, NULL, ++lrdf_uid);
++ raptor_world_set_log_handler(world, parser, lrdf_log_handler);
++ raptor_parser_set_statement_handler(parser, &source, lrdf_store);
++ raptor_world_set_generate_bnodeid_parameters(world, NULL, ++lrdf_uid);
+
+- if (raptor_parse_file(parser, furi, ruri)) {
++ if (raptor_parser_parse_file(parser, furi, ruri)) {
+ raptor_free_uri(furi);
+ raptor_free_uri(ruri);
+ raptor_free_parser(parser);