wok diff liblrdf/stuff/raptor2.diff @ rev 21760

Up mapserver (7.4.0)
author Pascal Bellard <pascal.bellard@slitaz.org>
date Wed Jun 26 22:38:34 2019 +0200 (2019-06-26)
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/liblrdf/stuff/raptor2.diff	Wed Jun 26 22:38:34 2019 +0200
     1.3 @@ -0,0 +1,193 @@
     1.4 +--- src/Makefile.am
     1.5 ++++ src/Makefile.am
     1.6 +@@ -4,5 +4,5 @@ lib_LTLIBRARIES = liblrdf.la
     1.7 + noinst_HEADERS = lrdf_md5.h md5_loc.h ladspa.h
     1.8 + 
     1.9 + liblrdf_la_SOURCES = lrdf.c lrdf_multi.c md5.c
    1.10 +-liblrdf_la_LIBADD = -lraptor
    1.11 ++liblrdf_la_LIBADD = -lraptor2
    1.12 + liblrdf_la_LDFLAGS = -version-info @LRDF_LIBTOOL_VERSION@
    1.13 +--- src/lrdf.c
    1.14 ++++ src/lrdf.c
    1.15 +@@ -18,6 +18,7 @@
    1.16 + static unsigned int lrdf_uid = 0;	/* A unique(ish) id to append to genid's to
    1.17 + 					 * avoid clashses */
    1.18 + 
    1.19 ++static raptor_world *world = NULL;
    1.20 + static lrdf_statement *triples = NULL;
    1.21 + static lrdf_statement *free_triples;
    1.22 + static lrdf_string_hash *resources_hash[LRDF_HASH_SIZE];
    1.23 +@@ -43,8 +44,7 @@ static void lrdf_remove_triple_hash(lrdf_triple_hash ** tbl,
    1.24 + 				    lrdf_hash hash, lrdf_statement * s);
    1.25 + static void lrdf_add_closure_hash(lrdf_closure_hash ** tbl,
    1.26 + 				  lrdf_hash subject, lrdf_hash object);
    1.27 +-static void lrdf_store(void *user_data,
    1.28 +-		       const raptor_statement * statement);
    1.29 ++static void lrdf_store(void *user_data, raptor_statement * statement);
    1.30 + void lrdf_free_statements(lrdf_statement * s);
    1.31 + void lrdf_copy_statement(lrdf_statement * from, lrdf_statement * to);
    1.32 + void lrdf_rebuild_taxonomic_closure(lrdf_closure_hash ** fwd_tbl,
    1.33 +@@ -71,7 +71,7 @@ void lrdf_init()
    1.34 +     unsigned int i;
    1.35 +     struct timeval tv;
    1.36 + 
    1.37 +-    raptor_init();
    1.38 ++    world = raptor_new_world();
    1.39 +     lrdf_more_triples(256);
    1.40 + 
    1.41 +     /* A UID to add to genids to make them safer */
    1.42 +@@ -112,7 +112,8 @@ void lrdf_more_triples(int count)
    1.43 + 
    1.44 + void lrdf_cleanup()
    1.45 + {
    1.46 +-    raptor_finish();
    1.47 ++    raptor_free_world(world);
    1.48 ++    world = NULL;
    1.49 + 
    1.50 +     lrdf_free_string_hash(resources_hash);
    1.51 +     lrdf_free_string_hash(literals_hash);
    1.52 +@@ -232,26 +233,29 @@ void lrdf_remove_matches(lrdf_statement *pattern)
    1.53 +     }
    1.54 + }
    1.55 + 
    1.56 +-static void lrdf_store(void *user_data, const raptor_statement * statement)
    1.57 ++static const char *lrdf_term_as_string(char *tmp, int tmp_len,
    1.58 ++				       const raptor_term *term)
    1.59 ++{
    1.60 ++    switch (term->type) {
    1.61 ++    case RAPTOR_TERM_TYPE_URI:
    1.62 ++	return (const char *) raptor_uri_as_string(term->value.uri);
    1.63 ++    case RAPTOR_TERM_TYPE_LITERAL:
    1.64 ++	return (const char *) term->value.literal.string;
    1.65 ++    case RAPTOR_TERM_TYPE_BLANK:
    1.66 ++	snprintf(tmp, tmp_len, "_:%s.%x", term->value.blank.string, lrdf_uid);
    1.67 ++	return tmp;
    1.68 ++    default:
    1.69 ++	return "(?)";
    1.70 ++    }
    1.71 ++}
    1.72 ++
    1.73 ++static void lrdf_store(void *user_data, raptor_statement * statement)
    1.74 + {
    1.75 +     lrdf_statement *s = lrdf_alloc_statement();
    1.76 +     char tmps[128], tmpp[128], tmpo[128];
    1.77 +-    char *subj = (char *) statement->subject,
    1.78 +-	 *pred = (char *) statement->predicate,
    1.79 +-	 *obj = (char *) statement->object;
    1.80 +-
    1.81 +-    if (statement->subject_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
    1.82 +-	snprintf(tmps, 127, "_:%s.%x", subj, lrdf_uid);
    1.83 +-	subj = tmps;
    1.84 +-    }
    1.85 +-    if (statement->predicate_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
    1.86 +-	snprintf(tmpp, 127, "_:%s.%x", pred, lrdf_uid);
    1.87 +-	pred = tmpp;
    1.88 +-    }
    1.89 +-    if (statement->object_type == RAPTOR_IDENTIFIER_TYPE_ANONYMOUS) {
    1.90 +-	snprintf(tmpo, 127, "_:%s.%x", obj, lrdf_uid);
    1.91 +-	obj = tmpo;
    1.92 +-    }
    1.93 ++    const char *subj = lrdf_term_as_string(tmps, 128, statement->subject),
    1.94 ++	       *pred = lrdf_term_as_string(tmpp, 128, statement->predicate),
    1.95 ++	       *obj = lrdf_term_as_string(tmpo, 128, statement->object);
    1.96 + 
    1.97 +     s->shash = lrdf_gen_hash(subj);
    1.98 +     s->phash = lrdf_gen_hash(pred);
    1.99 +@@ -261,7 +265,7 @@ static void lrdf_store(void *user_data, const raptor_statement * statement)
   1.100 + 
   1.101 +     s->subject = lrdf_check_hash(resources_hash, s->shash, subj);
   1.102 +     s->predicate = lrdf_check_hash(resources_hash, s->phash, pred);
   1.103 +-    if (statement->object_type == RAPTOR_IDENTIFIER_TYPE_LITERAL) {
   1.104 ++    if (statement->object->type == RAPTOR_TERM_TYPE_LITERAL) {
   1.105 + 	s->object = lrdf_check_hash(literals_hash, s->ohash, obj);
   1.106 + 	s->object_type = lrdf_literal;
   1.107 +     } else {
   1.108 +@@ -537,28 +541,22 @@ void lrdf_rebuild_taxonomic_closure(lrdf_closure_hash ** fwd_tbl,
   1.109 +     free(pathto);
   1.110 + }
   1.111 + 
   1.112 +-static void lrdf_error_handler(void *data, raptor_locator * locator,
   1.113 +-			       const char *message);
   1.114 ++static void lrdf_log_handler(void *data, raptor_log_message *message);
   1.115 + 
   1.116 +-static void lrdf_error_handler(void *data, raptor_locator * locator,
   1.117 +-			       const char *message)
   1.118 ++static void lrdf_log_handler(void *data, raptor_log_message *message)
   1.119 + {
   1.120 +-    fprintf(stderr, "liblrdf: error - ");
   1.121 +-    raptor_print_locator(stderr, locator);
   1.122 +-    fprintf(stderr, " - %s\n", message);
   1.123 +-
   1.124 +-    raptor_parse_abort((raptor_parser*)data);
   1.125 +-}
   1.126 ++    const char *severity = "error";
   1.127 ++    if (message->level == RAPTOR_LOG_LEVEL_WARN) {
   1.128 ++	severity = "warning";
   1.129 ++    }
   1.130 + 
   1.131 +-static void lrdf_warning_handler(void *data, raptor_locator * locator,
   1.132 +-				 const char *message);
   1.133 ++    fprintf(stderr, "liblrdf: %s - ", severity);
   1.134 ++    raptor_locator_print(message->locator, stderr);
   1.135 ++    fprintf(stderr, " - %s\n", message->text);
   1.136 + 
   1.137 +-static void lrdf_warning_handler(void *data, raptor_locator * locator,
   1.138 +-				 const char *message)
   1.139 +-{
   1.140 +-    fprintf(stderr, "liblrdf: warning - ");
   1.141 +-    raptor_print_locator(stderr, locator);
   1.142 +-    fprintf(stderr, " - %s\n", message);
   1.143 ++    if (message->level != RAPTOR_LOG_LEVEL_WARN) {
   1.144 ++	raptor_parser_parse_abort((raptor_parser*)data);
   1.145 ++    }
   1.146 + }
   1.147 + 
   1.148 + 
   1.149 +@@ -593,15 +591,15 @@ int lrdf_read_file_intl(const char *uri)
   1.150 +     lrdf_hash source;
   1.151 + 
   1.152 +     //printf("lrdf: reading %s\n", uri);
   1.153 +-    ruri = raptor_new_uri(uri);
   1.154 +-    furi = raptor_new_uri(uri);
   1.155 ++    ruri = raptor_new_uri(world, (const unsigned char *) uri);
   1.156 ++    furi = raptor_new_uri(world, (const unsigned char *) uri);
   1.157 +     source = lrdf_gen_hash(uri);
   1.158 +     lrdf_check_hash(resources_hash, source, uri);
   1.159 + 
   1.160 +     if (strstr(uri, ".rdf")) {
   1.161 +-	parser = raptor_new_parser("rdfxml");
   1.162 ++	parser = raptor_new_parser(world, "rdfxml");
   1.163 +     } else {
   1.164 +-	parser = raptor_new_parser("ntriples");
   1.165 ++	parser = raptor_new_parser(world, "ntriples");
   1.166 +     }
   1.167 +     if (!parser) {
   1.168 + 	fprintf(stderr, "liblrdf: failed to create parser\n");
   1.169 +@@ -609,12 +607,11 @@ int lrdf_read_file_intl(const char *uri)
   1.170 + 	return 1;
   1.171 +     }
   1.172 + 
   1.173 +-    raptor_set_error_handler(parser, parser, lrdf_error_handler);
   1.174 +-    raptor_set_warning_handler(parser, NULL, lrdf_warning_handler);
   1.175 +-    raptor_set_statement_handler(parser, &source, lrdf_store);
   1.176 +-    raptor_set_default_generate_id_parameters(parser, NULL, ++lrdf_uid);
   1.177 ++    raptor_world_set_log_handler(world, parser, lrdf_log_handler);
   1.178 ++    raptor_parser_set_statement_handler(parser, &source, lrdf_store);
   1.179 ++    raptor_world_set_generate_bnodeid_parameters(world, NULL, ++lrdf_uid);
   1.180 + 
   1.181 +-    if (raptor_parse_file(parser, furi, ruri)) {
   1.182 ++    if (raptor_parser_parse_file(parser, furi, ruri)) {
   1.183 + 	raptor_free_uri(furi);
   1.184 + 	raptor_free_uri(ruri);
   1.185 + 	raptor_free_parser(parser);
   1.186 +--- configure.ac
   1.187 ++++ configure.ac
   1.188 +@@ -18,7 +18,7 @@
   1.189 + AC_HEADER_STDC
   1.190 + AC_CHECK_HEADERS([errno.h limits.h stdlib.h string.h unistd.h])
   1.191 + 
   1.192 +-PKG_CHECK_MODULES(RAPTOR, raptor >= 0.9.11)
   1.193 ++PKG_CHECK_MODULES(RAPTOR, raptor2 >= 0.9.11)
   1.194 + 
   1.195 + # Checks for typedefs, structures, and compiler characteristics.
   1.196 + AC_C_CONST