diff options
author | Dave Beckett <dave@dajobe.org> | 2010-01-30 16:03:26 -0800 |
---|---|---|
committer | Dave Beckett <dave@dajobe.org> | 2010-01-30 16:03:26 -0800 |
commit | 8f38086f520dfdb6517e990e52e35a7dd84170a3 (patch) | |
tree | b2043fce6ed7dd88bae7766a7de3239c0219b12f /ChangeLog.9 | |
parent | 3ebbe5ca5102a889dd8c5c1801ba8c2e852f3511 (diff) | |
download | raptor-8f38086f520dfdb6517e990e52e35a7dd84170a3.tar.gz |
ChangeLog.9 for 2008
Diffstat (limited to 'ChangeLog.9')
-rw-r--r-- | ChangeLog.9 | 3100 |
1 files changed, 3100 insertions, 0 deletions
diff --git a/ChangeLog.9 b/ChangeLog.9 new file mode 100644 index 00000000..b1984802 --- /dev/null +++ b/ChangeLog.9 @@ -0,0 +1,3100 @@ +2008-11-26 Dave Beckett <dave@dajobe.org> + + * docs/tmpl/section-general.sgml, docs/tmpl/section-triples.sgml: + sgml docs + + * tests/turtle/Makefile.am: more workarounds for noisy gnu make + + * tests/turtle/Makefile.am: workaround gnu make being noisy + + * tests/Makefile.am, tests/ex-62.rdf, tests/turtle/Makefile.am, + tests/turtle/ex-62.rdf: Moved remaining turtle tests to + tests/turtle + + * configure.ac, tests/Makefile.am, tests/all-escape.nt, + tests/all-escape.rdf, tests/bad-00.nt, tests/bad-01.nt, + tests/bad-02.nt, tests/bad-03.nt, tests/bad-04.nt, + tests/bad-05.nt, tests/bad-06.nt, tests/ntriples, + tests/ntriples/Makefile.am, tests/ntriples/all-escape.nt, + tests/ntriples/all-escape.rdf, tests/ntriples/bad-00.nt, + tests/ntriples/bad-01.nt, tests/ntriples/bad-02.nt, + tests/ntriples/bad-03.nt, tests/ntriples/bad-04.nt, + tests/ntriples/bad-05.nt, tests/ntriples/bad-06.nt, + tests/ntriples/test.nt, tests/ntriples/test.out, tests/test.nt, + tests/test.out: Moved ntriples tests to tests/ntriples + + * tests/Makefile.am: Removed unused OWL URLs + + * configure.ac, tests/ex*rdf, tests/ex*out, tests/bad*rdf, + tests/warn*rdf, tests/warn*out, tests/wine*: Moved rdf/xml parsing + and serializing tests to tests/rdfxml + + * src/raptor_nfc.c: + (raptor_nfc_check): Invert check for + raptor_nfc_check_combiners "check 3" to make legal Unicode + sequence U+006b U+0061 U+0304 U+0062 U+006f U+006c + as UTF-8 encoded bytes: + 0x6b 0x61 0xcc 0x84 0x62 0x6f 0x6c + work. Causes additional raptor_nfc_test failures but they are + probably(?) not correct. raptor_nfc_test is not currently part of + the normal test suite (make check) + + Fixes Issue#0000259 http://bugs.librdf.org/mantis/view.php?id=259 + +2008-11-22 Dave Beckett <dave@dajobe.org> + + * src/turtle_common.c: + (raptor_stringbuffer_append_turtle_string): Calculate new string + size correctly. + + * src/turtle_parser.y: + (turtle_parse): Take a length arg and save a strlen inside lexer + by using turtle_lexer__scan_bytes + +2008-11-18 Dave Beckett <dave@dajobe.org> + + * librdfa/rdfa.c: GIT commit + 2ddcb3f9e010d0b3d9ee546e807539be5da1b14a + The bug appears whenever there is a subject and predicate + specified on an element, but no child nodes for the object literal. + + Fixes Issue#0000289 http://bugs.librdf.org/mantis/view.php?id=289 + +2008-11-12 Lauri Aalto <laalto@iki.fi> + + * src/raptor_sax2.c: + (raptor_sax2_parse_chunk): Fixed raptor_log_error_to_handlers() + calls when built with expat. Fixes issue #287 + http://bugs.librdf.org/mantis/view.php?id=287 + +2008-11-07 Dave Beckett <dave@dajobe.org> + + * configure.ac: handle empty LEX in test + +2008-10-13 Lauri Aalto <laalto@iki.fi> + + * src/raptor_internal.h, src/raptor_sax2.c: + (raptor_sax2_init, raptor_sax2_finish): (revert r14679, reapply + r14459): Reintroduce sax2_initialized counter. This time to work + around issues cleaning up libxml2 in case it was never initialized + due to a failure earlier in raptor initialization. + +2008-10-09 Lauri Aalto <laalto@iki.fi> + + * src/raptor_grddl.c: + (raptor_terminate_parser_grddl_common): Zero raptor_xslt_sec + variable after xsltFreeSecurityPrefs() to prevent double deletions + with multiple raptor instances in the same process. + + * src/raptor_internal.h, src/raptor_sax2.c: + (raptor_sax2_init, raptor_sax2_finish): (Revert r14459) Removed + sax2_initialized counter from raptor_world. Does not serve its + purpose if multiple raptor_worlds used. + +2008-10-08 Lauri Aalto <laalto@iki.fi> + + * src/raptor.h, src/raptor_general.c, src/raptor_internal.h: + Revert r14677 as unnecessary + + * src/raptor.h, src/raptor_general.c, src/raptor_internal.h: + (raptor_world_instance): Internal function turned to an API + function for legacy support. + +2008-10-07 Lauri Aalto <laalto@iki.fi> + + * src/raptor.h: Wrap raptor_world declaration to + RAPTOR_WORLD_DECLARED preprocessor guards. + + * src/raptor_general.c: docs + +2008-10-06 Dave Beckett <dave@dajobe.org> + + * src/raptor.h: RAPTOR_DISABLE_V1 not RAPTOR_DISBALE_V1 + +2008-10-06 Lauri Aalto <laalto@iki.fi> + + * src/raptor_set.c: Refactored raptor_set_test to use raptor v2 + functions. + + * src/raptor_avltree.c: Refactored raptor_avltree_test to use + raptor v2 functions. + + * src/raptor_turtle_writer.c: Refactored raptor_turtle_writer_test + to use raptor v2 functions. + + * src/raptor_xml_writer.c: Refactored raptor_xml_writer_test to + use raptor v2 functions. + + * src/raptor_www_test.c: Refactored raptor_www_test to use raptor + v2 functions. + + * src/raptor_namespace.c: Refactored raptor_namespace_test to use + raptor v2 functions. + + * src/raptor_uri.c: Refactored raptor_uri_test to use raptor v2 + functions. + + * src/raptor_parse.c: Refactored raptor_parse_test to use raptor + v2 functions. + + * utils/rdfdiff.c: Refactored rdfdiff to use raptor v2 APIs + + internals. + + * src/raptor_internal.h, src/raptor_statement.c: Reorganized + internal raptor_statement functions. + + (raptor_statement_copy): Require raptor_world param, replace + earlier raptor_statement_copy_common() static function. + + (raptor_free_statement): Require raptor_world param, replace + earlier raptor_free_statement_common() static function. Loses + RAPTOR_DISABLE_V1 status. + + (raptor_print_statement_v1): Pulled static function to library + internals. + + * utils/rapper.c: Refactored rapper to use raptor v2 API. + + * src/raptor.h, src/raptor_serialize_rdfxml.c, + src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, + src/raptor_uri.c: + (raptor_uri_to_relative_uri_string_v2): New v2 API + function. raptor_uri_to_relative_uri_string() depends on V1 + functions and cannot be used with RAPTOR_DISABLE_V1 or without + raptor_init(). + + * src/raptor_internal.h: Fixed flipped flag + + * src/raptor_general.c: + (raptor_world_open): Fixed return type + + * src/raptor.h, src/raptor_general.c, src/raptor_internal.h, + src/raptor_www.c: Refactored raptor_www init/finish to support v2 + raptor_world_instance. Retain source/binary compatibility with old + API. + + (raptor_www_init_v2, raptor_www_finish_v2, + raptor_www_no_www_library_init_finish_v2): New API functions that + work with raptor_world objects. + + * src/raptor.h, src/raptor_general.c, src/raptor_internal.h: + Decouple raptor_world allocation and initialization to allow + setting flags etc. before init. + + (raptor_world_open): New API function. + + (raptor_world_s): Internal struct gains opened field. + + * src/raptor.h, src/raptor_parse.c, + src/raptor_serialize.c: + (raptor_parser_get_world, raptor_serializer_get_world): Added two + new API functions to access raptor_world from a parser/serializer + object. + + * src/raptor.h, src/raptor_feature.c, src/raptor_general.c, + src/raptor_identifier.c, src/raptor_internal.h, + src/raptor_iostream.c, src/raptor_locator.c, + src/raptor_namespace.c, src/raptor_parse.c, src/raptor_qname.c, + src/raptor_sequence.c, src/raptor_serialize.c, + src/raptor_serialize_ntriples.c, src/raptor_statement.c, + src/raptor_uri.c, src/raptor_www.c, src/raptor_xml_writer.c: Added + API flag RAPTOR_V2_AVAILABLE. + + Flagged v1 functions replaced with v2 variants with RAPTOR_V1 - + easy to deprecate later. + + Wrapped v1 functions replaced with v2 variabrs in #ifndef + RAPTOR_DISABLE_V1 - easy to remove old implementations if needed. + + * src/fix-bison: Keep #line references up to date + + * src/fix-bison, src/n3_parser.y, src/turtle_parser.y: HACK: Use + fix-bison to pass in pure bison parser param (rdf_parser*) to + %destructor - raptor_world required for raptor_free_uri_v2(). + + * src/raptor.h, src/raptor_serialize_ntriples.c: Refactored + raptor_serialize_ntriples internals to use v2 raptor_world APIs. + + (raptor_iostream_write_statement_ntriples_v2): New API function + that takes in a raptor_world param. + +2008-10-03 Lauri Aalto <laalto@iki.fi> + + * src/raptor_grddl.c: Refactored raptor_grddl internals to use v2 + raptor_world APIs. + + * src/raptor_serialize_rss.c: Debug prints to use v2 APIs. + + * src/raptor_serialize.c: + (raptor_serializer_register_factory): Fixed compiler warning in + debug print. + + * src/raptor_namespace.c, src/raptor_qname.c, src/turtle_parser.y: + Debug prints to use v2 APIs. + + * src/raptor.h, src/raptor_sequence.c: + (raptor_new_sequence_with_handler_context): New API function that + supports passing context data (e.g. raptor_world) to free_handler, + print_handler. + + (raptor_sequence_set_print_handler_v2): New API function. + + (raptor_sequence_free_handler_v2, + raptor_sequence_print_handler_v2): New API callback function + typedefs for raptor_new_sequence_with_handler_context(), + raptor_sequence_set_print_handler_v2(). + + (raptor_sequence_print_uri): Deprecated API function, should use + raptor_uri_print(), raptor_uri_print_v2() instead. + + (raptor_free_sequence, raptor_sequence_set_at, + raptor_sequence_push, raptor_sequence_shift): Support + free_handler_v2 + + (raptor_sequence_print): Support print_handler_v2. + + * src/raptor_expat.c: + (raptor_expat_init): v2 APIs + + * src/raptor.h, src/raptor_iostream.c, + src/raptor_serialize_simple.c: Refactored raptor_iostream + internals to use v2 raptor_world APIs. + + (raptor_iostream_write_uri_v2): New API function that takes in a + raptor_world param. + + (raptor_simple_serialize_statement): Use + raptor_iostream_write_uri_v2() instead of + raptor_iostream_write_uri(). + + * utils/rdfdiff.c: + (long_options,title_format_string): Use const qualifier for + constant data. + + * utils/rapper.c: + (long_options,title_format_string): Use const qualifier for + constant data. + + * src/raptor_www.c: Changed raptor_www_do_www_init_finish to its + inverse raptor_www_skip_www_init_finish to make the flag default + to 0 -> moved from writable .data chunk to .bss. + + * librdfa/curie.c: + (g_property_reserver_words,g_relrev_reserver_words): Use const + qualifier for constant data. + +2008-10-02 Lauri Aalto <laalto@iki.fi> + + * src/raptor_statement.c: + (raptor_statement_compare_v2): Fixed args to + raptor_statement_compare_common() + + * src/raptor_statement.c: + (raptor_print_statement_as_ntriples_common): Added const qualifier + to helper prototype + + * src/raptor.h, src/raptor_abbrev.c, src/raptor_internal.h, + src/raptor_rss_common.c, src/raptor_serialize_json.c, + src/raptor_serialize_rss.c, src/raptor_statement.c: Refactored + raptor_statement internals to use v2 raptor_world APIs. + + (raptor_statement_v2): New API struct for wrapping + raptor_statement with raptor_world without breaking source/binary + compatibility. + + (raptor_print_statement_v2, raptor_print_statement_as_ntriples_v2, + raptor_statement_compare_v2): New API function variants that work + on raptor_statement_v2 objects. + + (raptor_statement_part_as_counted_string_v2, + raptor_statement_part_as_string_v2): New API function variants + that take in raptor_world object. + + (raptor_statement_copy_v2, raptor_statement_copy_v2_from_v1, + raptor_free_statement_v2): New internal raptor_statement_v2 + lifecycle functions. + + (raptor_print_abbrev_po): Use + raptor_statement_part_as_string_v2(). + + (raptor_new_rss_item, raptor_rss10_serialize_init, + raptor_rss10_move_statements, + raptor_rss10_move_anonymous_statements, + raptor_rss10_store_statement, raptor_rss10_serialize_statement, + raptor_rss10_build_items, raptor_rss10_emit_rdfxml_item_triples, + raptor_rss10_serialize_end): triples sequences are now sequences + of raptor_statement_v2. + + (raptor_json_serialize_start, raptor_json_serialize_statement): + context->avltree is now a tree of raptor_statement_v2. + + (raptor_statement_copy_common): (Pulled from + raptor_statement_copy.) Now also checks for OOM. + + + * librdfa/curie.c, librdfa/rdfa.c: Refactored librdfa raptor + integration internals to use v2 raptor_world APIs. + +2008-09-23 Lauri Aalto <laalto@iki.fi> + + * src/raptor_www_libfetch.c, src/raptor_www_libxml.c: Refactored + raptor_www_lib{fetch,xml} internals to use v2 raptor_world APIs. + + * src/raptor_www_curl.c: Refactored raptor_www_curl internals to + use v2 raptor_world APIs. + +2008-09-22 Lauri Aalto <laalto@iki.fi> + + * src/raptor_abbrev.c, src/raptor_namespace.c, + src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, + src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, + src/raptor_xml.c: Use + raptor_new_qname_from_namespace_local_name_v2() instead of + raptor_new_qname_from_namespace_local_name() + +2008-09-20 Lauri Aalto <laalto@iki.fi> + + * src/raptor_sequence.c: + (raptor_sequence_set_at): Maintain sequence design contract: + "size" consecutive items in "sequence" starting from "start" when + setting items more than +1 offset beyond the end of sequence. + + Fixes Issue#000276 http://bugs.librdf.org/mantis/view.php?id=276 + +2008-09-19 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_rss.c: + (raptor_rss_group_map): Internal struct gains world field, cannot + trust item to be valid to use item->world. + + (raptor_free_group_map, raptor_rss_group_map_compare, + raptor_rss10_set_item_group): Use/init group_map's raptor_world. + + (raptor_rss10_get_group_item): Init world field on search group + map allocated on stack. + + * src/raptor_rss_common.c: + (raptor_new_rss_item): Init identifier.world as well + + * src/raptor.h, src/raptor_qname.c: + (raptor_new_qname_from_namespace_local_name_v2): New API function + that takes in a raptor_world param. Passed in raptor_namespace* + may be NULL -> cannot use ns->world. + + (raptor_qname_copy): Copy qname->world as well. + + * src/raptor_serialize_json.c: Refactored raptor_serialize_json + internals to use v2 raptor_world APIs. + + * src/raptor_serialize_dot.c: Refactored raptor_serialize_dot + internals to use v2 raptor_world APIs. + + * src/raptor_serialize_rss.c: Refactored raptor_serialize_rss + internals to use v2 raptor_world APIs. + + * src/raptor_serialize_turtle.c: Refactored + raptor_serializer_turtle internals to use v2 raptor_world APIs. + + * src/raptor_serialize_rdfxmla.c: Refactored + raptor_serializer_rdfxmla internals to use v2 raptor_world APIs. + + * src/raptor_avltree.c: + (raptor_new_avltree): Bugfix: set world + field to passed in value. + + * src/raptor_abbrev.c, src/raptor_avltree.c, + src/raptor_internal.h, src/raptor_serialize_json.c, + src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, + src/raptor_serialize_turtle.c, src/raptor_set.c: Refactored + raptor_abbrev, raptor_avltree internals to use v2 raptor_world + APIs. + + (raptor_new_abbrev_node, raptor_new_avltree): Internal functions + changed to take in raptor_world. + + (raptor_avltree_s): Moved internal struct definition to + raptor_internal.h. Gains world field. + + (raptor_abbrev_node): Internal struct gains world field. + + * src/raptor_serialize_json.c: + (raptor_json_serializer_start): + Fixed accidentally deleted base_uri declaration + + * src/raptor_internal.h, src/raptor_json_writer.c, + src/raptor_serialize_json.c: Refactored raptor_json_writer + internals to use v2 raptor_world APIs. + + (raptor_new_json_writer): Internal function prototype + changed. Require raptor_world, do not take uri handlers anymore. + + * src/raptor_serialize.c, src/raptor_serialize_ntriples.c, + src/raptor_serialize_rdfxml.c, src/raptor_turtle_writer.c: Further + internals refactoring to use v2 raptor_uri functions. + + * src/raptor.h, src/raptor_internal.h, src/raptor_rdfxml.c, + src/raptor_statement.c, src/raptor_uri.c: Further refactored + raptor_uri internals to use v2 raptor_world APIs. + + (raptor_uri_to_relative_counted_uri_string_v2, + raptor_uri_print_v2, raptor_uri_to_counted_string_v2, + raptor_uri_to_string_v2): New API functions that take in a + raptor_world param. + + (raptor_new_uri_from_rdf_ordinal): Changed internal function to + take in raptor_world. + + * src/raptor_serialize_rdfxml.c: Refactored + raptor_serialize_rdfxml internals to use v2 raptor_world APIs. + +2008-09-18 Lauri Aalto <laalto@iki.fi> + + * src/raptor_librdfa.c: Refactored raptor_librdfa internals to use + v2 raptor_world APIs. + + * src/raptor_guess.c: Refactored raptor_guess internals to use v2 + raptor_world APIs. + + * src/raptor_rss.c, src/raptor_rss.h, src/raptor_rss_common.c, + src/raptor_serialize_rss.c: Refactored raptor_rss internals to use + v2 raptor_world APIs. + + (raptor_rss_field_s, raptor_rss_item_s, raptor_rss_model, + raptor_rss_element_s): Internal structs gain world field. + + (raptor_new_rss_item, raptor_rss_new_field): Internal functions + gain world param. + + * src/ntriples_parse.c: Refactored ntriples_parse internals to use + v2 raptor_world APIs. + + * src/n3_lexer.l, src/n3_parser.y: Refactored n3_parser/n3_lexer + internals to use v2 raptor_world APIs. + FIXME: Figure out a way to pass custom args (raptor_world) to + %destructor. + +2008-09-12 Lauri Aalto <laalto@iki.fi> + + * src/turtle_parser.y: Refactored turtle_parser internals to use + v2 raptor_world APIs. + FIXME: Figure out a way to pass custom args (raptor_world) to + %destructor. + + * src/turtle_lexer.l: Refactored turtle_lexer internals to use v2 + raptor_world APIs. + + * src/n3_parser.y: + (FLOATING_LITERAL): missing cast + + * src/raptor_sax2.c: Refactored raptor_sax2 internals to use v2 + raptor_world APIs. + + * src/raptor_www.c: + (raptor_www_fetch): Use raptor_new_uri_for_retrieval_v2() + + * src/raptor.h, src/raptor_uri.c: + (raptor_new_uri_for_xmlbase_v2, raptor_new_uri_for_retrieval_v2): + Added new v2 API functions to replace old ones. Refactored + internals to use raptor v2 raptor_world APIs. + + * src/raptor_rdfxml.c: Refactored raptor_rdfxml internals to use + v2 raptor_world APIs. + + * src/raptor_rdfxml.c: Refactored raptor_rdfxml internals to use + v2 raptor_world APIs. + + * src/raptor.h, src/raptor_uri.c: + (raptor_new_uri_from_id_v2): Added new API function to replace + raptor_new_uri_from_id(). Refactored internals to use raptor v2 + raptor_world APIs. + + * src/n3_parser.y, src/raptor_internal.h, src/raptor_xsd.c: + Refactored raptor_xsd internals to use v2 raptor_world APIs. + + (raptor_new_identifier_from_double): Internal function prototype + changed. + + * src/raptor_turtle_writer.c: + (main): Use raptor_world_instance() in test code temporarily to + make tests compile + + * src/raptor_internal.h, src/raptor_serialize_turtle.c, + src/raptor_turtle_writer.c: Refactored raptor_turtle_writer + internals to use v2 raptor_world APIs. + + (raptor_new_turtle_writer): Internal function prototype changed. + + * src/raptor_set.c: + (main): Use raptor_world_instance() in test code temporarily to + make tests compile + + * src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_set.c: + Refactored raptor_set internals to use v2 raptor_world APIs. + + (raptor_new_id_set): Internal function changed to require + raptor_world param. + + * src/raptor.h, src/raptor_xml_writer.c: Refactored + raptor_xml_writer internals to use v2 raptor_world APIs. + + (raptor_new_xml_writer_v2): New API function that takes in a + raptor_world param. + +2008-09-10 Dave Beckett <dave@dajobe.org> + + * docs/libraptor.3: extra b + +2008-09-10 Lauri Aalto <laalto@iki.fi> + + * src/raptor_rss.h: + (raptor_rss_namespace_info): Fix const member missing constructor + warning in c++ mode. + + * src/raptor_internal.h, src/raptor_sax2.c: + (raptor_world_s, raptor_sax2_init, raptor_sax2_finish): Store + raptor_sax2 init counter in raptor_world. Works around resiliency + issues in some xml parser implementations where xmlCleanupParser() + crashes if xmlInitParser() has not been run. + +2008-09-08 Lauri Aalto <laalto@iki.fi> + + * src/raptor.h, src/raptor_internal.h: Moved EXTERN_C definitions + to internal header - no need to expose in API. + + * src/raptor.h, src/raptor_iostream.c, src/raptor_parse.c, + src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_www.c: + Workaround for an armcc c++ mode issue regarding function pointers + as arguments: Need explicit extern "C" to get C linkage for C + function pointers. + + * src/raptor_rdfxml.c: + (rdf_syntax_terms_info,rdf_content_type_info): Fixed c++ mode + warnings about missing const member initializers. Array data is + already const by the outermost const. + + * src/n3_lexer.l, src/turtle_lexer.l: casts for c++ + +2008-09-05 Dave Beckett <dave@dajobe.org> + + * src/raptor_libxml.c: + (raptor_libxml_xmlStructuredErrorFunc): Use fputs when there is no + error handler. + + * src/raptor_serialize_rss.c: + (raptor_rss10_ensure_atom_field_zero_one): do not assign same + variable field while initing it. + + * librdfa/rdfa.c, src/raptor_rss_common.c, + src/raptor_serialize_rss.c: Fixes for g++ from + Issue#0000270 http://bugs.librdf.org/mantis/view.php?id=270 + +2008-09-04 Lauri Aalto <laalto@iki.fi> + + * src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss.h, + src/raptor_rss_common.c: + (raptor_rdfxml_start_element_handler, + raptor_rss_new_enclosure): Bugfix: Initialize world fields in + composed raptor_identifiers. + + * src/raptor_xml.c: Refactored raptor_xml internals to use v2 + raptor_world APIs. + + * src/raptor.h, src/raptor_identifier.c: Refactored + raptor_identifier internals to use v2 raptor_world functions. + + (raptor_new_identifier_v2): New API function that takes in + raptor_world param. + + (raptor_identifier): API struct gains world field. BINARY + COMPATIBILITY BREAK: sizeof(raptor_identifier) changed. Source + compatibility not broken. + +2008-09-03 Lauri Aalto <laalto@iki.fi> + + * src/raptor_parse.c: + (raptor_parse_uri_with_connection): Use + raptor_www v2 functions + + * src/raptor.h, src/raptor_internal.h, src/raptor_www.c: + Refactored raptor_www internals to use v2 raptor_world functions. + + (raptor_www_new_v2, raptor_www_new_with_connection_v2): New API + functions that take in raptor_world param. + + (raptor_www_s): Internal struct gains world param. + + * src/raptor.h, src/raptor_general.c, src/raptor_grddl.c, + src/raptor_internal.h, src/raptor_libxml.c, src/raptor_parse.c, + src/raptor_sax2.c, src/raptor_www.c: Refactored raptor logging to + use v2 raptor_world functions. Store world pointer to raptor_sax2, + raptor_error_handlers. + + (raptor_error_handlers): API struct gains world field. BINARY + COMPATIBILITY BREAK: struct size and layout changed. (Source + compatibility not broken.) + + (raptor_error_handlers_init_v2): New API function that takes in + raptor_world param. + + (raptor_log_error_to_handlers, raptor_log_error_varargs, + raptor_log_error): Internal logging functions now require a + raptor_world param (may be NULL). + + (raptor_sax2_s): Internal struct gains world field. + + * src/raptor_rss_common.c: + (raptor_rss_types_info, + raptor_rss_fields_info): Fixed gcc warnings about missing + initializers. + + * src/raptor_internal.h, src/raptor_qname.c: + (raptor_free_qname, + raptor_qname_copy, raptor_new_qname, + raptor_new_qname_from_namespace_local_name): Bugfix: qname nspace + field may be NULL. Store world pointer in qname struct and use it + instead of indirecting nspace->nstack->world. + + (raptor_qname_s): Internal struct gains world field. + + * src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, + src/raptor_parse.c, src/raptor_serialize.c, + src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Refactored + raptor_feature internals to use v2 raptor_world functions. + + (raptor_features_enumerate_v2, + raptor_serializer_features_enumerate_v2, + raptor_feature_from_uri_v2, + raptor_xml_writer_features_enumerate_v2): New API functions that + take in raptor_world param. + + (raptor_features_enumerate_common, + raptor_turtle_writer_features_enumerate): Internal functions + changed to take in raptor_world param. + + * src/raptor_qname.c: Refactored raptor_qname internals to use v2 + raptor_world functions. + + * src/raptor.h, src/raptor_internal.h, src/raptor_namespace.c: + Refactored raptor_namespace internals to use v2 raptor_world + functions. + + (raptor_new_namespaces_v2, raptor_namespaces_init_v2): New API + functions that take in raptor_world param and use the uri handlers + defined in it. + + (raptor_namespace_stack_s): Internal struct gains world field, + loses uri_handler, uri_context fields. + +2008-09-02 Dave Beckett <dave@dajobe.org> + + * src/raptor_nfc_test.c: Update what is being ntested + +2008-09-02 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize.c: + (raptor_serializer_error_varargs, + raptor_serializer_warning_varargs): Use locator v2 functions + + * src/raptor.h, src/raptor_locator.c: Refactored raptor_locator + internals to use v2 raptor_world functions. + + (raptor_print_locator_v2, raptor_format_locator_v2, + raptor_locator_uri_v2): New API functions that take in a + raptor_world param. + + * src/raptor_uri.c: + (raptor_uri_init): Use raptor_world* as + default uri handler context. + + (raptor_default_new_uri): Refactored internals to use v2 + raptor_world functions. + + * src/raptor_serialize.c: + (raptor_serialize_start_to_iostream, + raptor_serialize_start_to_filename, + raptor_serialize_start_to_string, + raptor_serialize_start_to_file_handle, raptor_free_serializer, + raptor_serializer_set_feature_string): Refactored raptor_serialize + internals to use v2 raptor_world functions. + + * src/raptor.h, src/raptor_parse.c: Refactored raptor_parse + internals to use v2 raptor_world functions. + + (raptor_new_parser_for_content_v2): New API function that takes in + a raptor_world param. + + (raptor_parser_register_factory, raptor_parser_factory_add_alias, + raptor_guess_parser_name_v2): Use RAPTOR_DEBUG instead of + RAPTOR_FATAL for error messaging and let caller handle the + error. These error conditions are really tests for + development-time assumptions and should surface in maintainer + mode (debug messages enabled). + + (raptor_start_parse, raptor_free_parser, raptor_parse_file, + raptor_parse_file_no_net_filter, raptor_parse_uri_with_connection, + raptor_guess_parser_name_v2): Refactored to use v2 raptor_world + functions. + + * src/raptor_general.c, src/raptor_www.c: + (raptor_new_world, + raptor_free_world, raptor_init, raptor_finish): Moved raptor_www + init/finish calls to new_world/free_world. + + Added a FIXME note to raptor_www to re-engineer the init/finish API. + + * src/raptor_internal.h, src/raptor_rss.c, src/raptor_rss.h, + src/raptor_rss_common.c, src/raptor_serialize_rss.c: Made + raptor_rss_{namespaces,types,fields}_info arrays const and moved + non-const uris/qnames to raptor_world. + + (raptor_rss_namespace_info): Internal struct loses uri field. + + (raptor_rss_info): Internal struct oses uri,qname fields. + + (raptor_world_s): Internal struct gains + rss_common_initialised (from raptor_rss_common_initialised static + in raptor_rss_common.c); rss_namespaces_info_uris, + rss_types_info_uris, rss_types_info_qnames, rss_fields_info_uris, + rss_fields_info_qnames from + raptor_rss_{namespaces,types,fields}_info arrays. + + (raptor_rss_item_s): Internal struct gains node_typei field for + indexing to uris/qnames in raptor_world. + + (raptor_rss10_serializer_context): Internal struct gains world + field. + + (raptor_rss_common_init): Require raptor_world param. Return int + return code. Allocate and init uri arrays in raptor_world. + + (raptor_rss_common_terminate): Require raptor_world param. Free + allocs by raptor_rss_common_init(). + + (raptor_rss10_build_xml_names): Allocate and init qname arrays in + raptor_world. Store item type index for uri/qname access. Access + uris/qnames in raptor_world. + + (raptor_rss10_serialize_terminate): Free qname arrays in + raptor_world. + + (raptor_rss_model_init): Require raptor_world param. + + (raptor_rss_parse_init, raptor_rss_start_element_handler, + raptor_rss_sax2_new_namespace_handler, + raptor_rss_insert_enclosure_identifiers, + raptor_rss_emit_enclosure, raptor_rss_emit_item, raptor_rss_emit, + raptor_rss10_move_statements, raptor_rss10_store_statement, + raptor_rss10_serialize_statement, + raptor_rss10_emit_atom_triples_map, raptor_rss10_emit_rss_items): + Access uris/qnames in raptor_world. + + (raptor_rss_insert_identifiers): Store item type index for + uri/qname access. + + (raptor_rss10_emit_item): Store item type index for uri/qname + access. Access uris/qnames in raptor_world. + +2008-09-01 Dave Beckett <dave@dajobe.org> + + * src/raptor_nfc_test.c: format + + * src/raptor_nfc_test.c: Make test take file as argument. Add + where it can be found + + * librdfa/curie.c: Merge to GIT + 5e29c166212c61d86223d2c4aa97e67fe0655063 + +2008-09-01 Lauri Aalto <laalto@iki.fi> + + * src/raptor_general.c, src/raptor_internal.h, + src/raptor_sax2.c: + (raptor_sax2_init, raptor_sax2_finish, raptor_init, raptor_finish, + raptor_new_world, raptor_free_world): Changed raptor_sax2 + init/finish code to the raptor_world model. Take in (unused) + raptor_world param. + + * src/raptor_grddl.c: + (raptor_init_parser_grddl_common): Fixed signature to match prototype + + * src/n3_parser.y, src/raptor.h, src/raptor_general.c, + src/raptor_internal.h, src/raptor_namespace.c, src/raptor_uri.c, + src/raptor_www_test.c, src/turtle_parser.y: Moved uri_handler and + uri_handler_context to raptor_world. + + (raptor_new_uri_v2, raptor_new_uri_from_uri_local_name_v2, + raptor_new_uri_relative_to_base_v2, + raptor_new_uri_for_rdf_concept_v2, raptor_free_uri_v2, + raptor_uri_equals_v2, raptor_uri_compare_v2, raptor_uri_copy_v2, + raptor_uri_as_string_v2, raptor_uri_as_counted_string_v2, + raptor_uri_set_handler_v2, raptor_uri_get_handler_v2): New API + functions that take in a raptor_world object. + + (raptor_uri_init,main): Changed internal function to take in + raptor_world param. Changed test code callers to use full + raptor_init()/raptor_finish() instead so that the world is + properly set up. + + FIXME: Refactor the raptor_uri opaque abstraction so that it can + store raptor_world* - no need to pass in world as an argument to + calls that take raptor_uris. + + * src/raptor.h, src/raptor_general.c, src/raptor_internal.h, + src/raptor_serialize.c, src/raptor_serialize_dot.c, + src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, + src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, + src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, + src/raptor_serialize_turtle.c: Moved serializers sequence to + raptor_world. + + (raptor_serializers_enumerate_v2, + raptor_serializer_syntax_name_check_v2, raptor_new_serializer_v2): + New API function variants that accept a raptor_world object. + + (raptor_serializer_s, raptor_seriazlizer_factory_s): Internal + structs gain world field. + + (raptor_serializer_register_factory, raptor_serializers_init, + raptor_serializers_finish, raptor_init_serializer_*): Internal + functions changed to require raptor_world param. + + (raptor_delete_serializer_factories): Removed unnecessary prototype. + + * src/n3_parser.y, src/ntriples_parse.c, src/raptor.h, + src/raptor_general.c, src/raptor_grddl.c, src/raptor_guess.c, + src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_parse.c, + src/raptor_rdfxml.c, src/raptor_rss.c, src/turtle_parser.y: + Introduced a raptor_world object for storing library-wide data + instead of static variables. + + Moved parsers sequence to raptor_world. + + (raptor_new_world, raptor_free_world): New API functions, + eventually to replace raptor_init() and raptor_finish(). + + (raptor_parsers_enumerate_v2, raptor_syntaxes_enumerate_v2, + raptor_syntax_name_check_v2, raptor_guess_parser_name_v2, + raptor_new_parser_v2): New API function variants that accept a + raptor_world object. + + (raptor_parser_s, raptor_parser_factory_s): Internal structs gain + world field. + + (raptor_parser_register_factory, raptor_parser_factory, + raptor_parser_get_accept_header_all, raptor_parsers_init, + raptor_parsers_finish, raptor_init_parser_*): Internal functions + changed to require raptor_world param. + + (raptor_world_instance): New accessor for a static pointer to a + raptor_world instance created by raptor_init(). Required for + supporting non-v2 API functions (where v2 variants exist). + +2008-08-29 Dave Beckett <dave@dajobe.org> + + * src/turtle_parser.y: + (raptor_trig_parse_recognise_syntax, + raptor_trig_parse_recognise_syntax): Use raptor_memstr to compare + a string against a buffer that may not be NUL terminated. + Part of fix for + Issue#0000269 http://bugs.librdf.org/mantis/view.php?id=269 + + * src/raptor_rdfxml.c: + (raptor_rdfxml_parse_recognise_syntax): Use + raptor_memstr to compare a string against a buffer that may not be + NUL terminated. + Part of fix for + Issue#0000269 http://bugs.librdf.org/mantis/view.php?id=269 + + * src/raptor_librdfa.c: + (raptor_librdfa_parse_recognise_syntax): + Use raptor_memstr to compare a string against a buffer that may + not be NUL terminated. + Part of fix for + Issue#0000269 http://bugs.librdf.org/mantis/view.php?id=269 + + * src/Makefile.am, src/raptor_memnstr.c, src/raptor_memstr.c (from + /raptor/trunk/src/raptor_memnstr.c:14406): Renamed + raptor_memnstr.c to raptor_memnstr.c + + * src/raptor_internal.h, src/raptor_memnstr.c: + (raptor_memstr): + Renamed from raptor_memnstr + +2008-08-27 Dave Beckett <dave@dajobe.org> + + * src/raptor_memnstr.c: comment + + * src/raptor_memnstr.c: includes + + * src/raptor_memnstr.c: internal + + * src/raptor_internal.h: Added raptor_memnstr() + + * src/Makefile.am: Added raptor_memnstr.c + + * src/raptor_memnstr.c: Added raptor_memnstr + +2008-08-25 Lauri Aalto <laalto@iki.fi> + + * src/fix-flex: Removed additional OOM checks added to + flex-generated ensure_buffer_stack(). flex versions 2.5.34 and + later generate the OOM checking code themselves. + +2008-08-24 Dave Beckett <dave@dajobe.org> + + * utils/rapper.c: + (main): Make printing triples count at least + potentially localizable. + + * src/raptor_uri.c: Added tests for + Issue#0000268 http://bugs.librdf.org/mantis/view.php?id=268 + which pass. + +2008-08-20 Lauri Aalto <laalto@iki.fi> + + * tests/rdfa/Makefile.am: Run tests inside set +e ... set -e + +2008-07-10 Lauri Aalto <laalto@iki.fi> + + * src/ntriples_parse.c: + (raptor_ntriples_generate_statement): Cast + to eliminate compiler printf-like format arg warning. + +2008-07-04 Dave Beckett <dave@dajobe.org> + + * configure.ac: Use AC_PROG_CC AM_PROG_CC_C_O + +2008-07-04 Lauri Aalto <laalto@iki.fi> + + * src/raptor_turtle_writer.c: + (raptor_turtle_writer_literal): + Validate XSD integer, decimal and double literal output. Emit + special short forms only if the whole literal value is consumed by + strtol() (for integers) or strtod() (for decimals and + doubles). Otherwise produce a warning and emit literal in the + normal "value"^^<datatype_uri> format. + Fixes Issue #0000263 http://bugs.librdf.org/mantis/view.php?id=263 + +2008-07-03 Dave Beckett <dave@dajobe.org> + + * NEWS.html, RELEASE.html, configure.ac, + src/win32_raptor_config.h: Bumped version to 1.4.19 + + * docs: props + +2008-07-02 Dave Beckett <dave@dajobe.org> + + * docs/libraptor.3: 2008 + +2008-07-02 Lauri Aalto <laalto@iki.fi> + + * src/ntriples_parse.c: + (raptor_ntriples_generate_statement): + Produce error messages when raptor_new_uri() fails. + Fixes Issue #0000262 http://bugs.librdf.org/mantis/view.php?id=262 + +2008-06-29 Dave Beckett <dave@dajobe.org> + + * tests/feeds/Makefile: fix + + * tests/feeds/Makefile, tests/feeds/atom.rnc, + tests/feeds/atom.rng, tests/feeds/test01.atom, + tests/feeds/test01.rss, tests/feeds/test02.atom, + tests/feeds/test02.rss, tests/feeds/test03.atom, + tests/feeds/test03.rss: Feed examples + + * tests/feeds: Add feeds + +2008-06-25 Dave Beckett <dave@dajobe.org> + + * Snapshotted raptor_1_4_18 for 1.4.18 release (SVN 14104) + +2008-06-23 Dave Beckett <dave@dajobe.org> + + * docs/Makefile.am, utils/Makefile.am: Use $(PERL) not perl + +2008-06-20 Dave Beckett <dave@dajobe.org> + + * README.html, RELEASE.html, docs/raptor-parsers.xml, + utils/rapper.1: Update RDFa pointers to + http://www.w3.org/TR/2008/CR-rdfa-syntax-20080620/ caniddate rec + + * src/raptor_sequence.c: + (raptor_sequence_set_at): Correct + counting when there is old data but no free handler. + + * tests/rdfa/0011.out, tests/rdfa/0092.out, tests/rdfa/0094.out, + tests/rdfa/0099.xhtml, tests/rdfa/0100.out, tests/rdfa/0100.xhtml, + tests/rdfa/0101.out, tests/rdfa/0101.xhtml, tests/rdfa/0102.out, + tests/rdfa/0102.xhtml, tests/rdfa/0103.out, tests/rdfa/0103.xhtml, + tests/rdfa/0104.xhtml, tests/rdfa/0105.out, tests/rdfa/0105.xhtml, + tests/rdfa/0106.out, tests/rdfa/0106.xhtml, tests/rdfa/0107.out, + tests/rdfa/0107.xhtml, tests/rdfa/0110.out, tests/rdfa/0110.xhtml, + tests/rdfa/0111.out, tests/rdfa/0111.xhtml, tests/rdfa/0112.out, + tests/rdfa/0112.xhtml, tests/rdfa/Makefile.am: Update approved + tests from + http://www.w3.org/2006/07/SWD/RDFa/testsuite/xhtml1-testcases/ as + of now + +2008-06-19 Dave Beckett <dave@dajobe.org> + + * docs/libraptor.3: Added raptor_serialize_start_to_iostream for + 1.4.18 + + * docs/raptor-tutorial-serializing.xml: xml + + * docs/raptor-tutorial-serializing.xml: Explain + raptor_serialize_start and raptor_serialize_start_to_iostream, + recommending the latter. + + * docs/Makefile.am: Call gtkdoc-scan with + --deprecated-guards="RAPTOR_DISABLE_DEPRECATED" + + * src/ntriples_parse.c, src/raptor.h, src/raptor_iostream.c, + src/raptor_statement.c, src/raptor_turtle_writer.c, + src/raptor_uri.c: Use RAPTOR_DISABLE_DEPRECATED macro to wrap + disabling deprecated functions and prototypes + + * docs/tmpl/section-feature.sgml, docs/tmpl/section-serializer.sgml: docs tmp + + * src/raptor_iostream.c: typo + + * docs/raptor-sections.txt: Added raptor_serialize_start_to_iostream + + * src/raptor_serialize.c: + (raptor_serialize_set_namespace): Allow + "" as a synonym for NULL prefix. + +2008-06-18 Dave Beckett <dave@dajobe.org> + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_item): Use + _:author for atom author bnode always since atom:author may not be + a valid bnode ID. + + * src/raptor_serialize_rss.c: + (raptor_rss10_ensure_atom_field_zero_one): Added. + (raptor_rss10_ensure_atom_feed_valid): Use + raptor_rss10_ensure_atom_field_zero_one to ensure that fields + appear 0 or 1 times for atom feed and entry. + +2008-06-15 Dave Beckett <dave@dajobe.org> + + * docs/rdfserialize.c: Casts for C++ + + * librdfa/rdfa.c: GIT commit 8892f4056d9486d7bdd0cc89fe12b3a863a4d418 + (rdfa_free_context): rewrite + rdfa_free_list(context->context_stack) call to look and do a + proper rdfa_free_context() on each returned item that is not + ourself. Still leaks one malloc but does not crash parser on error. + + * src/raptor_librdfa.c: + (raptor_librdfa_parse_start): Init librdfa + context->error_handlers from static field in raptor_parser + structure so that error handlers are passed correctly to librdfa + and raptor_sax2 + + * librdfa/rdfa.c, librdfa/rdfa.h: GIT commit + 1a4f7d0352017cf6d55ecbcf7d355badb0c777f9. Do not make a new + error_handlers structure for the rdfa context, use the one passed + in from the top-level rdfacontext, set by raptor as error_handlers + static in the raptor_parser structure + + * src/raptor_serialize_dot.c: + (raptor_dot_serializer_new_node): + Return NULL [sparse] + + * src/raptor_rdfxml.c: + (raptor_rdfxml_start_element_grammar): Call + raptor_rdfxml_process_property_attributes with NULL not 0 [sparse] + + * src/raptor_grddl.c: match_table: Use NULL for pointer in + sentinal. [sparse] + + * src/raptor_abbrev.c: + (raptor_new_abbrev_node): Return NULL [sparse] + + * src/raptor_rss.h: raptor_rss_field bitfields should be + unsigned [sparse] + + * src/raptor_sax2.c: #ifdef RAPTOR_XML_EXPAT + + * src/raptor_rdfxml.c: #ifdef RAPTOR_DEBUG_VERBOSE + + * src/raptor_nfc_test.c: casts + + * configure.ac, src/raptor_nfc.h: Use autoconf 2.5.x + AC_CHECK_TYPES for u8 and u16 + +2008-06-14 Dave Beckett <dave@dajobe.org> + + * utils/rapper.c: fix comment + + * utils/rapper.c: Fix HELP_ARG_BOTH quoting as used in help message. + +2008-06-13 Dave Beckett <dave@dajobe.org> + + * examples/raptor_abort.c, examples/rdfserialize.c: Casts for C++ + + * src/raptor_serialize_rss.c: Casts to remove warnings when + compiling with C++ + + * librdfa/curie.c, librdfa/rdfa.c, librdfa/rdfa_utils.c, + librdfa/triple.c: GIT commit + aefb63f96141d64e1a9f5845600feebac6aefa45 + librdfa casts to remove warnings when compiling with C++ + + * src/n3_common.h, src/ntriples_parse.c, src/raptor_expat.c, + src/raptor_grddl.c, src/raptor_guess.c, src/raptor_librdfa.c, + src/raptor_libxml.c, src/raptor_locator.c, src/raptor_nfc.c, + src/raptor_nfc.h, src/raptor_nfc_test.c, src/raptor_rfc2396.c, + src/raptor_serialize_dot.c, src/raptor_serialize_json.c, + src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, + src/raptor_serialize_simple.c, src/raptor_utf8.c, + src/raptor_win32.c, src/raptor_www.c, src/raptor_www_curl.c, + src/raptor_www_libfetch.c, src/raptor_www_libxml.c, + src/raptor_www_test.c, src/raptor_xsd.c, src/turtle_common.c, + src/turtle_common.h: 2008 + + * utils/rapper.c: Tidy variables into parser, serializer, other + blocks. Output <stdin> in error, info messages when filename is + NULL + + * src/raptor_sequence.c: + (raptor_sequence_set_at): Tidy tortured test. + + * src/raptor_sequence.c: + (raptor_sequence_set_at): Update size + when not over-writing an existing item. + +2008-06-12 Dave Beckett <dave@dajobe.org> + + * src/raptor_serialize_rss.c: + (raptor_rss10_move_leftover_statements): Added to move any + remaining triples after initial serialize_statement scan, to items + or channel. + (raptor_rss10_serialize_end): Call + raptor_rss10_move_leftover_statements. + + * src/raptor_serialize_rss.c: + (raptor_rss10_serialize_statement): + Use correct URI for rss:items with new macro + RAPTOR_RSS_RSS_items_URI replacing RAPTOR_RSS_RDF_items_URI + + * src/raptor_rss_common.c: + (raptor_rss_model_init): Init + RAPTOR_RSS_RSS_items_URI against rss: + (rss 1.0) namespace, not + rdf: + + * src/raptor_rss.h: RAPTOR_RSS_RDF_items_URI renamed to + RAPTOR_RSS_RSS_items_URI since it is in the rss: + (rss 1.0) + namespace + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_rdfxml_item_triples): + Use raptor_serialize_start_to_iostream() with no destroying + iostream instead of raptor_serialize_start(). + + * src/raptor.h: Added raptor_serialize_start_to_iostream prototype + + * src/raptor_serialize.c: + (raptor_serialize_start_to_iostream): + Added to have the new semantics of not owning and destroying the + passed-in iostream + + * tests/rdfa/Makefile.am: 0094.xhtml fails now + + * librdfa/rdfa.c: GIT commit + c2ca66384c2e201023e0ca7cb4d9e38450459c93 + (rdfa_parse_end): Ensure rdfa_pop_item() is called when in raptor + too + + * librdfa/rdfa.c: GIT commit + 346046a980aee3ed84f69f482a74f95e2414c267 + (start_element): Sort namespaces by prefix and hide overriden ones + +2008-06-10 Dave Beckett <dave@dajobe.org> + + * librdfa/rdfa.c, librdfa/rdfa.h: Merge to GIT + fd8d211db142e14007ea6b3ac3eab090adf0a793 + + * librdfa/curie.c, librdfa/rdfa.c, librdfa/rdfa.h, + librdfa/rdfa_utils.c, librdfa/rdfa_utils.h, librdfa/triple.c: + Merge to GIT a119a5ea0f215ec6036e79de30bb1131d9ca5647 + + * src/raptor_serialize_rss.c: + (raptor_rss10_serialize_statement): + correct docs + + * src/raptor_avltree.c: + (main): Do not call an internal debug + function raptor_avltree_print() in unit testing. + + * src/raptor_sequence.c: + (main): Remove test for preventing + raptor_sequence_set_at() at size+1; this is now allowed. + + * src/raptor_serialize_rss.c: + (raptor_rss10_serialize_statement): + Ignore any triple with predicate rss:items as it can be infered + later for RSS 1.0 and ignore for Atom 1.0 + + * src/raptor_rss.h, src/raptor_rss_common.c: Added rss:items to + raptor_rss_model concepts with macro RAPTOR_RSS_RDF_items_URI + + * src/raptor_serialize_rss.c: + (raptor_rss10_build_items): Skip + triples that have no URI value. + + * src/raptor_sequence.c: + (raptor_sequence_set_at): Handle + extending the sequence beyond capacity+1 + + * src/raptor_serialize_rss.c: + (raptor_rss10_move_statements): + Handled anonymous triples twice and the handled flag did not help + - removed. Improved the logic to clearly 'continue' loop when a + triple is handled; added comments to say why. Changed signature + to return number of triples used, not presently used by callers. + + * src/raptor_serialize_rss.c: + (raptor_rss10_build_xml_names): Off + by 1 in declaring user namespaces. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_set_xml_writer): Free any namespaces + declared on the old stack, before freeing the stack. + + * src/raptor_serialize_rss.c: + (raptor_rss10_serialize_terminate): + Free all allocated namespaces now it doesn't crash things. + + * src/raptor_serialize_rss.c: Ensure namespaces are freed before + the stack they are associated with, so that URI destructor handler + calls work. + (raptor_rss10_serialize_init, raptor_rss10_serialize_terminate): + Add raptor_free_namespace to user_namespaces sequence and call it + early. + (raptor_rss10_serialize_end): Do not free namespace stack here, as + it refers to namespaces that are still alive. + + * src/raptor_serialize_rss.c: + (raptor_rss10_build_items): Make a + fake triple subject URI for comparison with seq node ID. + +2008-06-09 Dave Beckett <dave@dajobe.org> + + * docs/raptor-parsers.xml: Added RDFa parser + + * docs/raptor-serializers.xml: rss 1.0 and atom 1.0 serializer notes + +2008-06-05 Dave Beckett <dave@dajobe.org> + + * utils/rapper.c: update the parser/serializer name length to 14 + for 'rss-tag-soup' & 'json-triples' which are at the previous max + 12 + + * configure.ac: enable atom serializer for everyone + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_atom_triples_map, + raptor_rss10_emit_atom_feed): Adjust + raptor_rss10_emit_atom_triples_map calling convention to add + element name and code tidy. + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_atom_triples_map): + Added, pulled out of raptor_rss10_emit_atom_feed. Skip maps that + do not apply to feed element. + (raptor_rss10_emit_atom_feed): Call above twice, to generate + at:feedmap and at:entrymap. + + * src/raptor_serialize_rss.c: + (raptor_rss10_move_statements, + raptor_rss10_store_statement): Set is_xml field when field is + content:encoded + (raptor_rss10_emit_item): Select rdf:parseType="Literal" for rss + output with XML valued literals but prefer CDATA block for + content:encoded. + +2008-06-04 Dave Beckett <dave@dajobe.org> + + * src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c: + Make rdfxml and rdfxml-abbrev serializers respect feature + writeBaseURI. + + * src/raptor_feature.c: Adjust RAPTOR_FEATURE_WRITE_BASE_URI description + + * src/raptor_serialize_rss.c: + (raptor_rss10_serialize_end): + Respect feature writeBaseURI + + * src/raptor_serialize_rss.c: raptor_rss10_serializer_context + gains xml_literal_dt URI field. + (raptor_rss10_serialize_init, raptor_rss10_serialize_terminate): + Free xml_literal_dt field. + (raptor_rss10_move_statements, raptor_rss10_store_statement): Set + is_xml field when an XML literal. + (raptor_rss10_emit_atom_feed, raptor_rss10_emit_rss_items): Emit + relative URIs. + (raptor_rss10_ensure_atom_feed_valid): Set atom:id if not present, + to item URI. + (raptor_rss10_emit_item): Emit relative URIs except for atom:id + For atom:content with a URI value, write <atom:content src="{uri + value}" type="{type}" /> and take the type from at:contentType + When writing a literal value and it is xml, write an atom type='xhtml'. + + * src/raptor_rss.h, src/raptor_rss_common.c: raptor_rss_field + gains is_xml field. Added at:contentType / + RAPTOR_RSS_FIELD_AT_CONTENT_TYPE field + + * src/raptor_uri.c: + (raptor_uri_to_relative_counted_uri_string): + Add support for a base URI with scheme and authority but no path, + so the result can be a relative URI starting with '/'. + (main): Add a test for the above + + * src/raptor_serialize_rss.c: + (raptor_rss10_build_xml_names): Tidy + is_atom/not code. + +2008-06-04 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_rss.c: Fixed warnings. + (raptor_rss10_emit_rdfxml_item_triples, raptor_rss10_serialize_end): + Init variables to NULL for some optimizing compilers that warn + about possible use-before-init. + (raptor_rss10_emit_item): Cast int to enum. + +2008-06-04 Dave Beckett <dave@dajobe.org> + + * src/raptor_serialize_rss.c: + (raptor_rss10_build_xml_names): Add + is_entry flag and use it to decide root name atom:feed or + atom:entry for atom serializer. + (raptor_rss10_serialize_end): When a feature atom_entry_uri is + set, look for a matching item and if found, emit just that as an + atom entry document. + +2008-06-03 Dave Beckett <dave@dajobe.org> + + * src/raptor_rss_common.c: + (raptor_rss_set_date_field): cast + +2008-06-02 Dave Beckett <dave@dajobe.org> + + * src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, + src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, + src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Added + RAPTOR_FEATURE_ATOM_ENTRY_URI to set the Atom Entry document URI + for the atom serializer + +2008-05-29 Dave Beckett <dave@dajobe.org> + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_rdfxml_item_triples): Remove rdf-xml + atom:content for; it's not used. + Check for 0 triples and end if nothing to emit. + + * src/raptor_serialize_rss.c: + (raptor_rss10_ensure_atom_feed_valid): ! + + * src/raptor_serialize_rss.c: + (raptor_rss10_ensure_atom_feed_valid): Remove any atom:content or + atom:summary in feed + + * src/raptor_rss_common.c: raptor_atom_to_rss: rss:description + maps to atom:summary + + * tests/rdfa/Makefile.am: 0058 now passes and the others pass if + you re-order the xml namespaces + + * src/raptor_serialize_rss.c: ws + + * src/raptor_serialize_rss.c: + (raptor_rss10_ensure_atom_items_valid): + Added to check and correct atom id, title, updated and link OR + content. + (raptor_rss10_emit_item): Handle atom:link being written as + <atom:link href="{uri}" rel="alternate"> - no choice for now on + rel. + (raptor_rss10_serialize_end): Call + raptor_rss10_ensure_atom_items_valid + + * src/raptor_xml_writer.c: + (raptor_xml_writer_start_element_common): + Renamed from raptor_iostream_write_xml_element_start. Add + indenting of xml namespace declaration attributes when auto + indenting is on and there are more than 1. + (raptor_xml_writer_end_element_common): Renamed from + raptor_iostream_write_xml_element_end + (raptor_xml_writer_empty_element, raptor_xml_writer_start_element, + raptor_xml_writer_end_element): Update to use new names. + + * src/raptor_xml_writer.c: + (raptor_iostream_write_xml_element_start): + Remove all args that can be found in xml_writer. + (raptor_xml_writer_empty_element, + raptor_xml_writer_start_element): Update to use new + raptor_iostream_write_xml_element_start + + * src/raptor_rss.h, src/raptor_rss_common.c: Added + raptor_rss_format_iso_date and raptor_rss_set_date_field. + (raptor_rss_date_uplift): Use above + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_item): Generate + bnode for author if not present. + + * librdfa/rdfa.c, librdfa/subject.c: Merge with GIT + 8adf69fff952d069e4f6da472d9d8e0acf8fea28 that fixes test case + #0058 + + * src/raptor_serialize_rss.c: Get atom author blank node ID from + atom:author string value. + +2008-05-28 Dave Beckett <dave@dajobe.org> + + * src/raptor_rss.h: Re-order atom fields so that required ones are + generated first when going in sequential field order. + + * src/raptor_rss_common.c, src/raptor_serialize_rss.c: Re-order + atom fields so that required ones are generated first when going + in sequential field order. + + * src/raptor_serialize_rss.c: + (raptor_rss10_serialize_terminate): + Comment out raptor_free_namespace calls - crashes worse than leaks + for now. + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_atom_feed): Use + atom_namespace not default for 'link'. + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_rdfxml_item_triples): + use at:md not atom:md + + * docs/tmpl/section-xml-qname.sgml, docs/tmpl/section-xml.sgml: + added raptor_xml_writer_flush raptor_xml_writer_newline to + templates. + + * src/raptor_serialize_rss.c: + (raptor_rss10_serialize_init): Init + namespaces with error reporting. + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_rdfxml_item_triples): + Fix root_qname double free + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_rss_items): Set + xml-writer + (raptor_rss10_emit_rdfxml_item_triples): Added, pulled rdf/xml + block writing out of raptor_rss10_emit_item. Validate you can only + use rdf-xml with rss-1.0 serializer and atom-triples with atom + serializer. + (raptor_rss10_emit_item): Call raptor_rss10_emit_rdfxml_item_triples + + * src/raptor_rss_common.c: Turn dc:date into atom:updated + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_atom_feed): Add + <link href="{uri}" rel="self" /> + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_rss_items): + Added, pulled RSS 1.0-specific channel XML out of raptor_rss10_emit_item + (raptor_rss10_emit_item): Call raptor_rss10_emit_rss_items for RSS + 1.0 rdf:Seq and rss:items + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_atom_feed): + Added, pulled atom-specific entry fields out of raptor_rss10_emit_item + (raptor_rss10_emit_item): Call raptor_rss10_emit_item for atom and + channel: atom feed. + + * src/raptor_xml.c: + (raptor_xml_element_set_attributes): note + @attributes become owned + + * src/raptor_serialize_rss.c: RSS 1.0 / Atom serializers now + support user namespace declarations + raptor_rss10_serializer_context gains user_namespaces + (raptor_rss10_serialize_init): Init user_namespaces + (raptor_rss10_serialize_declare_namespace, + raptor_rss10_serialize_declare_namespace_from_namespace): Added. + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_item): Added + at:entrymap and at:map in the atom fee when + rssTriples=atom-triples. + +2008-05-27 Dave Beckett <dave@dajobe.org> + + * src/raptor_rss.h: Update ATOMTRIPLES_NAMESPACE_URI + + * librdfa/curie.c: + (rdfa_resolve_curie): Protect strtok_r with + NULL string from using a NULL wcptr. + +2008-05-26 Dave Beckett <dave@dajobe.org> + + * docs/raptor-sections.txt: Added raptor_qname_to_counted_name, + raptor_xml_writer_flush and raptor_xml_writer_newline + + * tests/rdfa/Makefile.am: Update failures to remove those now passing: + + 0092: expected XML result corrected + + 0094: expected XML result corrected + + * tests/rdfa/0011.out, tests/rdfa/0092.out, tests/rdfa/0094.out, + tests/rdfa/0100.out, tests/rdfa/0101.out, tests/rdfa/0102.out, + tests/rdfa/0103.out, tests/rdfa/Makefile.am: update xml results + + * librdfa/rdfa.c: + (start_element): Reverse raptor stack namespace + order to match that which librdfa uses. GIT + 46929dc0822aa55553d61df5127b2695b8c7acf8 + + * tests/rdfa/Makefile.am: Update failures to remove those now passing: + + 0042: no triples is correct; expected result corrected + + 0052: expected result corrected + + 0053: expected result corrected + + 0091: fixed + 0058 still wrong; sparql test case is inadequate + + * src/raptor.h: Added prototype for raptor_qname_to_counted_name + + * src/raptor_qname.c: + (raptor_qname_to_counted_name): Added. + + * librdfa/rdfa.c: + (start_element): Walk raptor namespace stack to + figure out xml literal ns declarations. + (raptor_rdfa_start_element, raptor_rdfa_end_element): Pass in + qname string. GIT c1313ac3de0dee9903e7b132cb4626708f3df257 + + * tests/rdfa/0053.out: Update test result for 0053 to correct + subject for first triple + + * tests/rdfa/0083.xhtml, tests/rdfa/0102.xhtml: Update inputs for + tests 0083 0102 + + * tests/rdfa/0052.out: Update test result for 0052 to correct + subject + + * tests/rdfa/0042.out: Update test result for 0042 to expect no + triples + + * tests/rdfa/0011.out, tests/rdfa/0092.out, tests/rdfa/0094.out: + Update test results for 0011 0092 0094 to use xmlns with double + quotes + + * librdfa/rdfa.c: + (start_element): set xml_lang variable when + inside raptor GIT aeac34493258ecf53374b6cbda5eec03f10b841e + + * librdfa/triple.c: + (rdfa_free_triple): Free triple. GIT + a64e1f00a53d6858a818156a9115d10b7ecec036 + +2008-05-25 Dave Beckett <dave@dajobe.org> + + * librdfa/curie.c, librdfa/rdfa.c, librdfa/rdfa.h, + librdfa/rdfa_utils.c, librdfa/rdfa_utils.h, librdfa/triple.c: + Merge to GIT f82c0941956254847e8d51654759b2b45dc00088 + + * tests/rdfa/Makefile.am: Update expected test failures to add new + approved & failing tests: + 0042.xhtml 0088.xhtml 0091.xhtml 0092.xhtml 0093.xhtml 0094.xhtml + 0100.xhtml 0101.xhtml 0102.xhtml 0103.xhtml + Add triple counts to failure message + + * tests/rdfa/0017.out, tests/rdfa/0017.xhtml, tests/rdfa/0039.out, + tests/rdfa/0039.xhtml, tests/rdfa/0040.out, tests/rdfa/0040.xhtml, + tests/rdfa/0042.out, tests/rdfa/0042.xhtml, tests/rdfa/0085.out, + tests/rdfa/0085.xhtml, tests/rdfa/0088.out, tests/rdfa/0088.xhtml, + tests/rdfa/0091.out, tests/rdfa/0091.xhtml, tests/rdfa/0092.out, + tests/rdfa/0092.xhtml, tests/rdfa/0093.out, tests/rdfa/0093.xhtml, + tests/rdfa/0094.out, tests/rdfa/0094.xhtml, tests/rdfa/0099.out, + tests/rdfa/0099.xhtml, tests/rdfa/0100.out, tests/rdfa/0100.xhtml, + tests/rdfa/0101.out, tests/rdfa/0101.xhtml, tests/rdfa/0102.out, + tests/rdfa/0102.xhtml, tests/rdfa/0103.out, tests/rdfa/0103.xhtml, + tests/rdfa/0104.out, tests/rdfa/0104.xhtml, tests/rdfa/0107.out, + tests/rdfa/0107.xhtml, tests/rdfa/0108.out, tests/rdfa/0108.xhtml, + tests/rdfa/0109.out, tests/rdfa/0109.xhtml, + tests/rdfa/Makefile.am: Added RDFa approved tests + 0017 0039 0040 0042 0085 0088 0091 0092 0093 0094 0099 0100 0101 0102 + 0103 0104 0107 0108 0109 + where approved tests are given by the SPARQL: + BASE <http://www.w3.org/2006/07/SWD/RDFa/testsuite/xhtml1-testcases/> + PREFIX : <http://www.w3.org/2006/03/test-description#> + SELECT ?test + FROM <rdfa-xhtml1-test-manifest.rdf> + WHERE { ?test :reviewStatus :approved } + and + http://www.w3.org/2006/07/SWD/RDFa/testsuite/xhtml1-testcases/rdfa-xhtml1-test-manifest.rdf + Last-Modified: Mon, 19 May 2008 10:47:38 GMT + +2008-05-24 Dave Beckett <dave@dajobe.org> + + * docs/tmpl/section-feature.sgml, docs/tmpl/section-triples.sgml: + update docs + + * librdfa/rdfa.c: + (rdfa_free_context): Revert change in GIT + d0f2401a9b914f70fff262be602fe92cf5a2e93e. Memory leak remains + + * src/raptor_librdfa.c: + (raptor_librdfa_parse_start): Free any old + context. + (raptor_librdfa_parse_terminate): Free context. + + * librdfa/rdfa.c: Declare rdfa_init_context as static since it is + only used in rdfa.c. GIT 71dd65d38f70120a205abf73e0cf8fd0bf6f0f27 + + * librdfa/rdfa.c: + (rdfa_free_context): Free context_stack and + remove TODO. GIT d0f2401a9b914f70fff262be602fe92cf5a2e93e + + * librdfa/triple.c: + (rdfa_free_triple): free triple. GIT + 402f883bfc2d7157eb6f13018ad141450ed47944 + + * src/raptor_librdfa.c: include rdfa_utils.h + + * src/raptor_librdfa.c: + (raptor_librdfa_generate_statement): free + incoming triple + +2008-05-22 Lauri Aalto <laalto@iki.fi> + + * src/n3_lexer.l, src/turtle_lexer.l: Fixed n3/turtle lexer error + handling. Do not report OOM for failed function calls that can + fail for other reasons besides OOM, e.g. qname expansion fails due + to undeclared prefix. + +2008-05-21 Dave Beckett <dave@dajobe.org> + + * src/raptor_rdfxml.c, src/raptor_serialize_rdfxml.c, + src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c: Use + raptor_xml_writer_flush for xml writer + + * src/raptor.h: Added prototypes for raptor_xml_writer_newline + and raptor_xml_writer_flush + + * src/raptor_xml_writer.c: raptor_xml_writer gains pending_newline + flag + (raptor_xml_writer_indent): Handle pending_newline feature as well + as indenting. + (raptor_xml_writer_empty_element, raptor_xml_writer_start_element, + raptor_xml_writer_end_element): Call indent if pending_newline. + (raptor_xml_writer_newline): Added. + (raptor_xml_writer_flush): Added to tidy up at the end of an XML + writer. + + * src/raptor_serialize_rss.c: + (raptor_rss10_move_statements, + raptor_rss10_store_statement, ): Set is_mapped when going from rss + to atom fields. + (raptor_rss10_remove_mapped_item_fields, + raptor_rss10_remove_mapped_fields): Added to delete field values + that were mapped when there is an non-mapped value. + (raptor_rss10_serialize_end): Call + raptor_rss10_remove_mapped_fields for atom. + + * src/raptor_rss.c: + (raptor_rss_uplift_fields): Set is_mapped when + uplifting + + * src/raptor_rss.h: raptor_rss_field gains is_mapped field + +2008-05-19 Dave Beckett <dave@dajobe.org> + + * src/raptor_internal.h, src/raptor_rss.h, + src/raptor_rss_common.c, src/raptor_serialize_rdfxmla.c, + src/raptor_serialize_rss.c: Added grouping of triples by + key (uri/fakeuri(bnode)) to item using an avltree of + raptor_rss_group_map + (raptor_free_group_map, raptor_rss_group_map_compare, + raptor_rss10_get_group_item, raptor_rss10_set_item_group): Added. + (raptor_rss10_serialize_init, raptor_rss10_serialize_terminate): + init / free group_map avl tree + (raptor_rss10_move_statements): If a statement object is + anonymous, move it to the item triples, do not search for a field. + Do not move any other fields with anonymous objects. + (raptor_rss10_move_anonymous_statements): Added to move blank node + closure triples to their item. + (raptor_rss10_store_statement): Use avl tree to find an item for a + triple + (raptor_rss10_serialize_statement): Do not discard blank nodes on + input. Set blank node/URI to item mapping. + (raptor_rss10_emit_item): Emit different triple block elements, + attributes only for atom;content + (raptor_rss10_serialize_end): Call + raptor_rss10_move_anonymous_statements + + * src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, + src/raptor_serialize_rdfxmla.c, src/raptor_turtle_writer.c: 2008 + + * src/raptor_feature.c: RAPTOR_FEATURE_RSS_TRIPLES label shorter + + * src/raptor_serialize_rss.c: raptor_rss10_serializer_context + gains rss_triples_mode + (raptor_rss10_serialize_start): Added to set rss_triples_mode from + feature_rss_triples. 1 is "rdf-xml" value, 2 is "atom-triples" + (raptor_rss10_emit_item): Emit triples when enabled by feature + Remove node elements, typed nodes and emit a single node for rss + triples mode 2 + (raptor_rss10_serializer_register_factory): Init + raptor_rss10_serialize_start + + * src/raptor_serialize_rdfxmla.c: raptor_rdfxmla_context gains + fields single_node, write_node_elements, write_typed_nodes + (raptor_rdfxmla_emit_resource_uri): Added. + (raptor_rdfxmla_emit_resource): Use + raptor_rdfxmla_emit_resource_uri + (raptor_rdfxmla_emit_subject_properties): Use write_typed_nodes + flag to write rdf:type <subject node type URI> property element. + (raptor_rdfxmla_emit_subject): Handle write_typed_nodes to skip + typed node element. Handle write_node_elements flag. + (raptor_rdfxmla_emit): Do not emit any top-level blank nodes if + single_node is set. + (raptor_rdfxmla_serialize_init): Init defaults for + write_node_elements and write_typed_nodes: true/1. + (raptor_rdfxmla_serialize_set_write_rdf_RDF, + raptor_rdfxmla_serialize_set_xml_writer): autodocs + (raptor_rdfxmla_serialize_set_single_node, + raptor_rdfxmla_serialize_set_write_node_elements, + raptor_rdfxmla_serialize_set_write_typed_nodes): Added to set + internal flags. + (raptor_rdfxmla_serialize_end): Free single node URI if present. + + * src/raptor_internal.h: raptor_serializer_s gains feature_rss_triples + Added prototypes for raptor_rdfxmla_serialize_set_single_node, + raptor_rdfxmla_serialize_set_write_node_elements and + raptor_rdfxmla_serialize_set_write_typed_nodes + + * src/raptor.h, src/raptor_feature.c, src/raptor_parse.c, + src/raptor_sax2.c, src/raptor_serialize.c, + src/raptor_turtle_writer.c, src/raptor_xml_writer.c: Added feature + rss_triples (RAPTOR_FEATURE_RSS_TRIPLES) for rss-1.0/atom serializers + +2008-05-18 Lauri Aalto <laalto@iki.fi> + + * tests/rdfa: props + +2008-05-17 Dave Beckett <dave@dajobe.org> + + * librdfa/rdfa.c, librdfa/rdfa_utils.h, librdfa/subject.c: Update + to GIT 402f883bfc2d7157eb6f13018ad141450ed47944 + +2008-05-15 Dave Beckett <dave@dajobe.org> + + * librdfa/rdfa.h: Remove uri_mappings field if LIBRDFA_IN_RAPTOR is defined + + * docs/tmpl/section-sequence.sgml, docs/tmpl/section-triples.sgml, + docs/tmpl/section-xml.sgml: gtk docs + + * src/raptor_xml_writer.c: autodocs + + * src/raptor_avltree.c: de-autodoc internal functions + + * docs/raptor-sections.txt: Added raptor_sequence_delete_at and + raptor_xml_writer_get_depth + + * librdfa/rdfa.c: Do not call rdfa_update_uri_mappings with + LIBRDFA_IN_RAPTOR + + * tests/rdfa/0060.out, tests/rdfa/Makefile.am: Fix 0060.out to + make 4 tests expected to fail + + * tests/rdfa/Makefile.am: annotate expected test failures + + * tests/rdfa/Makefile.am: Expect failures: 0011.xhtml 0052.xhtml + 0053.xhtml 0058.xhtml 0060.xhtml + + * configure.ac, tests/Makefile.am, tests/rdfa, + tests/rdfa/0001.out, tests/rdfa/0001.xhtml, tests/rdfa/0006.out, + tests/rdfa/0006.xhtml, tests/rdfa/0007.out, tests/rdfa/0007.xhtml, + tests/rdfa/0008.out, tests/rdfa/0008.xhtml, tests/rdfa/0009.out, + tests/rdfa/0009.xhtml, tests/rdfa/0010.out, tests/rdfa/0010.xhtml, + tests/rdfa/0011.out, tests/rdfa/0011.xhtml, tests/rdfa/0012.out, + tests/rdfa/0012.xhtml, tests/rdfa/0013.out, tests/rdfa/0013.xhtml, + tests/rdfa/0014.out, tests/rdfa/0014.xhtml, tests/rdfa/0015.out, + tests/rdfa/0015.xhtml, tests/rdfa/0018.out, tests/rdfa/0018.xhtml, + tests/rdfa/0019.out, tests/rdfa/0019.xhtml, tests/rdfa/0020.out, + tests/rdfa/0020.xhtml, tests/rdfa/0021.out, tests/rdfa/0021.xhtml, + tests/rdfa/0023.out, tests/rdfa/0023.xhtml, tests/rdfa/0025.out, + tests/rdfa/0025.xhtml, tests/rdfa/0026.out, tests/rdfa/0026.xhtml, + tests/rdfa/0027.out, tests/rdfa/0027.xhtml, tests/rdfa/0029.out, + tests/rdfa/0029.xhtml, tests/rdfa/0030.out, tests/rdfa/0030.xhtml, + tests/rdfa/0031.out, tests/rdfa/0031.xhtml, tests/rdfa/0032.out, + tests/rdfa/0032.xhtml, tests/rdfa/0033.out, tests/rdfa/0033.xhtml, + tests/rdfa/0034.out, tests/rdfa/0034.xhtml, tests/rdfa/0035.out, + tests/rdfa/0035.xhtml, tests/rdfa/0036.out, tests/rdfa/0036.xhtml, + tests/rdfa/0037.out, tests/rdfa/0037.xhtml, tests/rdfa/0038.out, + tests/rdfa/0038.xhtml, tests/rdfa/0041.out, tests/rdfa/0041.xhtml, + tests/rdfa/0046.out, tests/rdfa/0046.xhtml, tests/rdfa/0047.out, + tests/rdfa/0047.xhtml, tests/rdfa/0048.out, tests/rdfa/0048.xhtml, + tests/rdfa/0049.out, tests/rdfa/0049.xhtml, tests/rdfa/0050.out, + tests/rdfa/0050.xhtml, tests/rdfa/0051.out, tests/rdfa/0051.xhtml, + tests/rdfa/0052.out, tests/rdfa/0052.xhtml, tests/rdfa/0053.out, + tests/rdfa/0053.xhtml, tests/rdfa/0054.out, tests/rdfa/0054.xhtml, + tests/rdfa/0055.out, tests/rdfa/0055.xhtml, tests/rdfa/0056.out, + tests/rdfa/0056.xhtml, tests/rdfa/0057.out, tests/rdfa/0057.xhtml, + tests/rdfa/0058.out, tests/rdfa/0058.xhtml, tests/rdfa/0059.out, + tests/rdfa/0059.xhtml, tests/rdfa/0060.out, tests/rdfa/0060.xhtml, + tests/rdfa/0061.out, tests/rdfa/0061.xhtml, tests/rdfa/0062.out, + tests/rdfa/0062.xhtml, tests/rdfa/0063.out, tests/rdfa/0063.xhtml, + tests/rdfa/0064.out, tests/rdfa/0064.xhtml, tests/rdfa/0065.out, + tests/rdfa/0065.xhtml, tests/rdfa/0066.out, tests/rdfa/0066.xhtml, + tests/rdfa/0067.out, tests/rdfa/0067.xhtml, tests/rdfa/0068.out, + tests/rdfa/0068.xhtml, tests/rdfa/0069.out, tests/rdfa/0069.xhtml, + tests/rdfa/0070.out, tests/rdfa/0070.xhtml, tests/rdfa/0071.out, + tests/rdfa/0071.xhtml, tests/rdfa/0072.out, tests/rdfa/0072.xhtml, + tests/rdfa/0073.out, tests/rdfa/0073.xhtml, tests/rdfa/0074.out, + tests/rdfa/0074.xhtml, tests/rdfa/0075.out, tests/rdfa/0075.xhtml, + tests/rdfa/0076.out, tests/rdfa/0076.xhtml, tests/rdfa/0077.out, + tests/rdfa/0077.xhtml, tests/rdfa/0078.out, tests/rdfa/0078.xhtml, + tests/rdfa/0079.out, tests/rdfa/0079.xhtml, tests/rdfa/0080.out, + tests/rdfa/0080.xhtml, tests/rdfa/0081.out, tests/rdfa/0081.xhtml, + tests/rdfa/0082.out, tests/rdfa/0082.xhtml, tests/rdfa/0083.out, + tests/rdfa/0083.xhtml, tests/rdfa/0084.out, tests/rdfa/0084.xhtml, + tests/rdfa/0086.out, tests/rdfa/0086.xhtml, tests/rdfa/0087.out, + tests/rdfa/0087.xhtml, tests/rdfa/0089.out, tests/rdfa/0089.xhtml, + tests/rdfa/0090.out, tests/rdfa/0090.xhtml, tests/rdfa/1001.out, + tests/rdfa/1001.xhtml, tests/rdfa/Makefile.am: Added RDFA test + cases from + http://www.w3.org/2006/07/SWD/RDFa/testsuite/xhtml1-testcases/ + + * librdfa/curie.c: + (rdfa_resolve_curie): Handle undefined + namespaces prefix + + * src/raptor_librdfa.c: + (raptor_librdfa_generate_statement): + Generate correct bnodes + + * Makefile.am, configure.ac, librdfa, librdfa/Makefile.am, + librdfa/curie.c, librdfa/language.c, librdfa/rdfa.c, + librdfa/rdfa.h, librdfa/rdfa_utils.c, librdfa/rdfa_utils.h, + librdfa/subject.c, librdfa/triple.c, src/Makefile.am, + src/raptor_internal.h, src/raptor_librdfa.c, src/raptor_parse.c: + Added RDFA support via a copy of librdfa linked inside Raptor + + librdfa/ directory contains a copy of (part of) librdfa + http://rdfa.digitalbazaar.com/librdfa/ by Manu Sporny + + "librdfa is licensed under the GNU Lesser General Public License v2.1 + (or newer), GNU General Public License v2.0 (or newer), or the Apache + 2.0 License (or newer). Each license is an alternative, and if you + select one license, that one alone applies." + + (same license as raptor) + + The sources were taken from GIT at + http://rdfa.digitalbazaar.com/librdfa.git + and patched to work inside raptor. + + src/raptor_librdfa.c: New raptor parser 'rdfa' + + * src/raptor_grddl.c: + (raptor_grddl_parse_recognise_syntax): Lower + scores for xhtml since the mime type gets added in too + + * src/raptor_grddl.c: + (raptor_grddl_parse_recognise_syntax): Do + not guess using "xhtml" suffix twice + +2008-05-15 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_turtle.c: + (raptor_turtle_emit_subject): + Resiliency fix. Check raptor_new_avltree_iterator() return value. + + * src/raptor_serialize_turtle.c: + (raptor_turtle_emit_subject_properties): Free avltree iterator + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_emit_subject_properties): Resiliency fix: do not + leak iterator on OOM. + +2008-05-14 Dave Beckett <dave@dajobe.org> + + * src/raptor_abbrev.c, src/raptor_serialize_rdfxmla.c, + src/raptor_serialize_turtle.c: Switch raptor_avltree_cursor_* + functions to use raptor_avltree_iterator + + * tests/Makefile.am: check-rdfxmla, check-turtle-serialize: check + status from rapper & rdfdiff + + * src/raptor_avltree.c: + (raptor_avltree_cursor_first, + raptor_avltree_cursor_last): Return failure/finished if tree was + empty. + + * src/raptor_avltree.c: + (raptor_avltree_iterator_get): finished if + no current node + + * tests/turtle/Makefile.am: check-turtle-serialize: check status + from rapper & rdfdiff + + * src/raptor_avltree.c: + (raptor_new_avltree): Zap cursor_iterator + + * src/raptor_internal.h: Added raptor_avltree_iterator typedef. + Added RAPTOR_AVLTREE_FLAG_REPLACE_DUPLICATES flag Added prototypes + for raptor_new_avltree_iterator, raptor_free_avltree_iterator, + raptor_avltree_iterator_end, raptor_avltree_iterator_next and + raptor_avltree_iterator_get. + + * src/raptor_avltree.c: Autodocs for (still internal) AVL Tree + functions Some whitespace/indenting fixes. + (raptor_avltree_add, raptor_avltree_sprout): Will either replace or + ignore updates to a duplicate - equivalent - item depending on the + new raptor_new_avltree constructor flags arg value + RAPTOR_AVLTREE_FLAG_REPLACE_DUPLICATES. + (raptor_avltree_node_leftmost, raptor_avltree_node_rightmost): + Accept a range argument to use for searching in a range. + (raptor_avltree_node_search_right, + raptor_avltree_node_search_left): Added for searching for a node + in a direction in a range. + (raptor_avltree_node_prev, raptor_avltree_node_next): Handle + moving with ranges. + (raptor_new_avltree_iterator): Added iterator constructor with + direction arg to indicate prev/next direction of iteration, + optionally in a range. + (raptor_free_avltree_iterator): Added iterator destructor. + (raptor_avltree_iterator_end): Added iterator done check method. + (raptor_avltree_iterator_next): Added iterator move method. + (raptor_avltree_iterator_get): Added iterator get current method. + (raptor_avltree_cursor_first, raptor_avltree_cursor_last, + raptor_avltree_cursor_prev, raptor_avltree_cursor_next, + raptor_avltree_cursor_get): Rewritten in terms of a + tree->cursor_iterator iterator. + (raptor_avltree_print): Rewritten using an iterator. + (raptor_avltree_check_internal, raptor_avltree_check): Use an + unsigned int count. + (main): Use iterator for going forward check. + +2008-05-10 Dave Beckett <dave@dajobe.org> + + * src/raptor_abbrev.c: + (raptor_abbrev_subject_add_property): Do + not lose reference count for inner nodes. + + * src/raptor_serialize_turtle.c: + (raptor_turtl_serialize_statement): + use raptor_abbrev_subject_add_property to ignore duplicate triples + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_statement): use + raptor_abbrev_subject_add_property to ignore duplicate triples + + * src/raptor_abbrev.c: + (raptor_abbrev_node_cmp): Fix comparison to + properly return 0 when literals are truly equal + (raptor_abbrev_subject_add_property): Catch duplicates and do not + add them. + + * src/raptor_serialize_turtle.c: + (raptor_turtle_serialize_statement): + Revert bogus dup triple test. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_statement): + Revert bogus dup triple test. + + * tests/turtle/Makefile.am: check-turtle-serialize: do not break + on first error; still return failure + + * src/raptor_turtle_writer.c: + (raptor_new_turtle_writer): Make + first @base be absolute since there is no base URI at that point. + + * src/raptor_serialize_turtle.c: + (raptor_turtle_serialize_statement): Check whether no new subject, + predicate or object nodes were created, in which case this is a + duplicate statement that can be ignored. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_statement): Check whether no new + subject, predicate or object nodes were created, in which case + this is a duplicate statement that can be ignored. + + * src/raptor_abbrev.c: + (raptor_abbrev_node_lookup, + raptor_abbrev_subject_lookup): Added a created_p output parameter + which is set to non-0 if a node was created. + + * src/raptor_internal.h: raptor_abbrev_node_lookup and + raptor_abbrev_subject_lookup gain a created_p output parameter. + +2008-05-01 Dave Beckett <dave@dajobe.org> + + * src/raptor_serialize_rss.c: + (raptor_rss10_emit_item): Fix attrs + re-declared warning + + * src/raptor_serialize_rss.c: Removed indent arg from + raptor_rss10_emit_item and comment out indent lines + (raptor_rss10_emit_item): Loose indent + + * src/raptor_serialize_rss.c: With the atom serializer, write any + remaining triples for an item as an <atom:content + type="application/rdf+xml">...</> block using the rdf/xml-abbrev + serializer. Use auto-indenting XML writer, do not manage indent + here anymore. + (raptor_rss10_emit_item): Write atom:content block for atom + serializer and when triples present. + (raptor_rss10_serialize_end) Init auto indent and auto empty xml + elements. + + * src/raptor_serialize_rdfxmla.c: Added new flags to allow an + external xml_writer to be given, not write rdf:RDF, initialise the + starting xml writer depth and allow an external namespace stack. + (raptor_rdfxmla_emit, + raptor_rdfxmla_serialize_declare_namespace_from_namespace): Set + starting xml writer depth. + (raptor_rdfxmla_serialize_init_nstack): Added to separate out + stack initialising from raptor_rdfxmla_serialize_init. + (raptor_rdfxmla_serialize_init): Call + raptor_rdfxmla_serialize_init_nstack() and set rdf:RDF writing to + true by default. + (raptor_rdfxmla_serialize_terminate): Conditionalise freeing the + xml writer and namespaces stack. + (raptor_rdfxmla_serialize_set_write_rdf_RDF): Added + (raptor_rdfxmla_serialize_set_xml_writer): Added + (raptor_rdfxmla_serialize_start): Do not init local xml_writer if + one was passed in. + (raptor_rdfxmla_ensure_writen_header): Do not write rdf:RDF if not + wanted. + + * src/raptor_rss_common.c: + (raptor_new_rss_item): Added, + refactoring raptor_rss_model_add_item and + raptor_rss_model_add_common content and ensuring triples field is + always initialised. + + * src/raptor_rss.h: Added raptor_new_rss_item prototype. + + * src/raptor_qname.c: + (raptor_new_qname_from_namespace_local_name): Accept NULL + namespace to make a namespace-less qname. + + * src/raptor_xml_writer.c: + (raptor_xml_writer_get_depth): Added. + + * src/raptor_sequence.c: + (raptor_sequence_delete_at): Added + + * src/raptor.h: Added raptor_sequence_delete_at and + raptor_xml_writer_get_depth + + * src/raptor_serialize.c: + (raptor_serialize_end): use + free_iostream_on_end field to free iostream only if it was + internal, not passed in + + * src/raptor_internal.h: iostream gets free_iostream_on_end field + Added raptor_rdfxmla_serialize_set_write_rdf_RDF and + raptor_rdfxmla_serialize_set_xml_writer prototypes + +2008-04-30 Dave Robillard <dave@drobilla.net> + + * src/raptor_turtle_writer.c: + (raptor_new_turtle_writer, + raptor_turtle_writer_base): Set base URI even if not writing @base + directive, so relative URI writing works correctly when @base is + disabled. + +2008-04-26 Dave Beckett <dave@dajobe.org> + + * src/raptor_uri.c: + (assert_uri_to_relative): Free base_uri if not NULL + +2008-04-25 Dave Beckett <dave@dajobe.org> + + * src/raptor_avltree.c, src/raptor_general.c, + src/raptor_identifier.c, src/raptor_internal.h, + src/raptor_iostream.c, src/raptor_json_writer.c, + src/raptor_namespace.c, src/raptor_parse.c, src/raptor_qname.c, + src/raptor_sax2.c, src/raptor_sequence.c, src/raptor_serialize.c, + src/raptor_serialize_turtle.c, src/raptor_set.c, + src/raptor_statement.c, src/raptor_stringbuffer.c, + src/raptor_uri.c, src/raptor_xml.c, src/raptor_xml_writer.c, + src/raptor_abbrev.c: Use RAPTOR_ASSERT_OBJECT_POINTER_RETURN on + destructor object arg. Code comments 2008 + +2008-04-16 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_turtle.c: + (raptor_turtle_serialize_end): + Reset context->written_header flag to enable serializer object + reuse. + +2008-04-14 Dave Beckett <dave@dajobe.org> + + * src/turtle_lexer.l: Rename fatal_error_longjmp_env to + turtle_lexer_fatal_error_longjmp_env + + * src/n3_lexer.l: Use setjmp/longjmp to return fatal error + messages to caller without abort() + (n3_lexer_fatal_error): Remove abort() call. + main code: setjmp before starting parse. Move code to inside %{ + %} block. + + * src/n3_common.h, src/n3_parser.y, src/turtle_common.h, + src/turtle_parser.y: Count errors in syntax parsing and do not + report errors after the first one. A workaround instead of adding + full bison error parser recovery. + + * configure.ac, src/turtle_lexer.l: Use setjmp/longjmp to return + fatal error messages to caller without abort() + (turtle_lexer_fatal_error): Remove abort() call. + main code: setjmp before starting parse. Move code to inside %{ + %} block. + +2008-04-14 Lauri Aalto <laalto@iki.fi> + + * src/raptor_rdfxml.c: + (raptor_rdfxml_end_element_grammar): + Resiliency fixes: check raptor_parser_internal_generate_id() + return value + + * src/raptor_libxml.c: + (raptor_libxml_free): Resiliency fix: make + sure myDoc is always freed. + + * src/n3_lexer.l, src/turtle_lexer.l: Reverted from r13787 abort() + calls back to *_lexer_fatal_error() - it is assumed that these + functions never return. + + * src/ntriples_parse.c: + (raptor_ntriples_generate_statement, + raptor_ntriples_string_as_utf8_string): Resiliency fixes: check + for alloc failures. + +2008-04-13 Dave Beckett <dave@dajobe.org> + + * src/raptor_rss_common.c: 2008 + + * src/raptor_rss.h, + src/raptor_rss_common.c: + (raptor_rss_model_add_item, + raptor_free_rss_item): Add triples, free it. + (raptor_clear_rss_item): Deleted, not used. + + * src/raptor_serialize_rss.c: comments + (raptor_rss10_serialize_statement): pass on handled flag from + raptor_rss10_store_statement() + + * src/raptor_guess.c: + (raptor_guess_parse_chunk):: Check for + raptor_parser_copy_user_state failure and pass on. + + * src/raptor_grddl.c: + (raptor_grddl_ensure_internal_parser): Check + for raptor_parser_copy_user_state failure and pass on. Slightly + adjust nearby code to remove else. + + * src/raptor_internal.h, + src/raptor_parse.c: + (raptor_parser_copy_user_state): Add a return + value on failure of allocs. + + * src/raptor_parse.c: + (raptor_parser_copy_user_state): Copy + Cache-Control: header and User-Agent: header values to destination + parser + + * src/raptor_internal.h: Note about code changes needed when + adding user data to raptor_parser + + * src/raptor_internal.h: Removed prototypes for removed functions: + raptor_parser_error_message_handler, + raptor_parser_fatal_error_message_handler, + raptor_parser_warning_message_handler, + raptor_parser_fatal_error_varargs, raptor_parser_warning_varargs + + * src/n3_lexer.l, src/parsedate.y, src/raptor_parse.c, + src/raptor_rdfxml.c, src/turtle_lexer.l: Remove calls to abort() + in mainline code (some aborts still exist in test code for + consistency failures in avltree but they are only compiled in with + RAPTOR_DEBUG) + + (raptor_parser_fatal_error): Set parsing failed flag on fatal error. + (raptor_parser_fatal_error_message_handler, + raptor_parser_error_message_handler, + raptor_parser_warning_message_handler): Removed, no longer used. + + (raptor_rdfxml_start_element_grammar): + case RAPTOR_STATE_PARSETYPE_DESCRIPTION... + RAPTOR_STATE_PARSETYPE_COLLECTION + Remove use of abort() for an ancient check for an object URI that can + be worked around. + case RAPTOR_STATE_MEMBER_PROPERTYELT: + With content type RAPTOR_RDFXML_ELEMENT_CONTENT_TYPE_XML_LITERAL, + remove use of abort() for unknown content types related to + daml/collections - it will fall through to a fatal error anyway. + With default content type, remove abort() and tidy the error + message. + Parsing will still fail in this case. + + (n3_lexer_fatal_error, turtle_lexer_fatal_error): Do not call abort. + + (ToHour): Do not call abort, print message when debugging and return + invalid value. + +2008-04-12 Dave Beckett <dave@dajobe.org> + + * src/raptor_rss.c: + (raptor_rss_start_namespaces): Added, pulling + namespace scanning out of raptor_rss_parse_chunk. + (raptor_rss_parse_chunk): Call above. + + * src/raptor_rss.c: Add a nspaces_seen[] array in raptor_rss and + track namespaces declared either in input (xmlns seen via SAX) or + output, when writing a field in RSS1.0 schema. Save them all up + and generate before emitting. + (raptor_rss_parse_start): Reset nspaces_seen array to none seen. + (raptor_rss_sax2_new_namespace_handler): Mark namespace seen, do + not pass on to rdf namespace handler just yet. + (raptor_rss_parse_chunk): On finish, scan all fields of all items + for namespaces and mark those that need declaring. Then call + raptor_parser_start_namespace() to start them for the client. + +2008-04-11 Dave Beckett <dave@dajobe.org> + + * src/raptor_rss.c: + (raptor_rss_sax2_new_namespace_handler): Added. + (raptor_rss_parse_init): Register + raptor_rss_sax2_new_namespace_handler to pass on SAX2 namespace + events to the rdf parser. + Fixes Issue #0000255 http://bugs.librdf.org/mantis/view.php?id=255 + + * docs/tmpl/section-triples.sgml: sgml docs + + * src/raptor_serialize_rss.c: 2008 + +2008-04-11 Lauri Aalto <laalto@iki.fi> + + * src/raptor_general.c: + (raptor_init, raptor_finish): Changed + raptor_initialised flag to a reference count. + +2008-04-05 Dave Beckett <dave@dajobe.org> + + * docs/raptor-serializers.xml: Add JSON serializers section + +2008-04-03 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_end): + Fixed crash when reusing serializer objects. Reset + context->written_header flag so that when + raptor_rdfxmla_ensure_writen_header() returns success, + context->rdf_RDF_element is always non-null. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_statement): + Fixed rdfxml-xmp segfault. Make sure avltree cursor points to + something before trying to indirect it. + +2008-04-01 Dave Beckett <dave@dajobe.org> + + * src/raptor-config.1: remove undefined macro .l other fixes + + * NEWS.html, RELEASE.html configure.ac, src/win32_raptor_config.h: + Bumped version to 1.4.18 + +2008-03-29 Dave Beckett <dave@dajobe.org> + + * Snapshotted raptor_1_4_17 for 1.4.17 release (SVN 13771) + + * utils/rapper.c: adjust feature pops + + * utils/rapper.c: free features + + * utils/rapper.c: Allow multiple features to be set with + -f/--feature by storing them away in two raptor_sequence* lists, + one for parser and one for serializer. + + Then such things like + rapper -q -o json -f jsonCallback=foo -f 'jsonExtraData="foo":"bar"' -f relativeURIs ... + can be called. + + * src/raptor_serialize_json.c: + (raptor_json_serialize_init): Alter + default to serialize with absolute URIs for JSON. + (raptor_json_serialize_start): Use feature_relative_uris to decide + what base uri to send to JSON writer. + +2008-03-27 Dave Beckett <dave@dajobe.org> + + * src/raptor_serialize_json.c: + (raptor_json_serialize_start): Make + callback start with '(' again. + +2008-03-26 Dave Beckett <dave@dajobe.org> + + * src/raptor_sax2.c: + (raptor_sax2_unparsed_entity_decl): Do not + return error when there is no handler. + (raptor_sax2_external_entity_ref): Error out when there is no + handler as the XML cannot be parsed with unknown external entity + references. + + * src/raptor_rdfxml.c, src/raptor_sax2.c: + (raptor_sax2_unparsed_entity_decl, + raptor_sax2_external_entity_ref): Moved unparsed entity and + external entity reference error messages to sax2 class. + (raptor_rdfxml_unparsed_entity_decl_handler, + raptor_rdfxml_external_entity_ref_handler): Deleted. + (raptor_rdfxml_parse_init): Remove setting handlers + + * src/raptor_rdfxml.c: + (raptor_rdfxml_unparsed_entity_decl_handler, + raptor_rdfxml_external_entity_ref_handler): Turn + fprintf(stderr...) calls into real raptor_parser_error calls + + * src/raptor_sax2.c: + (raptor_sax2_external_entity_ref): Note + failure is happening with 'return 0' + + * src/raptor.h: raptor_sax2_external_entity_ref_handler autodocs + +2008-03-25 Dave Beckett <dave@dajobe.org> + + * src/raptor.h, src/raptor_sax2.c, src/raptor_iostream.c: autodocs + + * docs/libraptor.3: 1.4.17 and lots of formatting tidying + + * src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, + src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, + src/raptor_serialize_json.c, src/raptor_turtle_writer.c, + src/raptor_xml_writer.c: Added RAPTOR_FEATURE_JSON_EXTRA_DATA name + jsonExtraData that allows adding data to the end of the top level + JSON object on output + +2008-03-23 Dave Beckett <dave@dajobe.org> + + * docs/tmpl/section-feature.sgml: add json callback feature + +2008-03-16 Dave Beckett <dave@dajobe.org> + + * configure.ac: fix check for needing to link with -lm + + * src/raptor_sax2.c: + (raptor_sax2_parse_chunk): Fixes to calling + raptor_log_error_to_handlers when built with expat. + + * src/raptor_parse.c: + (main): Only define program if RAPTOR_DEBUG + + * src/raptor_avltree.c: + (check_string, main): Casts for C++ + + * src/raptor_turtle_writer.c: + (main): Cast for C++ + + * src/raptor_uri.c: + (main): Remove C99 initializer for C++ + + * src/raptor_abbrev.c: + (raptor_abbrev_node_lookup): Cast for C++ + + * src/raptor_set.c: + (raptor_id_set_add): Casts for C++ + + * src/raptor_turtle_writer.c: + (main): use raptor_iostream_tell + instead of deprecated raptor_iostream_get_bytes_written_count + + * tests/turtle/test-28-out.ttl: Update expected exact turtle + serializer result due to AVLTree change in re-ordering the triples + + * src/raptor.h, src/raptor_feature.c, src/raptor_internal.h, + src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, + src/raptor_serialize_json.c, src/raptor_turtle_writer.c, + src/raptor_xml_writer.c: Added RAPTOR_FEATURE_JSON_CALLBACK + serializer feature for the JSON serializer to emit a callback + block like callback(...); + struct raptor_serializer_s gains feature_json_callback. + (raptor_free_serializer): Free all string features. + (raptor_serializer_set_feature_string, + raptor_serializer_get_feature_string): Store/return JSON callback + in feature_json_callback. + raptor_features_list array gains new entry for + RAPTOR_FEATURE_JSON_CALLBACK with name "jsonCallback". + (raptor_json_serialize_start): Write callback before serialize start. + (raptor_json_serialize_end): Terminate callback after serialize end. + + * src/raptor.h: Removed raptor_sax2_parse_handle_errors prototype + - no such function. + +2008-02-25 Lauri Aalto <laalto@iki.fi> + + * src/raptor_rdfxml.c: + (raptor_rdfxml_start_element_grammar, + raptor_rdfxml_end_element_grammar): Check for alloc failures. + + * src/raptor_xml.c: + (raptor_new_xml_element): Check for cdata + stringbuffer alloc failure. + + * src/raptor_sax2.c: + (raptor_sax2_start_element): Low-memory + cleanup fixes. + + * src/raptor.h: + (raptor_error_handlers): Quick segfault fix: + statically allocate RAPTOR_LOG_LEVEL_LAST+1 error handler slots + + * src/raptor.h: + (raptor_error_handlers): Portability fix: avoid + "type containing an unknown-size array is not allowed" errors on + some compilers. + +2008-02-24 Lauri Aalto <laalto@iki.fi> + + * src/raptor_www.c: + (raptor_www_set_http_cache_control): +1 for + zero termination + +2008-02-24 Dave Beckett <dave@dajobe.org> + + * src/raptor.h, src/raptor_general.c, src/raptor_grddl.c, + src/raptor_internal.h, src/raptor_libxml.c, src/raptor_parse.c, + src/raptor_sax2.c, src/raptor_www.c, src/raptor_www_libxml.c: + Added struct raptor_message_handler_closure for user data plus an + error handler. + (raptor_log_error_simple): Removed, only used in raptor_sax2.c + (raptor_log_error_to_handlers): Added to log to an + raptor_error_handlers object. + (raptor_sax2_simple_error): Tidy error calling to use closure + pointer. + (raptor_sax2_parse_chunk, raptor_log_error_to_handlers): Use + raptor_log_error_to_handlers + (raptor_www_set_error_handler, raptor_www_error): Update for + closure struct. + (raptor_grddl_fetch_uri, raptor_grddl_parse_chunk): Update for + closure struct. Tidy saving and restoring error handlers + (raptor_new_parser): Init last_log_level for error handlers. + (raptor_parse_uri_with_connection, raptor_parser_simple_error, + raptor_parser_error_varargs, raptor_parser_error_message_handler, + raptor_parser_warning, raptor_parser_warning_message_handler, + raptor_set_fatal_error_handler, raptor_set_error_handler, + raptor_set_warning_handler): Update for closure struct. + (raptor_libxml_warning, raptor_libxml_error_common, + raptor_libxml_generic_error, + raptor_libxml_xmlStructuredErrorFunc): Update for closure struct. + (raptor_www_libxml_init): Update for closure struct. + +2008-02-24 Lauri Aalto <laalto@iki.fi> + + * src/Makefile.am: flex-generated header file does not need fixing + with fix-flex. It already has YY_NO_UNISTD_H guard and all other + fix-flex issues are for .c files only. + Fixes warnings due to multiple inclusion of raptor_config.h. + +2008-02-23 Dave Beckett <dave@dajobe.org> + + * docs/tmpl/section-feature.sgml, src/raptor.h, + src/raptor_feature.c, src/raptor_grddl.c, src/raptor_internal.h, + src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize.c, + src/raptor_turtle_writer.c, src/raptor_www.c, + src/raptor_www_curl.c, src/raptor_www_libxml.c, + src/raptor_xml_writer.c: Add RAPTOR_FEATURE_WWW_HTTP_CACHE_CONTROL + and RAPTOR_FEATURE_WWW_HTTP_USER_AGENT to control WWW. Pass that + on in parsers to internal www. raptor_www struct gains + cache_control and user_agent fields. + (raptor_www_curl_fetch): Disable curl www Pragma: header always. + (raptor_www_set_http_cache_control): Added. + (raptor_www_set_user_agent, raptor_www_set_proxy): Error checking + on malloc failure. + Fixes Issue #0000252 http://bugs.librdf.org/mantis/view.php?id=252 + +2008-02-22 Lauri Aalto <laalto@iki.fi> + + * src/raptor_rdfxml.c: + (raptor_rdfxml_cdata_grammar): Check for + null pointer before indirecting it. + + * src/raptor_libxml.c: Removed writable static data from + raptor_libxml.c + +2008-02-16 Dave Beckett <dave@dajobe.org> + + * autogen.sh: autogen checks when env prog version is + empty. Update all packages to latest autogen.sh + +2008-02-09 Dave Beckett <dave@dajobe.org> + + * src/raptor_avltree.c, src/raptor_internal.h: + (raptor_avltree_remove): Added. + (raptor_avltree_delete): Rewritten in terms of + raptor_avltree_remove. (main): Add test with + raptor_avltree_remove + +2008-02-07 Dave Beckett <dave@dajobe.org> + + * src/raptor_avltree.c: + (raptor_avltree_search_internal): Alter to + return the node. (raptor_avltree_search): Use + raptor_avltree_search_internal changed + +2008-02-07 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_emit_subject_properties): Do not throw away return + value from raptor_rdfxmla_emit_subject_list_items(). + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_emit_subject_properties): Check + raptor_avltree_cursor_first() return value. Fixes a NULL + indirection crash later on. + + * src/raptor_avltree.c: + (raptor_new_avltree): Initialize print_fn + field to NULL. + +2008-02-06 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_statement): + Ensure variable rv is initialized before use. + +2008-02-02 Dave Beckett <dave@dajobe.org> + + * src/raptor_abbrev.c, src/raptor_internal.h, + src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: + Switch raptor_avltree subject->properties from raptor_sequence to + raptor_avltree and use an AVL Tree cursor to iterate it. This + changes the exact ordering of the output from original order, to + sorted by raptor_abbrev_node comparison order. + + * src/raptor_avltree.c: Export avltree cursor prototypes. Added + raptor_data_print_function field. + (raptor_avltree_set_print_handler, raptor_avltree_print): Added to + print an AVL Tree. + (raptor_avltree_sprout_right): Fix failure to set parent correctly + in RR rebalancing. + (raptor_avltree_dump_internal): Print node value if print_fn is + defined. + + * src/raptor_internal.h: Added raptor_data_print_function typedef. + Added raptor_avltree_set_print_handler and raptor_avltree_print + prototypes. Added avltree cursor prototypes: + raptor_avltree_cursor_first, raptor_avltree_cursor_last, + raptor_avltree_cursor_prev, raptor_avltree_cursor_next and + raptor_avltree_cursor_get + + * src/raptor_avltree.c: + (compare_strings): update sig + + * src/raptor_avltree.c, src/raptor_internal.h, + src/raptor_serialize_json.c, src/raptor_serialize_rdfxmla.c, + src/raptor_serialize_turtle.c, src/raptor_set.c: Change + raptor_avltree data from raptor_avltree_t typedef to void*. + excessive typedefs. Rename raptor_avltree_compare_function to + raptor_data_compare_function. Rename + raptor_avltree_delete_function to raptor_data_free_function + + * src/raptor.h, src/raptor_general.c, src/raptor_parse.c, + src/raptor_www.c: + (raptor_error_handlers_init): Remove all args + except object pointer. Add docs. This is currently not called + internally so no need for extra arg soup. Use to init + error_handlers everywhere. + (raptor_new_parser, raptor_www_new_with_connection): Use + raptor_error_handlers_init rather than set magic directly. + + * src/raptor_statement.c: + (raptor_statement_compare): Allow + subject, predicate or object to have NULL pointers which always + sort earlier than pointers with values. + +2008-01-29 Lauri Aalto <laalto@iki.fi> + + * tests/grddl/Makefile.am: Run GRDDL tests only if GRDDL parser is + enabled in configuration. + +2008-01-27 Dave Beckett <dave@dajobe.org> + + * src/raptor_avltree.c: + (raptor_new_avltree): Init size and cursor + + * src/raptor_avltree.c: struct raptor_avltree gains a cursor + field. + (raptor_avltree_node_leftmost, raptor_avltree_node_rightmost): + Added for code clarity. Really this could be inlined or a macro. + (raptor_avltree_node_prev, raptor_avltree_node_next): Added for + moving around tree in order. + (raptor_avltree_cursor_first, raptor_avltree_cursor_last, + raptor_avltree_cursor_prev, raptor_avltree_cursor_next, + raptor_avltree_cursor_get): Added avltree cursor with new methods. + (main): Added tests for forwards and backwards cursoring. + + * src/raptor_statement.c: code style + + * src/raptor_serialize_turtle.c: + (raptor_turtle_serialize_start): + Indenting + + * src/raptor_serialize_json.c: + (raptor_statement_avltree_compare): + Use raptor_statement_compare. + + * src/Makefile.am, src/raptor.h, src/raptor_general.c, + src/raptor_statement.c: Added raptor_statement.c for statement + functions. + (raptor_statement_compare): Added, based on + raptor_json_statement_compare. + + * src/raptor_turtle_writer.c: + (main): Use write_base_uri in test. + +2008-01-23 Dave Robillard <dave@drobilla.net> + + * src/raptor_serialize_turtle.c: + (raptor_turtle_context): Fix + comment on written_header for Turtle (not XML). + Add feature to control writing @base directive to Turtle files. + (RAPTOR_FEATURE_WRITE_BASE_URI): Added. + (raptor_new_turtle_writer): Added write_base_uri parameter. + + +2008-01-22 Dave Beckett <dave@dajobe.org> + + * src/raptor_avltree.c: Remove most internal checks as they do not + hold while sprouting and rebalancing + (raptor_avltree_add, raptor_avltree_delete): Check here + afterwards. + +2008-01-21 Dave Beckett <dave@dajobe.org> + + * src/raptor_avltree.c: Run raptor_avltree_check_node after only + if not rebalancing - node is still being moved. + + * src/raptor_avltree.c: remove QUOTE_FN and flush stderr + + * src/raptor_avltree.c: Remove other raptor_avltree_check_node before + + * src/raptor_avltree.c: + (raptor_avltree_sprout): Do not run before + check, the node is not consistent while it is moving to the right + place. + + * src/raptor_turtle_writer.c: + (main) cast for strlen + + * src/raptor_internal.h: Added prototypes for raptor_avltree_size, + raptor_avltree_dump and raptor_avltree_check + + * src/raptor_avltree.c: raptor_avltree_node gains a parent field + raptor_avltree gains a size field + (raptor_avltree_sprout): Add a parent node arg for updating parent + field on sprouts. + (raptor_avltree_add): Call raptor_avltree_sprout with NULL parent. + (raptor_avltree_print_node): Added for debugging + (raptor_avltree_check_node): Added to check a node for validity of + pointers + (raptor_avltree_sprout_left, raptor_avltree_sprout_right, + raptor_avltree_sprout, raptor_avltree_balance_left, + raptor_avltree_balance_right): Update parent pointers and run + check functions afterwards. + (raptor_avltree_delete_internal): Run check functions + (raptor_avltree_size): Added to get tree size. + (raptor_avltree_dump_internal, raptor_avltree_dump, + raptor_avltree_check_internal, raptor_avltree_check): Added for + debugging tree and checking consistency. + (main): Added one more test item so tree is not balanced. Run + checks during adds and delete. + +2008-01-21 Lauri Aalto <laalto@iki.fi> + + * src/raptor_rdfxml.c: + (raptor_rdfxml_parse_init): Check for + allocation failures and return error code if necessary. + (raptor_rdfxml_parse_terminate): Do not assume sax2, id_set are + initialized. + +2008-01-21 Dave Beckett <dave@dajobe.org> + + * utils/rdfdiff.c: Changed algorithm - read both files into + rdfdiff_file* structures with rdfdiff_collect_statements, removing + duplicates for each file then compare afterwards. + (rdfdiff_statement_equals): Edited to have one return. + (rdfdiff_statement_find): Added + (rdfdiff_statement_exists): Uses rdfdiff_statement_find. + (rdfdiff_compare_statements): Removed. + (main): Use rdfdiff_collect_statements and after both files are + read in, walk through and remove common statements from the + from_file list. + + * tests/Makefile.am: show results from check-rdfdiff failing + + * utils/rdfdiff.c: + (rdfdiff_statement_exists): Added. + (rdfdiff_collect_statements): Use rdfdiff_statement_exists to not + add duplicate statements. + + * tests/Makefile.am: Set result=1 on errors + +2008-01-20 Dave Beckett <dave@dajobe.org> + + * tests/turtle/rdf-schema.out, tests/turtle/rdf-schema.ttl: Remove + duplicate statements from rdf-schema* now that serializer discards + them + + * src/raptor_abbrev.c: + (raptor_abbrev_subject_add_property): Do + not save duplicate statements. + Fixes Issue #0000245 http://bugs.librdf.org/mantis/view.php?id=245 + + * src/raptor_avltree.c: + (main): Add test for raptor_avltree_search + + * src/raptor.h, src/raptor_xml.c: autodocs + +2008-01-17 Dave Beckett <dave@dajobe.org> + + * src/raptor_serialize_json.c: + (raptor_json_serialize_init): + Change the test for name "json". + + * src/raptor_serialize_json.c: + (raptor_init_serializer_json): + Change serializer name 'json-t' to 'json-triples' + + * src/raptor_serialize_json.c: + (raptor_init_serializer_json): Set + JSON mime type to application/json. Change serializer name 'json' + to resource-centric one and add alias 'json-r'. + + * src/raptor_xml_writer.c: + (main): Use raptor_iostream_tell rather + than deprecated raptor_iostream_get_bytes_written_count + + * src/raptor_serialize_json.c: + (raptor_init_serializer_json): Cast + + * src/raptor_json_writer.c: Added define + RAPTOR_JSON_WRITER_DATATYPES to remove unused fields and + initialising/freeing supporting commented-out function + raptor_json_writer_literal_datatype + + * configure.ac, src/Makefile.am, src/raptor_internal.h, + src/raptor_json_writer.c, src/raptor_serialize.c, + src/raptor_serialize_json.c: Added JSON serializing support. + raptor_json_writer class for formatting JSON. json-r and json-t + serializations based on + http://n2.talis.com/wiki/RDF_JSON_Specification + +2008-01-16 Dave Beckett <dave@dajobe.org> + + * src/raptor_turtle_writer.c: + (raptor_iostream_write_string_python): + Do not write too much raw UTF-8 + + * src/raptor_turtle_writer.c: + (raptor_iostream_write_string_python): Add Long Turtle mode 2, + shift JSON to 3. + (raptor_turtle_writer_quoted_counted_string): Use mode 2 for + triple-quoted long strings + + * src/raptor_internal.h: Add + raptor_turtle_writer_quoted_counted_string replacing + raptor_turtle_writer_quoted + + * src/raptor.h, src/raptor_serialize_ntriples.c, + src/raptor_turtle_writer.c: + (raptor_iostream_write_string_python): + Added renamed from raptor_iostream_write_string_turtle and + replacing raptor_iostream_write_string_ntriples. Handles writing + to an iostream with escapes in N-Triples, Turtle and JSON with + appropriate escapes which are all python like. + (raptor_iostream_write_string_turtle): Changed to use + raptor_iostream_write_string_python. + (raptor_turtle_writer_quoted_counted_string): Renamed from + raptor_turtle_writer_quoted and taking a length + +2008-01-14 Lauri Aalto <laalto@iki.fi> + + * autogen.sh: Do not branch autogen.sh scripts but keep them + identical + +2008-01-12 Dave Beckett <dave@dajobe.org> + + * autogen.sh: automake 1.10 research + +2008-01-11 Lauri Aalto <laalto@iki.fi> + + * src/n3_parser.y, src/ntriples_parse.c, src/raptor_grddl.c, + src/raptor_guess.c, src/raptor_internal.h, src/raptor_parse.c, + src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_serialize.c, + src/raptor_serialize_dot.c, src/raptor_serialize_ntriples.c, + src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, + src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, + src/raptor_serialize_turtle.c, src/turtle_parser.y: + (raptor_*_serializer_register_factory, + raptor_*_parser_register_factory) Return error codes from parser + and serializer factory registration functions. + (raptor_serializer_register_factory, + raptor_parser_register_factory) Check factory function return + code. + (raptor_parser_factory_add_alias, + raptor_parser_factory_add_mime_type, + raptor_parser_factory_add_uri) Added error code returns. Bubble up + OOM errors to caller. + + * src/raptor_parse.c, src/raptor_serialize.c: + (raptor_parsers_init, + raptor_parser_register_factory, + raptor_serializer_register_factory): Let raptor_init() handle + dying on OOM. + + * src/n3_parser.y, src/ntriples_parse.c, src/raptor_general.c, + src/raptor_grddl.c, src/raptor_guess.c, src/raptor_internal.h, + src/raptor_parse.c, src/raptor_rdfxml.c, src/raptor_rss.c, + src/raptor_sax2.c, src/raptor_serialize.c, + src/raptor_serialize_dot.c, src/raptor_serialize_ntriples.c, + src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, + src/raptor_serialize_rss.c, src/raptor_serialize_simple.c, + src/raptor_serialize_turtle.c, src/raptor_uri.c, + src/turtle_parser.y: Changed raptor internal init functions to + return error codes. + +2008-01-07 Lauri Aalto <laalto@iki.fi> + + * src/raptor.h: Add raptor_error_handlers_init and raptor_sax2 + RAPTOR_API exports. + + * src/raptor_rfc2396.c: + (raptor_uri_resolve_uri_reference): Cast + unsigned char -> char. Fixes compilation problems on non-gcc + compilers. + +2008-01-05 Dave Beckett <dave@dajobe.org> + + * src/raptor_rfc2396.c: Update URI resolving for RFC3986 - some + abnormal examples have different results or have defined possible + results. + (raptor_uri_resolve_uri_reference): Remove leading /../ and /./ + (main): Update tests for RFC3986 changes + + * src/raptor_general.c: 2008 + +2008-01-04 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_turtle.c: + (raptor_turtle_ensure_writen_header): + Do not assume context->turtle_writer is initialized. + + * src/raptor_serialize_turtle.c: + (raptor_turtle_serialize_init): + Require non-NULL rdf:type abbrev node. + + * src/raptor_abbrev.c: + (raptor_abbrev_subject_add_property): + Prevent low-memory double deletes - increment object reference + counts earlier. + + * src/raptor_turtle_writer.c: + (raptor_turtle_writer_quoted): Check + for stringbuffer alloc failures. + +2008-01-03 Dave Beckett <dave@dajobe.org> + + * src/raptor.h, src/raptor_qname.c: Added + raptor_qname_get_counted_value + +2008-01-03 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_turtle.c: + (raptor_turtle_serialize_statement): + Return error if raptor_abbrev_node_lookup() or + raptor_abbrev_subject_add_property() calls fail. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_statement): + Removed redundant conditional. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_ensure_writen_header): + Check for qname alloc failure, do not pass NULL attributes to XML + element. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_statement): + Lowmem fixes. Return raptor_abbrev_subject_add_property() errors + to caller. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_ensure_writen_header): + Added int return code. + (raptor_rdfxmla_serialize_end) Fixed low-memory crash: make sure + context->rdf_RDF_element is not used if NULL. + + * src/raptor_abbrev.c: + (raptor_new_qname_from_resource): Fixed + low-memory leaks. + + * src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: + rdfxml-abbrev & turtle serializer error messages: Removed double + 0x prefixes - %p already gives one. + + * src/raptor_iostream.c: Changed raptor_iostream_handler2 + initializers from gcc/c99 style to traditional C. + +2008-01-02 Lauri Aalto <laalto@iki.fi> + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_end): + Do not assume xml_writer or rdf_RDF_element are initialized. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_serialize_statement): + Check for raptor_abbrev_node_lookup() errors. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_ensure_writen_header): + Check for alloc failures. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_emit_subject): + Check for alloc failures. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_emit_subject_properties): Check for alloc failures. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_emit_literal): + Check for qname attribute alloc failures. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_emit_resource): + Check for qname attribute alloc failure. + + * src/raptor_serialize_rdfxmla.c: + (raptor_rdfxmla_emit_subject_list_items): Check for xml element + alloc failure. + + * src/raptor_abbrev.c: + (raptor_new_qname_from_resource): Check for + alloc failure. + + * src/raptor_abbrev.c: + (raptor_abbrev_node_lookup): Check for + lookup node allocation failures. + + * src/raptor_abbrev.c: + (raptor_new_abbrev_node): Check for alloc + failures. + + * src/turtle_parser.y: + (raptor_turtle_parse_chunk): Do not leave + turtle_parser->buffer a dangling pointer if realloc fails. + (raptor_turtle_parse_terminate) When freeing + turtle_parser->buffer, do not trust turtle_parser->buffer_length + to be in sync. + + * src/raptor_iostream.c: + (raptor_new_iostream_to_filename): Close + file on alloc failure. + + * src/raptor_iostream.c: + (raptor_new_iostream_from_filename): + Close file on alloc failure. + + * src/raptor_iostream.c: + (raptor_iostream_calculate_modes, + raptor_iostream_check_handler, raptor_new_iostream_from_handler2): + Fix compiler error on some non-gcc compilers - illegal use of + const. + +2008-01-01 Dave Beckett <dave@dajobe.org> + + * src/raptor_iostream.c: code style + + * src/raptor_iostream.c: docs + + * src/raptor_iostream.c: + (raptor_iostream_calculate_modes): Use + handler2 version for calculations. + (raptor_iostream_check_handler): Check handler API versions. + (raptor_new_iostream_from_handler2, + raptor_new_iostream_to_filename, + raptor_new_iostream_to_file_handle, raptor_new_iostream_to_string, + raptor_new_iostream_from_filename, + raptor_new_iostream_from_file_handle): Set mode once. + + * src/raptor_iostream.c: Check handler matches requested mode + (raptor_iostream_calculate_modes): Added. + (raptor_iostream_check_handler): Renamed from + raptor_iostream_init_common. + (raptor_new_iostream_from_handler2, raptor_new_iostream_to_filename, + raptor_new_iostream_to_file_handle, raptor_new_iostream_to_string, + raptor_new_iostream_from_filename, + raptor_new_iostream_from_file_handle): Use + raptor_iostream_check_handler to check things and + raptor_iostream_calculate_modes to set mode. + + * src/raptor_iostream.c: Merge read/write filename code Ensure + finish is called to fclose(handle) + + * src/raptor_iostream.c: + (test_*): Replace uses of + raptor_iostream_get_bytes_written_count with raptor_iostream_tell + + * src/raptor_iostream.c: Use unsigned long offset not bytes. + (raptor_iostream_get_bytes_written_count): Deprecated for + raptor_iostream_tell + (raptor_iostream_tell): Added + + * src/raptor.h: Deprecate raptor_iostream_get_bytes_written_count + for raptor_iostream_tell + + * src/raptor_iostream.c: + (raptor_filename_iostream_finish): Added + to close filename file + handle. raptor_iostream_read_file_handle_handler struct added + (raptor_new_iostream_from_file_handle): Added. + (test_read_from_file_handle): Enabled. + + * src/raptor_iostream.c: Put ended EOF into flags + + * src/raptor_iostream.c: Merge read/write sinks + + * src/raptor_iostream.c: Add private field to raptor_iostream_s + for handling freeing handler2 + (raptor_new_iostream_from_handler2): Add const to hamdler2 arg. + + * src/raptor.h: raptor_iostream_handler2 loses private field - it + can be part of internals of raptor_iostream Updated + raptor_new_iostream_from_handler2 to make handler2 arg + constant pointer to constant data. + + * src/raptor.h: Added raptor_iostream_read_eof and typedef + raptor_iostream_read_eof_func to raptor_iostream_handler2 + structure. + + * src/raptor_iostream.c: + (raptor_iostream_read_eof): Added. + (main) More unit test refactoring and checking. + + * src/raptor_iostream.c: Resource cleanup on test failures + + * src/raptor_iostream.c: Refactor read tests to be units - one + function per test. + + * src/raptor_iostream.c: Refactor write tests to be units - one + function per test. + + * src/raptor_iostream.c: + (main): Tests for iostream reading + |