static void rdfdump_error_handler(void *data, raptor_locator *locator, const char *message) { if(!ignore_errors) { fprintf(stderr, "%s: Error - ", program); raptor_print_locator(stderr, locator); fprintf(stderr, " - %s\n", message); raptor_parse_abort((raptor_parser*)data); } error_count++; }
static void handle_statements(void *user_data, const raptor_statement *statement) { my_data* me=(my_data*)user_data; me->count++; if(me->count > me->max) { fprintf(me->stream, "Reached %d statements, stopping\n", me->max); raptor_parse_abort(me->parser); me->stopped=1; return; } fprintf(me->stream, "Saw statement %d\n", me->count); }
static int raptor_guess_parse_chunk(raptor_parser* rdf_parser, const unsigned char *buffer, size_t len, int is_end) { raptor_guess_parser_context* guess_parser=(raptor_guess_parser_context*)rdf_parser->context; if(guess_parser->do_guess) { const unsigned char *identifier=NULL; const char *name; guess_parser->do_guess=0; if(rdf_parser->base_uri) identifier=raptor_uri_as_string_v2(rdf_parser->world, rdf_parser->base_uri); name=raptor_guess_parser_name_v2(rdf_parser->world, NULL, guess_parser->content_type, buffer, len, identifier); if(!name) { raptor_parser_error(rdf_parser, "Failed to guess parser from content type '%s'", guess_parser->content_type ? guess_parser->content_type : "(none)"); raptor_parse_abort(rdf_parser); if(guess_parser->parser) { raptor_free_parser(guess_parser->parser); guess_parser->parser=NULL; } return 1; } else { #if RAPTOR_DEBUG > 1 RAPTOR_DEBUG2("Guessed parser name '%s'\n", name); #endif /* If there is an existing guessed parser factory present and * it's different from the wanted parser, free it */ if(guess_parser->parser) { raptor_parser_factory* factory=raptor_get_parser_factory(rdf_parser->world, name); if(guess_parser->parser->factory != factory) { raptor_free_parser(guess_parser->parser); guess_parser->parser=NULL; } } if(!guess_parser->parser) { guess_parser->parser=raptor_new_parser_v2(rdf_parser->world, name); if(!guess_parser->parser) return 1; } /* copy any user data to the grddl parser */ if(raptor_parser_copy_user_state(guess_parser->parser, rdf_parser)) return 1; if(raptor_start_parse(guess_parser->parser, rdf_parser->base_uri)) return 1; } } /* now we can pass on calls to internal guess_parser */ return raptor_parse_chunk(guess_parser->parser, buffer, len, is_end); }