2011-11-27 Dave Beckett * NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.7 2011-11-27 Dave Beckett * Snapshotted raptor2_2_0_6 for 2.0.6 release (GIT f9f3768e7080f1f132856b731c232c8cbeac1634) * docs/raptor-1-to-2-map.tsv: raptor_sequence swap, reverse and next_permutation * docs/raptor2-sections.txt: raptor_sequence_next_permutation * src/raptor_permute_test.c: (intseq_get_at): Add for testing clarity * src/raptor_permute_test.c: Add a proper value checking test for permute size 5 * src/Makefile.am, src/raptor_permute.c, src/raptor_permute_test.c: raptor_permute_test.c is a pure test and never linked into libraptor2 * src/raptor_permute.c: Turn permute code into a test for sequence raptor_sequence_next_permutation * src/raptor2.h.in, src/raptor_sequence.c: (raptor_sequence_next_permutation): Added based on int permute code * docs/raptor2-sections.txt, src/raptor2.h.in, src/raptor_sequence.c: (raptor_sequence_swap): Added pulled out of raptor_sequence_reverse 2011-11-25 Dave Beckett * src/raptor2.h.in, src/raptor_sequence.c: (raptor_sequence_reverse): Added * src/raptor_expat.c, src/raptor_sax2.c: Fix expat support 2011-11-23 Dave Beckett * src/Makefile.am, src/raptor_permute.c: Add test permutations code * configure.ac: Use AWK * src/raptor_namespace.c: Explain namespace depth, starting and scopes 2011-11-15 Nicholas J Humfrey * src/Makefile.am: Made git-version.h a non-distributable source file. 2011-11-14 Dave Beckett * src/raptor_www_curl.c: (raptor_www_curl_set_ssl_cert_options): Handle curl < 7.16.4 * NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.6 * Snapshotted raptor2_2_0_5 for 2.0.5 release (GIT b286cc333996006f008a5ddd3ed116a7613a86bc) 2011-11-13 Dave Beckett * docs/.gitignore, docs/Makefile.am: docs fixes to use raptor-fake.h * docs/tmpl/section-general.sgml, src/snprintf.c, src/raptor2.h.in: autodocs * ChangeLog, NEWS.html, RELEASE.html: 2.0.5 * src/Makefile.am: no rdfdiff here * src/ntriples_parse.c, src/raptor_nfc_test.c, src/raptor_turtle_writer.c, src/raptor_xml.c: Check for error return for all raptor_unicode_utf8_string_get_char() calls Fixes Issue #000481 http://bugs.librdf.org/mantis/view.php?id=481 * .gitignore: Ignore git-version.h * tests/ntriples/Makefile.am, tests/ntriples/bug-481.nq, tests/ntriples/bug-481.out: Add test/results for Issue #481 * autogen.sh: update autogen.sh * configure.ac, src/Makefile.am, src/raptor_general.c, src/raptor_internal.h: Generate GIT commit in version string when compiling from GIT Approach copied from rasqal 2011-11-05 Lauri Aalto * src/ntriples_parse.c: (raptor_nquads_parse_recognise_syntax): Guess nquads over ntriples since now ntriples parses fine on nquads parser 2011-11-04 Lauri Aalto * tests/ntriples/Makefile.am, tests/ntriples/testnq-optional-context.nq, tests/ntriples/testnq-optional-context.out: added test case for optional context node in nquads * src/ntriples_parse.c: (raptor_ntriples_parse_line): Make context optional for nquads. Fixes Issue #0000479 http://bugs.librdf.org/mantis/view.php?id=479 2011-10-18 Nicholas J Humfrey * src/turtle_parser.y: Added the W3C format URI for the Turtle parser 2011-10-13 Nicholas J Humfrey * src/ntriples_parse.c, src/raptor_librdfa.c, src/raptor_rdfxml.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: Added W3C Format URIs to the parser and serialiser syntax descriptions. 2011-10-13 Nicholas J Humfrey * src/raptor_json.c, src/raptor_serialize_json.c: Updated the URL for RDF/JSON serialisation specification. 2011-09-26 Dave Beckett * Merge GitHub pull request #2 from presbrey/master 2011-09-26 Joe Presbrey * (raptor_uri_string_to_relative_uri_string): compare paths not files. Bugfix raptor_uri_string_to_relative_uri_string Fixes Issue #0000472 http://bugs.librdf.org/mantis/view.php?id=472 2011-09-13 Dave Beckett * src/raptor_uri.c: set errno to 0 2011-09-08 Dave Beckett * configure.ac, src/raptor_internal.h, src/snprintf.c: Removed calls to trunc() and lround() and optional linking of libm (raptor_format_float): Removed unused internal function and thus removed the only need for trunc() and lround(). configure: Removed checks for trunc(), lround() in libc or libm. * src/raptor_abbrev.c, src/raptor_general.c, src/raptor_internal.h, src/raptor_iostream.c, src/raptor_locator.c, src/raptor_uri.c, src/raptor_xml.c, src/snprintf.c: Make raptor_format_integer handle hex too (raptor_format_integer): Add base, width and padding fields (raptor_format_hexadecimal): Deleted, replaced by above with base = 16. Updated all callers of above with new parameters. * src/raptor_json.c: (raptor_json_parse_chunk): bad cast size_t to len for yajl API 2011-08-31 Dave Beckett * src/raptor_general.c, src/raptor_iostream.c, src/raptor_locator.c, src/raptor_nfc.c, src/raptor_nfc_test.c, src/raptor_qname.c, src/raptor_turtle_writer.c, src/raptor_unicode.c, src/raptor_www_curl.c, src/raptor_xml.c, src/raptor_xml_writer.c, src/snprintf.c: Add more RAPTOR_GOOD_CAST and RAPTOR_BAD_CAST and fix some. * src/raptor_uri.c: (raptor_new_uri_from_rdf_ordinal): Use raptor_format_integer() * src/raptor_general.c, src/raptor_internal.h: Use raptor_format_integer() in generating bnode IDs (raptor_world_default_generate_bnodeid_handler): Use raptor_format_integer() and tidy code. raptor_world field default_generate_bnodeid_handler_prefix_length is an integer; long enough. * src/raptor_abbrev.c: (raptor_new_qname_from_resource): Use raptor_format_integer() * src/raptor_internal.h, src/raptor_iostream.c, src/raptor_xml.c, src/snprintf.c: (raptor_format_hexadecimal): Added for formatting uppercase hex in a fixed width field. (raptor_iostream_hexadecimal_write): Use raptor_format_hexadecimal() (raptor_xml_escape_string_any): Use raptor_format_hexadecimal() to remove a sprintf for &#xXX. * utils/rdfdiff.c: (rdfdiff_add_statement): Malloc right size * src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_iostream.c, src/raptor_libxml.c, src/raptor_nfc.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_sax2.c, src/raptor_serialize_html.c, src/raptor_serialize_rdfxml.c, src/raptor_term.c, src/raptor_turtle_writer.c, src/raptor_unicode.c, src/raptor_xml.c, src/snprintf.c, src/turtle_common.h: Use RAPTOR_BAD_CAST and RAPTOR_GOOD_CAST Some good uses: - narrowing a known, checked unicode char to a U16 Some 'bad' uses: - only handing error messages, literal language, qname prefixes of a max len constrained by int - passing in data to libxml constrained by int max len - locator column field constrained to int size Some bad uses: - iostream read_bytes and write-bytes methods return int but could easily return a lot more in the size_t range (compare to fread). API change needed. - locator byte field constrained to int size. should be size_t - raptor_nfc_check returns int offset into a buffer that could be larger raptor_ntriples_parser_context changed line_length and offset to size_t raptor_turtle_parser changed buffer_length to size_t * src/raptor_internal.h: Add macros for describing types of casts RAPTOR_GOOD_CAST: code checks or logic ensures cast will not truncate RAPTOR_BAD_CAST: value may be truncated; may require API change/break. Might be unrealistic e.g. a >4G error message, qname prefix. 2011-08-30 Dave Beckett * src/snprintf.c: snprintf return code and size guessing fixes vsnprintf_is_c99 macro: start guessing length from len strlen(format) and grow size by 50% each loop to hopefully get big enough faster. (raptor_vsnprintf): Error out when raptor_vasprintf result < 0 (raptor_snprintf): Note error is < 0 response (raptor_vasprintf): Error out when raptor_vsnprintf2 result is < 0 2011-08-28 Dave Beckett * src/raptor_locator.c: (raptor_locator_format): Use raptor_format_integer to kill snprintf * src/raptor_internal.h, src/snprintf.c: (raptor_format_integer): Added * src/raptor_json_writer.c: (raptor_json_writer_literal_datatype): Remove unused code. 2011-08-27 Dave Beckett * utils/rdfdiff.c: Fix rdfdiff assumption that RAPTOR_DEBUG is defined * src/raptor_grddl.c: Fix a few more RAPTOR_DEBUG is defined assumptions * src/raptor_avltree.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_iostream.c, src/raptor_namespace.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_rdfxml.c, src/raptor_rfc2396.c, src/raptor_sequence.c, src/raptor_serialize_rss.c, src/raptor_set.c, src/raptor_stringbuffer.c, src/raptor_turtle_writer.c, src/raptor_uri.c, src/raptor_www.c, src/raptor_www_curl.c, src/raptor_www_test.c, src/raptor_xml.c, src/raptor_xml_writer.c, src/turtle_parser.y: Code style for comparing a possibly undefined macro to a value Use: #if defined(RAPTOR_DEBUG) && RAPTOR_DEBUG > N rather than: #if RAPTOR_DEBUG > N * src/raptor_internal.h: Do not assume RAPTOR_DEBUG is defined * src/snprintf.c: autodocs * configure.ac: Do not enable debug messages by default for --enable-maintainer-mode This now requires the extra --enable-debug option to configure or autogen.sh * docs/tmpl/section-general.sgml: updated doc tmpl * configure.ac: Check for vasprintf once * configure.ac, src/snprintf.c: Define -D_GNU_SOURCE to get vasprintf() * docs/raptor-1-to-2-map.tsv, docs/raptor2-sections.txt: Add new snprintf functions to docs * src/raptor_json_writer.c, src/raptor_locator.c, src/raptor_log.c: Use raptor_snprintf() and raptor_vasprintf() In preference to raw snprintf() or doing strlen() on raptor_vsnprintf(). * configure.ac, src/raptor2.h.in, src/raptor_general.c, src/snprintf.c: Portability fixes to snprintf / vsnprintf / vasprintf (raptor_vsnprintf2): Added with actual vsnprintf() calling contention, deprecating raptor_vsnprintf which doesn't (raptor_snprintf): Added with snprintf() calling convention using raptor_vsnprintf2() to provide a portable version. (raptor_vasprintf): Added with vasprintf() calling convention (GNU) using raptor_vsnprintf2() to implement it if not present. Moved the formatted printing code all to src/snprintf.c 2011-08-25 Dave Beckett * src/raptor_locator.c: Avoid snprintf(NULL, ) when there there is no C99 vsnprintf() (raptor_locator_format): Pick a large enough buffer size if snprintf is likely not portable, when HAVE_C99_VSNPRINTF is not defined. Fixes Issue#0000465 http://bugs.librdf.org/mantis/view.php?id=465 2011-08-21 Dave Beckett * librdfa/rdfa.c: Switch deprecated index() to more portable strchr() * src/snprintf.c: Compile a local lround() if it is not present. * configure.ac: Add check for lround() * src/win32_raptor_config.h.in: Define isnan() macro around _isnan() * configure.ac: Define HAVE_TRUNC and HAVE_ROUND from configure 2011-08-12 Dave Beckett * src/raptor_statement.c: (raptor_statement_compare): Calculate pointer differences using ptrdiff_t * src/raptor_unicode.c: Casts for returning unicode char lengths (raptor_unicode_utf8_string_put_char, raptor_unicode_utf8_string_get_char): Cast small int return values. * src/raptor_general.c: (raptor_world_default_generate_bnodeid_handler): Use unsigned int for ID lengths. * src/raptor_internal.h, src/raptor_qname.c: Use size_t for qname value length and unsigned int for name lengths. raptor_qname_s changes value_length to size_t (raptor_new_qname, raptor_new_qname_from_namespace_local_name, raptor_qname_string_to_uri): unsigned ints for prefix and name lengths. * src/raptor_namespace.c: Use raptor_namespace prefix_length as unsigned int; it's long enough. (raptor_namespaces_find_namespace, raptor_new_namespace_from_uri): Casts for unsigned int. * src/raptor_internal.h: raptor_namespace prefix_length is unsigned int * src/raptor_serialize_turtle.c, src/turtle_parser.y: Use turtle's actual mime type text/turtle in syntax recognizing code. This should make guessing from the registered mime type accurate. 2011-08-09 Dave Beckett * docs/raptor-1-to-2-map.tsv, docs/raptor2-sections.txt, docs/tmpl/section-unicode.sgml, src/raptor2.h.in, src/raptor_unicode.c: Added UTF-8 strlen and substr utility functions (raptor_unicode_utf8_strlen): Added (raptor_unicode_utf8_substr): Added 2011-08-01 Dave Beckett * configure.ac: stddef.h for ptrdiff_t * src/raptor_uri.c: code style - casts for lengths (raptor_new_uri_from_counted_string, (raptor_new_uri_from_counted_string): Cast size_t length from strlen to unsigned int. (raptor_new_uri_from_uri_local_name, raptor_new_uri_relative_to_base, raptor_new_uri_from_id) raptor_new_uri_for_rdf_concept): size_t for string and uri lengths (raptor_uri_path_common_base_length): Use size_t inside and return size_t (raptor_uri_path_make_relative_path): size_t for path lengths. (raptor_uri_print): use size_t for number of objects fwrite prints * src/raptor_serialize_rss.c: cast uri len to unsigned int * src/raptor_www_curl.c: size_t for len 2011-07-31 Dave Beckett * src/ntriples_parse.c, src/raptor_abbrev.c, src/raptor_avltree.c, src/raptor_general.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_internal.h, src/raptor_iostream.c, src/raptor_json.c, src/raptor_json_writer.c, src/raptor_libxml.c, src/raptor_log.c, src/raptor_namespace.c, src/raptor_option.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_rdfxml.c, src/raptor_rfc2396.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_sax2.c, src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c, src/raptor_set.c, src/raptor_statement.c, src/raptor_stringbuffer.c, src/raptor_term.c, src/raptor_turtle_writer.c, src/raptor_uri.c, src/raptor_www.c, src/raptor_www_curl.c, src/raptor_www_libxml.c, src/raptor_xml.c, src/raptor_xml_writer.c, src/turtle_common.c, src/turtle_lexer.l, src/turtle_parser.y, utils/rdfdiff.c: Code style change and cleanup for alloc/free macros Code style: 1. var = RAPTOR_CALLOC(type, count, size) Prefering: var = RAPTOR_CALLOC(type, 1, sizeof(*var)) when count = 1 2. var = RAPTOR_MALLOC(type, size) 3. RAPTOR_FREE(type, var) The consequence here is allocs that mostly fit into 1 line without so much boilerplate and duplication of types. The RAPTOR_MALLOC and RAPTOR_CALLOC now do the cast to the return type. RAPTOR_FREE takes the object type too but always casts arg to void This certainly contains many wrong types to the arg but might be used later in some kind of smart type-aware debugging allocator. * librdfa/curie.c: Use size_t to compute sizes otherwise may truncate on 64-bit systems (rdfa_resolve_uri): Use size_t for strlen tmp (rdfa_resolve_curie): cast for strlen when ifdef LIBRDFA_IN_RAPTOR * librdfa/rdfa.c: Use size_t to compute sizes otherwise may truncate on 64-bit systems 2011-07-30 Dave Beckett * docs/.gitignore, docs/raptor-overrides.txt, docs/raptor-sections.txt, docs/raptor.types, docs/raptor2-overrides.txt, docs/raptor2-sections.txt, docs/raptor2.types, docs/tmpl/.gitignore: More changes from DOC_MODULE=raptor2 * docs/Makefile.am: Install raptor V2 docs in with doc module raptor2 so they don't clash with raptor V1 docs 2011-07-25 Dave Beckett * src/raptor_grddl.c: (raptor_grddl_run_grddl_transform_uri): Set base_uri for sheet URI get. * NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.5 * docs/tmpl/section-option.sgml, docs/tmpl/section-www.sgml: Update tmpls * Snapshotted raptor2_2_0_4 for 2.0.4 release (GIT 76194e074160848d6f690a62b395d5dd23aff728) * docs/raptor-1-to-2-map.tsv, docs/raptor-sections.txt, src/raptor2.h.in, src/raptor_internal.h, src/raptor_option.c, src/raptor_parse.c, src/raptor_turtle_writer.c, src/raptor_www.c, src/raptor_www_curl.c: Implement WWW feching SSL client certificate options raptor_option gains: RAPTOR_OPTION_WWW_CERT_FILENAME, RAPTOR_OPTION_WWW_CERT_TYPE and RAPTOR_OPTION_WWW_CERT_PASSPHRASE (raptor_www_set_ssl_cert_options): Added public API to set SSL client certificates on WWW. (raptor_www_curl_set_ssl_cert_options): Added for libcurl to implement above. (raptor_parser_parse_uri_with_connection): Use raptor_www_set_ssl_cert_options() to turn the parser options into settings on the WWW object. 2011-07-24 Dave Beckett * src/ntriples_parse.c: (raptor_ntriples_parse_line): Calculate term_lengths only when debugging. [-Wunused-but-set-variable] * src/turtle_lexer.l: Disable input() for Turtle lexer - never needed. * src/turtle_parser.y: (turtle_parse): Do not assign buffer which is unused [-Wunused-but-set-variable] * src/raptor_internal.h, src/raptor_parse.c: Move parser buffer from stack to parser object (reducing call stack size) RAPTOR_READ_BUFFER_SIZE internal define added. raptor_parser gains a buffer of RAPTOR_READ_BUFFER_SIZE + 1 for NUL. (raptor_parser_parse_file_stream): Use parser object buffer not stack. (raptor_parser_parse_uri_write_bytes): Use size_t in len calculation. (raptor_parser_parse_iostream): Use parser object buffer not stack. Use size_t for read length. * configure.ac: -Wno-sign-conversion for now * src/raptor_internal.h, src/raptor_www.c: Reduce stack use of raptor_www_file_handle_fetch (raptor_www_file_handle_fetch): Use www->buffer for file buffer for all builds not just www with libxml or libfetch. * src/raptor_xml.c: (raptor_valid_xml_ID): use size_t for strlen * src/raptor_locator.c: (raptor_locator_format): Cast calculated bufsize to int return. * src/raptor_internal.h, src/raptor_www.c, src/raptor_www_curl.c: Use a total_bytes for byte counts inside raptor_www * src/snprintf.c: (raptor_format_float): use a long for the intpart. * configure.ac: Expand (GCC) compiler warnings lots * docs/raptor-1-to-2-map.tsv, docs/raptor-sections.txt, src/raptor2.h.in, src/raptor_internal.h, src/raptor_serialize_ntriples.c, src/raptor_serialize_turtle.c, src/raptor_turtle_writer.c: Make sure N-Triples and Turtle serialize legal blank node IDs Fixes Issue #0000449 http://bugs.librdf.org/mantis/view.php?id=449 (raptor_bnodeid_ntriples_write): Added to write a N-Triples blank node ID in legal form, replacing any letters not in the allowed set. (raptor_turtle_writer_bnodeid): Added internal method for Turtle writer to do this too. (raptor_turtle_emit_blank): Use above. * configure.ac: Enforce libcurl earliest version supported 7.12.0 See previous commit for Issue#0000457 http://bugs.librdf.org/mantis/view.php?id=457 and curl GIT commit https://github.com/bagder/curl/commit/ffc5fa3a2be787c8198eb68836a45c440876c1bd * src/raptor_internal.h: Remove curl/types.h Fixes Issue#0000457 http://bugs.librdf.org/mantis/view.php?id=457 Was made a blank file over 7 years ago. curl GIT commit ffc5fa3a2be787c8198eb68836a45c440876c1bd Date: Mon Apr 26 14:06:51 2004 +0000 "typedef CURL in the curl.h file instead of only having a single useful typedef in the separate types.h" Which is 7.11.2 but it wasn't mentioned in the release notes (even if I'd read them): http://curl.haxx.se/changes.html * configure.ac: Improve checking for trunc and round Fixes Issue#0000308 http://bugs.librdf.org/mantis/view.php?id=308 2011-07-14 Dave Beckett * src/raptor_avltree.c: Condition protect more debug printfs * src/raptor_avltree.c: Fix losing node parents in deleting (raptor_avltree_delete_internal, raptor_avltree_delete_internal2): Fix parents when moving nodes during deletion. Based on patch from 'v-for-vandal' in notes of Issue#0000455 http://bugs.librdf.org/mantis/view.php?id=455 Thanks! Fixes Issue#0000455 http://bugs.librdf.org/mantis/view.php?id=455 * src/raptor_avltree.c: Add extra AVL Tree debugging Based on patch in Issue #0000455 http://bugs.librdf.org/mantis/view.php?id=455 with code style changes * configure.ac, src/raptor_json.c: Add YAJL V2 support Note that YAJL V1 and V2 both install the same library name 'libyajl' even though they have different ABI & APIs. Fixes Issue #0000456 http://bugs.librdf.org/mantis/view.php?id=456 2011-07-11 Dave Beckett * tests/trig/bug451.out, tests/trig/bug451.trig: Make bug451.trig legal. Fixes Issue #000451 http://bugs.librdf.org/mantis/view.php?id=451 * src/turtle_lexer.l: Allow = instead of := in TRiG * tests/trig/Makefile.am, tests/trig/bug451.out, tests/trig/bug451.trig, tests/trig/example2.trig: Add tests for bug 451 - fixing TrIG to be legal 2011-06-01 Dave Beckett * NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.4 * Snapshotted raptor2_2_0_3 for 2.0.3 release (GIT 148879e3346d0976792b51bddf4d98db34263d07) 2011-05-31 Dave Beckett * docs/raptor-1-to-2-map.tsv: Fix API change typos; there are no raptor_term_as.*string() functions * src/turtle_lexer.l: Cleanup stringbuffer if EOF happens in a literal * docs/tmpl/section-general.sgml: doc tmpls 2011-05-30 Dave Beckett * src/turtle_parser.y: More fixups for going back to pull parser bison's yacc.c skeleton output does not support %lex-param so use #define YYLEX_PARAM again * src/turtle_parser.y: (turtle_parser_error): Remove yy_init_globals call. 2011-05-22 Dave Beckett * utils/Makefile.am: CLEANFILES cleans *.plist from clang output * utils/rdfdiff.c: (rdfdiff_statement_equals): Return different if object URIs differ. [CLANG] * utils/Makefile.am: ANALYZE * src/Makefile.am: all SOURCES * src/Makefile.am: analyze for maintainer only * src/Makefile.am: CLEANFILES cleans *.plist from clang output * librdfa/triple.c: Fixes from clang --analyze (rdfa_complete_object_literal_triples): Remove assignment of 'current_object_literal' that always assigns the existing value. * librdfa/rdfa.c: Fixes from clang --analyze (start_element): Remove unused (attribute) 'value' var Remove usless assignment of 'insert_xmlns_definition' at end of block it is scoped to. * librdfa/curie.c: Fixes from clang --analyze (rdfa_resolve_uri): use rval_copy to alter final char from '/' not rval, which is always NULL. (rdfa_resolve_curie): Remove unused var 'expanded_prefix_length' * src/raptor_xml_writer.c: (raptor_new_xml_writer): Remove useless assignment to 'nstack'. [CLANG] * src/raptor_uri.c: Fixes [CLANG] (raptor_uri_print): Initialize 'world' carefully and check if it is NULL when calling raptor_log_error_formatted. * src/raptor_unicode.c: Fixes [CLANG] (raptor_unicode_utf8_string_get_char): Do not uslessly increment 'input' pointer at end of function. * src/raptor_turtle_writer.c: Fixes [CLANG] (raptor_new_turtle_writer): Remove useless assignment to 'nstack'. (raptor_turtle_writer_quoted_counted_string): Initialize 'rc' and use it to return faiure from raptor_string_python_write() * src/raptor_serialize_turtle.c: Fixes [CLANG] (raptor_turtle_emit_subject_collection_items) (raptor_turtle_emit_subject_properties): Return 'rv' on error. * src/raptor_serialize_rss.c: (raptor_rss10_serialize_statement): Return failure on not handled [CLANG] * src/raptor_serialize_rdfxmla.c: (raptor_rdfxmla_emit_subject_properties): Return 'rv' on error [CLANG]. * src/raptor_serialize_rdfxml.c: Fixes [CLANG] (raptor_rdfxml_serialize_statement): Remove 'end_predicate_element' assignemnts that are immediately overwritten. Use 'attrs_count' in writing a URI - be consistent with other emitting even know we know in all cases what the values will be. * src/raptor_rss.c: Fixes [CLANG] (raptor_rss_start_element_handler): Remove unused 'attribute_type' var. (raptor_rss_insert_identifiers): Initialize 'new_uri' to NULL and check for failures of it and term construction. * src/raptor_rfc2396.c: Fixes [CLANG] (raptor_uri_resolve_uri_reference): Remove assignment to 'last_char' never needed - loop continue action overwrites it. * src/raptor_rdfxml.c: Fixes [CLANG] (raptor_rdfxml_start_element_handler): Check element->parent is not NULL before using pointer. (raptor_rdfxml_generate_statement): Remove unused rdf_xml_parser var. (raptor_rdfxml_start_element_grammar): Remove assignments to 'finished' that are immediately re-assigned. * src/raptor_nfc.c: (raptor_nfc_check): Remove unused 'start' var [CLANG] * src/raptor_namespace.c: (raptor_namespace_format_as_xml): Do not increment p at end [CLANG] * src/raptor_memstr.c: (raptor_memstr): Remove unused 'c' var [CLANG] * src/raptor_libxml.c: Fixes [CLANG] (raptor_libxml_error_common): Set world and locator to NULL and carefully assign and check use. (raptor_libxml_xmlStructuredError_handler_parsing): Turn assignment into something that does work. Hints that the workaround for an ancient libxml2 context error pointer bug are no longer needed since anyone using such an old libxml would have crashed at this point when an error happened. Could bump minimum libxml2 version. * src/raptor_librdfa.c: (raptor_librdfa_parse_init): Remove unused librdfa_parser [CLANG] * src/raptor_json_writer.c: Fixes [CLANG] (raptor_json_writer_quoted): Initialize rc and set it to value of any raptor_string_python_write error return. Return rc. (raptor_json_writer_key_uri_value): Return error rc * src/raptor_grddl.c: Fixes [CLANG] (raptor_grddl_run_grddl_transform_doc): Initialize userCtxt (raptor_grddl_run_grddl_transform_uri): Remove unused grddl_parser (raptor_grddl_parse_chunk): Remove assigning rc a value never read * src/ntriples_parse.c: (raptor_ntriples_parse_line): Initialize term fields in all cases[CLANG] * src/.gitignore: .gitignore * src/Makefile.am: 'analyze' target fixes * src/Makefile.am: Added 'analyze' target to invoke clang over sources 2011-05-19 Dave Beckett * src/turtle_parser.y: lets have bison debugging with push parser too * src/raptor_parse.c, src/raptor_serialize.c, src/raptor_www_curl.c: Fixes for building in RAPTOR_DEBUG > 2 mode * src/raptor_qname.c: docs 2011-05-12 Dave Beckett * configure.ac: Ensure Bison 2.4+ is used 2011-05-11 Dave Beckett * src/turtle_lexer.l: Make TRiG lexer recognize URI/qname (ws)* (:-)? (ws)* { Add new rule to recognize QNAME as the graph name. Adjust it to skip over extra optional tokens. Adjust existing rule to handle all whitespace around optional ':-' 2011-05-10 Dave Beckett * src/turtle_lexer.l: Handle trig graph name and start in lexer (GRAPH_NAME_LEFT_CURLY): Added returning URI for { with optional ':-' * src/turtle_parser.y: Fix calls to raptor_term_print_as_ntriples() to raptor 2 API form * src/raptor_statement.c: (raptor_statement_print): Handle printing partial statements for debugging. * src/.gitignore: ignore raptor2.h * src/turtle_parser.y: (turtle_push_parse): world only if very debuggy * src/turtle_parser.y: (turtle_push_parse): print token on very debug only. 2011-04-27 Dave Beckett * docs/libraptor2.3, examples/grapper.c, examples/raptor_abort.c, examples/rdfcat.c, examples/rdfguess.c, examples/rdfprint.c, examples/rdfserialize.c, scripts/build-formats.c, tests/empty.c: Use raptor2.h header 2011-04-26 Dave Beckett * docs/Makefile.am: Make docs use raptor2.h * configure.ac, docs/tmpl/section-general.sgml, librdfa/rdfa.h, src/.gitignore, src/Makefile.am, src/ntriples_parse.c, src/raptor.h, src/raptor.h.in, src/raptor2.h.in, src/raptor_abbrev.c, src/raptor_avltree.c, src/raptor_concepts.c, src/raptor_expat.c, src/raptor_general.c, src/raptor_grddl.c, src/raptor_guess.c, src/raptor_iostream.c, src/raptor_json.c, src/raptor_json_writer.c, src/raptor_librdfa.c, src/raptor_libxml.c, src/raptor_locator.c, src/raptor_log.c, src/raptor_memstr.c, src/raptor_namespace.c, src/raptor_nfc.c, src/raptor_nfc_data.c, src/raptor_nfc_test.c, src/raptor_option.c, src/raptor_parse.c, src/raptor_qname.c, src/raptor_rdfxml.c, src/raptor_rfc2396.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_sax2.c, src/raptor_sequence.c, src/raptor_serialize.c, src/raptor_serialize_dot.c, src/raptor_serialize_html.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_turtle.c, src/raptor_set.c, src/raptor_statement.c, src/raptor_stringbuffer.c, src/raptor_syntax_description.c, src/raptor_term.c, src/raptor_turtle_writer.c, src/raptor_unicode.c, src/raptor_uri.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_xml.c, src/raptor_xml_writer.c, src/snprintf.c, src/turtle_common.c, src/turtle_lexer.l, src/turtle_parser.y, utils/rapper.c, utils/rdfdiff.c: Switch to raptor2.h as main header. raptor.h includes it * NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.3 2011-04-15 Nicholas J Humfrey * docs/Makefile.am: Set DISTCLEANFILES to empty before including gtk-doc.make * docs/Makefile.am: Moved raptor-fake.i from CLEANFILES to DISTCLEANFILES. 2011-04-05 Dave Beckett * src/turtle_parser.y: (graph): Ensure $1 is NULLed out and ownership passed on Fixes Issue #0000437 http://bugs.librdf.org/mantis/view.php?id=437 * src/raptor_statement.c: (raptor_statement_print): Handle NULL terms. * src/turtle_parser.y: Fix extra debugging use of raptor_term_print_as_ntriples 2011-03-27 Dave Beckett * src/turtle_lexer.l: Use %option extra-type to set type of extra arg. 2011-03-20 Dave Beckett * Snapshotted raptor2_2_0_2 for 2.0.2 release (GIT 4d782df45fd4b3e11243008c4dc221effcaad591) * configure.ac, src/raptor_general.c: Error out when calling library presents a too old header (raptor_new_world_internal): Switch to checking for too old, not exact match. * NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.2 * src/raptor_term.c: autodocs * Snapshotted raptor2_2_0_1 for 2.0.1 release (GIT 6f1655f985df370999a92897726d359946c1dbd9) 2011-03-14 Dave Beckett * src/raptor.h.in, src/raptor_parse.c: autodocs 2011-03-10 Dave Beckett * src/raptor_term.c: Autodocs - mention UTF-8 encodings in args/returns for raptor_term docs 2011-02-27 Dave Beckett * scripts/process-changes.pl: Update to latest process-changes.pl 2011-02-14 Dave Beckett * scripts/process-changes.pl: Update to latest process-changes.pl * tests/turtle/Makefile.am, tests/turtle/test-36.out, tests/turtle/test-36.ttl, tests/turtle/test-37.out, tests/turtle/test-37.ttl: Add tests for long literal with dups and lang 2011-02-07 Dave Beckett * ChangeLog, ChangeLog.11, Makefile.am: Add ChangeLog.11 for 2010 2011-02-06 Dave Beckett * LICENSE.html: Make GPL V2 or newer explicit. 2011-02-01 Dave Beckett * raptor2.spec.in: fix Source: 2011-01-27 Dave Beckett * src/raptor_internal.h: Remove get_curie_type rename for librdfa - now static * librdfa/curie.c, librdfa/rdfa_utils.h: Update to librda GIT commit 3838bb11fb155bbae200a2388096cbe6804a7551 No longer exports get_curie_type. * NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.1 2011-01-26 Dave Beckett * src/raptor_internal.h: Rename librdfa symbols for internal linking of librdfa Fixes Issue #0000416 http://bugs.librdf.org/mantis/view.php?id=416 * librdfa/rdfa.c, librdfa/rdfa_utils.c, librdfa/triple.c: Update to librdfa GIT commit aeebd00d68ab7292cae35ebfbcb638f3a2625f39 2011-01-24 Nicholas J Humfrey * src/raptor_serialize_ntriples.c, tests/ntriples/testnq-1.out, tests/trig/bug370.out, tests/trig/example1.out, tests/trig/example2.out, tests/trig/example3.out: Fixed the nquads serialiser to output the graph name in the fourth column, instead of repeating the object 2011-01-21 Dave Beckett * src/ntriples_parse.c, src/raptor_abbrev.c, src/raptor_librdfa.c, src/raptor_serialize_dot.c, src/raptor_serialize_html.c, src/raptor_serialize_json.c, src/raptor_serialize_ntriples.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c, src/raptor_uri.c: Replace all RAPTOR_FATAL with error log messages in user builds All RAPTOR_FATAL calls are now only called inside RAPTOR_DEBUG blocks. * src/raptor_abbrev.c, src/raptor_internal.h: (raptor_new_abbrev_subject): Made static to this module * src/raptor_statement.c: (raptor_statement_init): Init statement to NULL pointers 2011-01-03 Dave Beckett * Snapshotted raptor2_2_0_0 for 2.0.0 release (GIT 8ba659697c83891eb6ae9b47ce0e0ce8bb070e40) * docs/raptor-docs.xml: shorter title * NEWS.html, RELEASE.html: 2.0.0 * librdfa/rdfa.c: Revert upstream 62d939ec1e3756a69eef48a50be0ab0624e2d4ad * librdfa/triple.c: (rdfa_generate_namespace_triple): Protect processor_graph_triple_callback * examples/grapper.c, librdfa/iri.c, librdfa/rdfa.c, src/raptor_general.c: Casts for C++ * examples/grapper.c: Use raptor_term_to_string in final 2.0.0 API * docs/raptor-sections.txt: Added raptor_syntax_description_validate * docs/raptor-1-to-2-map.tsv: Added raptor_syntax_description_validate * docs/raptor-1-to-2-map.tsv: Update for older API change: raptor_term_to_.*string not _as_ * src/.gitignore: Ignore generated win32_raptor_config.h * src/win32_raptor_config.h.in: Insert generated @symbols * src/win32_raptor_config.h, src/win32_raptor_config.h.in: Rename win32_raptor_config.h to win32_raptor_config.h.in * configure.ac: generate src/win32_raptor_config.h