2023-03-01 Dave Beckett * Snapshotted raptor2_2_0_16 for 2.0.16 release (GIT b2d89d96cb43a93f751e17619491955abb41dbd1) 2023-03-01 Dave Beckett * docs/raptor-changes.tsv, scripts/process-changes.pl: Support constants in changes TSV * docs/raptor-changes.tsv: 2.0.16 API changes 2023-02-28 Dave Beckett * configure.ac: https and 2023 * INSTALL.html, LICENSE.html, NEWS.html, README.html, RELEASE.html, TODO.html, UPGRADING.html: https and 2023 * docs/.gitignore: Ignore raptor2.actions 2023-02-22 Dave Beckett * docs/tmpl/section-avltree.sgml, docs/tmpl/section-constants.sgml, docs/tmpl/section-www.sgml: Updated doc templates * src/raptor_serialize_rdfxmla.c, src/raptor_serialize_turtle.c: Remove set but unused variable i 2022-12-27 Dave Beckett * ChangeLog, INSTALL.html, LICENSE.html, NEWS.html, RELEASE.html, configure.ac, src/raptor_general.c: 2023 and https 2022-12-27 Dave Beckett * Merge pull request #53 from trofi/shared-by-default CMakeLists.txt: default to shared libraries by default (just like GNU configure) 2022-12-26 Dave Beckett * Merge pull request #55 from thesamesam/clang16 configure.ac: fix -Wimplicit-function-declaration in HAVE___FUNCTION_… 2022-11-04 Sam James * configure.ac: configure.ac: fix -Wimplicit-function-declaration in HAVE___FUNCTION__ test (Clang 16) Clang 16 will make -Wimplicit-function-declaration errors by default. ``` error: call to undeclared library function 'printf' with type 'int (const char *, ...)'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] error: call to undeclared library function 'printf' with type 'int (const char *, ...)'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] ``` For more information, see LWN.net [0] or LLVM's Discourse [1], gentoo-dev@ [2], or the (new) c-std-porting mailing list [3]. [0] https://lwn.net/Articles/913505/ [1] https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213[2] https://archives.gentoo.org/gentoo-dev/message/dd9f2d3082b8b6f8dfbccb0639e6e240[3] hosted at lists.linux.dev. 2022-07-08 Dave Beckett * Merge pull request #52 from Artturin/cmakefix 2022-07-03 Dave Beckett * src/raptor_uri.c: (raptor_uri_counted_filename_to_uri_string): Copy NUL when copyin file:// prefix. Coverity false positive since the following lines of code always add more characters and a NUL. "Fixes" CID 353858 2022-06-15 Artturin * src/CMakeLists.txt: fix the cmake generated pc file before libdir=${exec_prefix}//nix/store/i7abvb760gzca1wqk9g617shqdj5sr7f-raptor2-aarch64-unknown-linux-gnu-2.0.15/lib includedir=${prefix}//nix/store/i7abvb760gzca1wqk9g617shqdj5sr7f-raptor2-aarch64-unknown-linux-gnu-2.0.15/include/raptor2note the double // due to CMAKE_INSTALL_LIBDIR already being a absolute path after libdir=/nix/store/rlhzlak7chagd23898n1x9id6f5a6qpn-raptor2-aarch64-unknown-linux-gnu-2.0.15/lib includedir=/nix/store/rlhzlak7chagd23898n1x9id6f5a6qpn-raptor2-aarch64-unknown-linux-gnu-2.0.15/include/raptor2 2022-06-06 Dave Beckett * src/raptor_internal.h, src/raptor_nfc_icu.c, src/raptor_rdfxml.c, src/raptor_unicode.c, tests/rdfxml/Makefile.am: Fix internal ICU string NFC check to convert to UTF-16 first (raptor_nfc_icu_check, raptor_unicode_check_utf8_nfc_string): Changed signature of these internal functions to not have error_p which wasn't even consistently used. Instead return -1 on failure which is also "falsey" in C. (raptor_nfc_icu_check): Do an UTF-8 (raptor) to UTF-16 conversion before trying to do a NFC normalization check. Update callers of above internal functions to remove error_p argument which was unused in all callers. Update rdfxmla tests to allow tests to throw warnings. 2022-06-04 Dave Beckett * Merge pull request #50 from passware/enkey/cases/POS-5043 2021-12-24 mathvich * src/CMakeLists.txt: [POS-5320] librdfa directory fix * CMakeLists.txt, src/CMakeLists.txt: [POS-5230] librdfa directory fix * CMakeLists.txt, src/CMakeLists.txt: [POS-5230] tabs changed to spaces 2021-12-15 mathvich * utils/CMakeLists.txt: [POS-5103] utils dir fix * CMakeLists.txt: [POS-5103] returned to origin * CMakeLists.txt: [POS-5103] debug message 2021-12-14 mathvich * CMakeLists.txt: [POS-5103] directory change * CMakeLists.txt: [POS-5103] directory change * src/CMakeLists.txt: [POS-5103] scripts directory fix 2021-11-29 Dave Beckett * src/raptor_www_curl.c: (raptor_www_curl_set_ssl_cert_options) Set res 2021-11-21 Dave Beckett * src/turtle_parser.y: Add va_end to turtle_parser_error_simple error paths (turtle_parser_error_simple): Ensure va_end is always called on all normal and error paths. [coverity CID 343351] * src/raptor_internal.h, src/raptor_www.c, src/raptor_www_curl.c: Summary: Check curl_easy_setopt() return values for errors In several places check for curl_easy_setopt() erorr returns and fail. [coverity CID 343360] (raptor_new_www_with_connection): On curl module init failures, free up www object before error return. (raptor_www_curl_init): Return error value for failure in init, check all calls with a macro. (raptor_www_curl_fetch, raptor_www_curl_set_ssl_cert_options) (raptor_www_curl_set_ssl_verify_options): Check and set error messages on failure 2021-11-21 Dave Beckett * src/raptor_grddl.c: Fix leak on failure of WWW model methods (raptor_grddl_fetch_uri): On WWW call failures, free up www object before error return. [coverity CID 343353] * librdfa/curie.c: Fix check for ".." string (rdfa_resolve_uri): Fix check for ".." that never matched; if was always false [coverity CID 343354] * src/raptor_serialize_rdfxmla.c: Handle leak of iter on failure (raptor_rdfxmla_emit_subject_properties): Handle leak of iter on rv failure by breaking loop to let normal return handle it. [coverity CID 343358] 2021-11-14 Dave Beckett * CMakeLists.txt, src/raptor_config_cmake.h.in: Add cmake check for time.h with HAVE_TIME_H 2021-11-09 mathvich * CMakeLists.txt, src/raptor_config_cmake.h.in: Fix for CMake build on Windows HAVE_TIME_H definition added 2021-10-16 Dave Beckett * configure.ac: Fix newline quoting for OSX sh/bash compatibility * Makefile.am: old ChangeLog are not interesting 2021-10-13 Dave Beckett * src/Makefile.am: Add parsedate.h to BUILT_SOURCES * configure.ac: Update bison check to find first new enough GNU bison This probably should find all versions and pick the latest but that's not so easy in this AC_PATH_PROGS_FEATURE_CHECK approach. It remains that it can be overrridden with the BISON envar, as before. 2021-10-10 Dave Beckett * src/parsedate.y: Remove ancient protection around ctype calls The isTHING() calls do not need an isascii() wrapper ever. * src/parsedate.y, src/raptor_internal.h: Fix time header check with HAVE_ prefix * configure.ac, src/parsedate.y, src/raptor_internal.h: Fix headers after removal of AC_HEADER_TIME 2021-10-09 Dave Beckett * configure.ac, src/parsedate.y: Remove and fix obsolete autoconf - Give AC_PROG_LEX an argument - Remove AC_HEADER_TIME - Remove AC_HEADER_STDC and uses - Update explicit header checks adding getopt.h unistd.h 2021-09-20 Dave Beckett * INSTALL.html, LICENSE.html, README.html: 2021 2021-09-19 Dave Beckett * NEWS.html, RELEASE.html: Document CVE-2017-18926 fix commit * tests/rdfxml/Makefile.am: add bug-650.out 2021-09-18 Dave Beckett * src/raptor_xml_writer.c: XML Writer : compare namespace declarations correctly Apply patch from 0001-CVE-2020-25713-raptor2-malformed-input-file-can-lead.patch.1 that fixes Issue#0000650 https://bugs.librdf.org/mantis/view.php?id=650 which overwrote heap during XML writing in parse type literal content. This was detected with clang asan. Thanks to Michael Stahl / mst2 for the fix. * tests/rdfxml/CMakeLists.txt, tests/rdfxml/Makefile.am, tests/rdfxml/bug-650.out, tests/rdfxml/bug-650.rdf: Add Issue #0000650 example to trigger clang asan failure * README.html, utils/rapper.1: Mention Atom 0.3 in docs and manual page Fixes Issue#0000652 https://bugs.librdf.org/mantis/view.php?id=652 2020-10-25 Dave Beckett * docs/raptor2-sections.txt: Add raptor_avltree_trim * Remove callers of deprecated raptor_www setters 2020-10-25 Dave Beckett * src/raptor_grddl.c, src/raptor_parse.c, src/raptor_www_test.c: Remove callers of deprecated raptor_www setters 2020-10-23 Dave Beckett * docs/raptor2-sections.txt, src/raptor2.h.in, src/raptor_parse.c, src/raptor_www.c: Add raptor_www setters taking value string length and returning error code on failure errors (raptor_www_set_user_agent2): Added, deprecating raptor_www_set_user_agent. (raptor_www_set_proxy2): Added, deprecating raptor_www_set_proxy. (raptor_www_set_http_accept2): Added, deprecating raptor_www_set_http_accept. Fixes Issue #0000649 https://bugs.librdf.org/mantis/view.php?id=649 2020-10-06 Dave Beckett * src/turtle_common.c: (raptor_stringbuffer_append_turtle_string): Work around clang --analyze warning not understanding ownership model * src/raptor_sax2.c: (raptor_sax2_start_element): Work around clang --analyze warning not understanding ownership model * src/raptor_uri.c: Use RAPTOR_LEN_FILE_CSS 2020-09-29 Dave Beckett * src/.gitignore: ignore .c.bak * Merge pull request #43 from akimd/update-bison-usage Update bison usage 2020-09-24 Akim Demaille * src/turtle_parser.y: Stylistic change in the parser Propose a shorter, more readable (IMHO) approach to typing tokens. * src/turtle_parser.y: Use per-type Bison destructors rather than per symbols I can see two differences, and I believe this is an improvement: before we were not reclaiming memory associated to blankNodePropertyList and GRAPH_NAME_LEFT_CURLY. Now we do. * src/turtle_parser.y: Use Bison directives rather than CPP macros "%define parse.error verbose" is supported since 3.0, and support for YYERROR_VERBOSE (deprecated since Bison 2.6, 2012-07-19), was removed in 3.6. 2020-09-20 Dave Beckett * src/raptor_ntriples.c: (raptor_ntriples_parse_term): Free N-Triples datatype_uri 2020-09-18 Dave Beckett * .travis.yml: Travis CI: Add clang ASAN on Linux 2020-09-13 Dave Beckett * src/raptor_avltree.c: (raptor_avltree_delete_internal): Handle deleting empty tree. Fixes invalid pointer reference reported by Li Qiang via email. * src/raptor_qname.c: cast for warning * src/raptor_namespace.c: Do not declare any functions if STANDALONE * configure.ac, src/raptor_nfc_icu.c: Use newer ICU NFC check for ICU V56 or newer (raptor_nfc_icu_check): Switch to use unorm2_quickCheck() for ICU >= 56 * docs/raptor2-sections.txt, src/raptor2.h.in, src/raptor_namespace.c: Add raptor_rdf_schema_namespace_uri_len to API Update raptor_namespace_test to define strings once to avoid ASAN odr-violation test failure. 2020-09-12 Dave Beckett * Merge pull request #42 from hughmcmaster/pkgconfig configure.ac: Remove unused LIBXSLT_VERSION variable 2020-09-08 Dave Beckett * .travis.yml: Remove slow (un-necessary) brew update for Travis OSX build 2020-09-08 Dave Beckett * Merge pull request #41 from hughmcmaster/pkgconfig Add additional pkg-config support 2020-08-21 Hugh McMaster * configure.ac: configure.ac: Use PKG_CHECK_MODULES to detect the ICU library 2020-09-08 Dave Beckett * src/CMakeLists.txt: Guess at making cmake do the same change to turtle_lexer.h 2020-09-07 Dave Beckett * scripts/fix-flex.pl, src/Makefile.am, src/turtle_parser.y: Fix turtle_lexer__scan_bytes signatures for C++ - scripts/fix-flex.pl: Fix length type call for newer flex naming convention - Run flex output header file through fix-flex.pl * .travis.yml, scripts/install-bison3.sh: Travis config and install-bison3.sh updates * .travis.yml: Add experimental builds for Travis for cmake, ppc, arm64 * src/raptor_grddl.c, src/raptor_internal.h, src/raptor_json.c, src/raptor_libxml.c, src/snprintf.c: Supporess worning to allow YAJL2 to use long long in API * CMakeLists.txt: Add bison and flex versions to CMake * src/raptor_abbrev.c: (raptor_print_abbrev_po): Another signature fix * src/raptor_abbrev.c: (raptor_print_abbrev_po): Fix signature with casting * src/raptor_qname.c: Protect some debug messages from null URI 2020-09-06 Dave Beckett * src/raptor_internal.h: Include ICU (vi libxml) in C++ context if running under C++ * src/raptor_internal.h: Fix GCC version check that was not working around IGNORE_FORMAT_NONLITERAL_START * src/turtle_parser.y: Correct error callbacks for raptor and mid-parsing (turtle_parser_error): Parsing error handling with scanner context (turtle_parser_error_simple): Added for error handling for raptor functions, matching the raptor_simple_message_handler method * INSTALL.html, configure.ac, scripts/install-bison3.sh, src/parsedate.y, src/turtle_common.c, src/turtle_common.h, src/turtle_lexer.l, src/turtle_parser.y: Move to bison 3.4+ * src/turtle_parser.y: (turtle_parser_error): Allow and pass on varargs error * src/raptor_grddl.c: (grddl_free_xml_context): Remove unused context Just free xml_context via userdata arg. Fix callers 2020-09-05 Dave Beckett * Merge pull request #40 from himajin100000/zero_on_failure Documentation says "0 on failure." At least size_t >= 0 2020-09-05 Dave Beckett * Merge pull request #38 from hroptatyr/feat/turtle-flush provide raptor_turtle_serialize_flush() 2020-09-05 Dave Beckett * src/turtle_lexer.l, tests/trig/Makefile.am, tests/trig/issue-37.out, tests/trig/issue-37.trig: Add test that fails for PR#37 Pull request https://github.com/dajobe/raptor/pull/37 2019-04-08 himajin100000 * src/turtle_common.c: Documentation says "0 on failure." At least size_t >= 0 2018-06-01 Adam Novak * scripts/fix-bison.pl, scripts/install-bison3.sh: Update to work with Bison 3.0.5 2018-02-09 Sebastian Freundt * src/raptor2.h.in: fix, PEBKAC, actually declare raptor_avltree_trim() as it is implemented 2018-02-08 Sebastian Freundt * src/raptor2.h.in, src/raptor_avltree.c, src/raptor_serialize_turtle.c: fix, actually trim the avltrees after successful emission upon raptor_serialize_flush() * src/raptor_serialize_turtle.c: provide raptor_turtle_serialize_flush() This changeset clones raptor_turtle_serialize_end() as raptor_turtle_serialize_flush() without the reset for the header. This, via raptor_serializer_flush(), allows for fine grained emission of turtle statements. 2018-02-07 Sebastian Freundt * src/turtle_parser.y: This changeset fixes an issue with the turtle chunk parser which defers statements internally to pick up the work with the next chunk. Should the chunk parser not be called anymore any statements recorded as deferred would be lost. An example to reproduce the bug (TriG mode): { [ a ] .} With this fix applied the above correctly produces the following 2 quads: _:genid1 . _:genid1 . 2017-07-01 Dave Beckett * src/raptor_xml_writer.c: (raptor_xml_writer_start_element_common): Add and use XML_LANG_PREFIX define 2017-04-16 Dave Beckett * src/raptor2.h.in: Write UTF-8 for JSON literals Add #RAPTOR_ESCAPED_WRITE_BITFLAG_UTF8 to #RAPTOR_ESCAPED_WRITE_JSON_LITERAL and document why Fixes Issues #0000606 https://bugs.librdf.org/mantis/view.php?id=606 * src/raptor_xml.c, src/raptor_xml_writer.c: Make nsd compare methods handle NULLs (raptor_nsd_compare, raptor_xml_writer_nsd_compare): Sort NULLs separate and avoid strcmp() where those are undefined. * src/raptor_xml_writer.c: Calcualte max nspace declarations correctly for XML writer (raptor_xml_writer_start_element_common): Calculate max including for each attribute a potential name and value. Fixes Issues #0000617 https://bugs.librdf.org/mantis/view.php?id=617 and #0000618 https://bugs.librdf.org/mantis/view.php?id=618 * src/sort_r.h: Accept cygwin as a Linux-like Fixes Issue #00000600 https://bugs.librdf.org/mantis/view.php?id=600 2017-04-02 Dave Beckett * src/raptor_uri.c: Add _POSIX_C_SOURCE for lstat() in test code 2017-01-08 Dave Beckett * .travis.yml: Add back OSX brew gtk-doc so autogen.sh works * src/raptor_internal.h: Annotate raptor_simple_message_handler as having format arg. * src/snprintf.c: Define _GNU_SOURCE it not already set * src/raptor_avltree.c, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_rss_common.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c: Add RAPTOR_VOIDP macro for casting fprint %p object arguments. * src/snprintf.c: [c++] Test pointer against NULL rather than use as implicit bool * .travis.yml: Travis: No need to install gtk-doc for OSX now * .travis.yml: Travis: --disable-gtk-doc for speed * scripts/process-changes.pl: Ignore changes from raptor v1 to v2 * librdfa/rdfa_utils.c: cast for C++ * INSTALL.html, LICENSE.html, NEWS.html, README.html, RELEASE.html, TODO.html, UPGRADING.html, docs/raptor-docs.xml: 2017 * configure.ac, librdfa/curie.c, librdfa/iri.c, librdfa/lists.c, librdfa/rdfa_utils.c, librdfa/rdfa_utils.h, src/Makefile.am, src/raptor_internal.h, src/strdup.c: Get rid of strdup configure code; move to librdfa. Easier to replace strdup() calls in librdfa/ with it's own version and just alway use it. Remove strdup checks from configure.ac (rdfa_strdup): Added. Updated all callers. * configure.ac, src/Makefile.am, src/raptor_internal.h, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_uri.c, src/raptor_www_curl.c, src/strdup.c: Portability fixes for C11 and newer clang - Fix some RAPTOR_ASSERT_DIE() calls to have an arg value. - Add strdup.c for when it is missing and a configure check. - Write special configure.ac checks for strdup and strtok_r to work (ie fail) when there functions are not defined in headers. - Update compiler warning arguments: - Add -std=c11 so it'll try to use C11 if available - Add -Wstrict-overflow - Add -Wpedantic - Remove -Wno-conversion -Wno-sign-conversion that are no longer warnings - For clang (OSX) always add -Wno-nullability-completeness since even stdio.h fails this. - Remove duplicate functions in AC_CHECK_FUNCS that AC_HEADER_STDC already calls. - Move maintainer mode warning flags very early so they get picked up by tests. * src/raptor_general.c, src/raptor_www.c: Fix RAPTOR_ASSERT and RAPTOR_ASSERT_DIE call args * configure.ac: Pull out OSX-specific and clang-specific warnings OSX 10.2 + clang is too noisy with warnings in stdio.h * scripts/fix-flex.pl, src/turtle_parser.y: Fixes for newer flex Testing with flex 2.6.3 2017-01-07 Dave Beckett * src/raptor_internal.h: (OSX) clang fix for ignoring -Wformat-nonliteral * src/raptor_internal.h: RAPTOR_ASSERT() macro: Pass return arg to RAPTOR_ASSERT_DIE() * ChangeLog, NEWS.html, RELEASE.html: 2.0.16 2016-11-14 Dave Beckett * Merge pull request #36 from ariadnext/cmake-GNUInstallDirs cmake: use GNUInstallDirs for install paths 2016-10-06 Eric Le Lay * CMakeLists.txt, src/CMakeLists.txt, utils/CMakeLists.txt: use GNUInstallDirs for install paths to be able to install libraptor2.a and raptor2.pc to a specific directory when cross-compiling 2016-09-05 Dave Beckett * Merge pull request #34 from JervenBolleman/master Change to count option of rapper to count in longs instead of ints 2016-08-29 Stephan Bergmann * src/raptor_uri.c: -fsanitize=nonnull-attribute 2016-08-05 Jerven Bolleman * utils/rapper.c: Untested change to count option of rapper to count in longs instead of ints 2015-12-29 Dave Beckett * src/raptor_general.c: Fix RAPTOR_ASSERT_DIE() call 2015-12-12 Dave Beckett * RELEASE.html: html 2015-10-27 Dave Beckett * ChangeLog, NEWS.html, RELEASE.html: 2.0.16 changes * Merge pull request #33 from schnitzeltony/master configure.ac: do additional checks on libxml2 when library is found 2015-10-27 Andreas Müller * configure.ac: configure.ac: do additional checks on libxml2 when library is found In yocto cross environments we must use pkg-config. Configuring with --without-xml2-config --without-curl-config causes | checking for LIBXML... yes | checking for libxml via pkg-config... yes - 2.9.2 | checking for LIBCURL... yes | checking for libcurl via pkg-config... yes - 7.44.0 | checking for ICU... no | checking for yajl installation... not found. Get it from http://lloyd.github.com/yajl/ and use --with-yajl=DIR if necessary to configure the installation directory. | checking GRDDL parser requirements... no - libxml2 and libxslt are both not available Applying this patch fixes configuration. Signed-off-by: Andreas Müller 2015-07-20 Dave Beckett * .travis.yml, scripts/install-bison3.sh: Revert "Make Travis-CI run in a container" This reverts commit e02d2c43ad2c3e2ba5a9279861c943c9559f967e. * .travis.yml, scripts/install-bison3.sh: Make Travis-CI run in a container 2015-07-05 Dave Beckett * utils/rdfdiff.c: (rdfdiff_new_blank) resource leak on error [CID 122405] 2015-07-05 Dave Beckett * utils/rdfdiff.c: (rdfdiff_new_file) resource leak on error [CID 122404] 2015-05-03 Dave Beckett * src/turtle_lexer.l: (YY_FATAL_ERROR): Remove never reachable abort() after longjmp() * Merge pull request #32 from dajobe/openbsd-fixes Fixes for OpenBSD 2015-05-02 Dave Beckett * librdfa/subject.c: Define BNODE_BUFFER_LEN * librdfa/rdfa.c: Fix librdfa end_element() generation without sprintf * src/raptor_uri.c: remove another sprintf() * src/raptor_abbrev.c, src/raptor_librdfa.c, src/raptor_rss.c, src/raptor_www.c: Several #ifdef fixes to avoid code after abort() * src/raptor_general.c, src/raptor_internal.h: Make RAPTOR_ASSERT_DIE take parameter for non-abort case To prevent gcc 'will never be executed' warnings. * librdfa/rdfa.c, librdfa/subject.c, src/turtle_lexer.l: Remove sprintf() and replace with snprintf() or hard-coded format * examples/grapper.c, librdfa/curie.c, utils/rdfdiff.c: Remove strcpy() and replace with count and memcpy() * src/raptor_grddl.c, src/raptor_internal.h, src/raptor_libxml.c, src/snprintf.c: OpenBSD fixes 2015-04-24 Dave Beckett * .gitignore, scripts/.gitignore, src/.gitignore, utils/.gitignore: Update .gitignore * Merge pull request #29 from 0u812/cmake-update-squashed CMake build system upgrade to allow building from git sources 2015-04-24 Dave Beckett * tests/feeds/test01-result.atom, tests/feeds/test02-result.atom, tests/feeds/test03-result.atom: Fix atom results after serializer changes 2015-04-23 0u812 <0u812@github.com> * appveyor.yml: don't split echo command * appveyor.yml: Update appveyor.yml to let CMake build the lexers/parsers Also download latest Cygwin setup due to the one installed on appveyor being out of date Squashed commit of the following: commit 103bee37c4a215494f4929a00497ced9238c8164 Author: 0u812 <0u812@github.com> Date: Thu Apr 23 14:20:30 2015 -0700 add CYG_SETUP_URL commit b4ef42b2c2449089a6295c19c2cced0bd485cade Author: 0u812 <0u812@github.com> Date: Thu Apr 23 14:12:07 2015 -0700 download latest Cygwin setup commit 02d81375698a12b52ef4c0a61af2f105c214d5c7 Author: 0u812 <0u812@github.com> Date: Wed Apr 22 23:24:55 2015 -0700 specify path to Cygwin-installed Perl/Bison/Flex in shared build as well commit 20e5181b1d2b098179d199e67d47ef24dbebafd9 Author: 0u812 <0u812@github.com> Date: Wed Mar 4 16:01:44 2015 -0800 prevent appveyor script from generating parser tables (done in CMake instead) 2015-03-23 Dave Beckett * src/raptor_serialize_rss.c: RSS 1.0 serializing default namespaces fixes. Separate default namespace from root element namespace - Root element is rdf:RDF for rss 1.0 always - Attributes are always rdf:name 2015-02-01 Dave Beckett * autogen.sh: Handle updated glibtoolize (OSX) name in --version 2015-01-29 0u812 <0u812@github.com> * CMakeLists.txt, tests/rdfa/CMakeLists.txt, tests/rdfa11/CMakeLists.txt: Make rdfa/rdfa11 tests expected failures (they are not counted as failing tests, so get 100% passing). Reject Bison at CMake config stage if major version is older than 3. -- Squashed commit of the following: commit 5394d2817384d8ca18ca4b8f8b2eefd34aa60f4c Author: 0u812 <0u812@github.com> Date: Thu Jan 29 14:49:51 2015 -0800 add rdfa11 expected failures commit 1c205f2444dfe7b4341a08e35c00cc9627f58d3b Author: 0u812 <0u812@github.com> Date: Thu Jan 29 14:44:44 2015 -0800 add rdfa expected failures commit 81fbc40f08c430267559998024fdbaef5f67b532 Author: 0u812 <0u812@github.com> Date: Thu Jan 29 14:41:42 2015 -0800 allow expected failures for tests workaround: TRUE is not true in a CMake if statement commit cae280b8ad68f98f8256b11db2f7ca7ae51aa7e1 Author: 0u812 <0u812@github.com> Date: Thu Jan 29 14:11:20 2015 -0800 RAPPER_RDFDIFF_TEST func commit 14fa0f99419729b815c94e429a983174f0cc26fd Author: 0u812 <0u812@github.com> Date: Thu Jan 29 13:41:27 2015 -0800 specify bison ver 2015-01-22 0u812 <0u812@github.com> * src/parsedate.y, src/turtle_parser.y: Required version of Bison too specific. Must use 3.0 avail. via win_flex_bison-2.5.1. Compiles on Windows via CMake with this change. * src/CMakeLists.txt: missed a few paths * src/CMakeLists.txt: use abs paths in custom commands/targets 2015-01-21 0u812 <0u812@github.com> * CMakeLists.txt, src/CMakeLists.txt: Upgrade CMake build system to allow building from source. Generate parsers and tokenizers using flex/bison. Tested compile on FC21 with GNU Bison 3.0.2 and flex 2.5.37. Squashed commit of the following: commit 680a64599970b07d9e4c797bf9ae876536257ac1 Author: 0u812 <0u812@github.com> Date: Wed Jan 21 13:42:21 2015 -0800 fix turtle flex dep commit 4de1288bbf84b18834332747e30e3ca6c92fa301 Author: 0u812 <0u812@github.com> Date: Wed Jan 21 13:35:28 2015 -0800 find flex commit 446387d3778ebb760f395e354e3b6cfeb1c700f7 Author: 0u812 <0u812@github.com> Date: Wed Jan 21 13:30:46 2015 -0800 LIBXML2_INCLUDE_DIRS wrong var; use LIBXML2_INCLUDE_DIR commit 76e852ef1acc2309c1a78c6e264fd7c538edd633 Author: 0u812 <0u812@github.com> Date: Wed Jan 21 13:26:32 2015 -0800 correct cmake rename command commit 109c4a3159e338af0e0aa6c886110ea9e31749c6 Author: 0u812 <0u812@github.com> Date: Tue Jan 20 12:21:35 2015 -0800 resolve paths of src and generated files commit 5d8366ef60d72e99f5bac3c29e68c903b16265dd Author: 0u812 <0u812@github.com> Date: Tue Jan 20 12:17:05 2015 -0800 headers are not sources commit 93e8ed1765ccc0da449a4515a264843954199838 Author: 0u812 <0u812@github.com> Date: Tue Jan 20 12:11:34 2015 -0800 fix output names commit 0a7e13ca88b4ffb6c0bf73b9eb635478cd852846 Author: 0u812 <0u812@github.com> Date: Tue Jan 20 12:10:32 2015 -0800 add turtle flex tgt commit 11c76cfa21b0457bb67411a1eae230c5f2f89008 Author: 0u812 <0u812@github.com> Date: Tue Jan 20 12:02:25 2015 -0800 fix dependencies for autogenerated tgts commit d30f99cecd27872edc5b9e2c31bef8079a717171 Author: 0u812 <0u812@github.com> Date: Tue Jan 20 11:53:57 2015 -0800 add custom cmd to generate turtle parser 2015-01-15 Dave Beckett * Merge pull request #28 from philjohn/patch-1 Fixing build errors using raptor2.spec 2015-01-14 philjohn * raptor2.spec.in: Fixing build errors using raptor2.spec The spec file uses the wrong libdir for raptor2, /usr/lib(|64)/raptor instead of /usr/lib(|64)/raptor2, it also excludes some files (.a and .la) that rpmbuild complains about. 2015-01-07 Dave Beckett * docs/raptor-docs.xml: 2015 2015-01-04 Dave Beckett * INSTALL.html, LICENSE.html, NEWS.html, RELEASE.html, TODO.html, UPGRADING.html: 2015 2015-01-01 Dave Beckett * Merge pull request #27 from dajobe/appveyor CMake and windows fixes targetted for Appveyor builds 2014-12-23 Dave Beckett * docs/tmpl/section-general.sgml: tmpls 2014-12-22 Dave Beckett * Merge pull request #26 from hroptatyr/feat/turtle-chunk-parser Provide turtle chunk parser 2014-12-20 Sebastian Freundt * src/turtle_parser.y: Stop passing chunks to turtle_parser if there have been errors 2014-12-18 Dave Beckett * src/raptor_serialize_turtle.c: code style 2014-12-18 Sebastian Freundt * src/turtle_common.h: hygiene, kick superfluous slot `statement' It seems the turtle parser routines will use the `statement' slot from the rdf_parser structure only. 2014-12-17 Dave Beckett * src/raptor_serialize_turtle.c: fix comment 2014-12-17 Sebastian Freundt * src/turtle_common.h, src/turtle_lexer.l, src/turtle_parser.y: Provide turtle chunk parser This changeset allows to parse huge turtle, trig and n3 files. Huge hereby means file sizes bigger than the main memory. It has been tested on the GND dataset of the Deutsche Nationalbibliothek (121 MTriples), the dbpedia dataset (583 MT) and a private production dataset (1225 MT). Previously, the turtle parser tried to stack up all input in a huge buffer which it then proceeded to process at once. This changeset introduces a parser that attempts to parse each given chunk immediately. Syntax errors that arise due to end-of-buffer situations in the middle of a grammar rule are accounted for by resolving statements using the special `error' rule accompanied with error recovery that copies over the remainder of the buffer to the beginning so it can be appended by the next chunk. Full turtle statements (the ones ending in DOT) will never be part of the remainder. However, because of blank nodes and collections statements can't be issued immediately anymore, instead the concept of deferring the emission of a statement is introduced. This is to avoid dangling (bnodeid) statements in case a turtle SPO statement isn't DOT ended yet but the blank node property list or collection has been read already. * struct raptor_turtle_parser_s: introduce slots for buffer book keeping * turtle_lexer.l: use YY_USER_ACTION to keep track of buffer consumption * turtle_parser.y: (raptor_turtle_generate_statement): split in two, see following (raptor_turtle_clone_statement): prepare statement for handling (raptor_turtle_handle_statement): call a parser's statement handler (raptor_turtle_defer_statement): like raptor_turtle_generate_statement() but instead of calling the statement handler immediately put it on a list of deferred statements, called (handled) only if the statement rule path has been taken (triples DOT) (raptor_turtle_parse_chunk): begin parsing on chunks for every call, only stack up things in buffers if the remainder of a chunk has been resolved through the `error' rule. 2014-12-17 Dave Beckett * src/raptor_serialize_turtle.c: Fix check * src/raptor_serialize_turtle.c: (raptor_mkr_emit_subject_resultset): code style * src/raptor_serialize_turtle.c: Move raptor_mkr_emit_subject_resultset statics into turtle context. struct raptor_turtle_context gains fields mkr_rs_size / arity / ntuple / nvalue / processing_value (raptor_mkr_emit_subject_resultset): Switch statics to context vars above. * Merge pull request #25 from rhmccullough/master change mKR relation to SPARQL compatible CSV format * NEWS.html, RELEASE.html: 2.0.16 * utils/rapper.c, utils/rdfdiff.c: Restore space between title and version 2014-12-15 Dave Beckett * scripts/process-changes.pl: Warn if no difference seen in functions 2014-12-14 Sebastian Freundt * src/raptor_uri.c: fix, do fputs() properly 2014-12-05 Dave Beckett * scripts/install-bison3.sh: Update install bison script to do nothing if bison is new enough 2014-11-25 Dave Beckett * src/raptor_grddl.c: Disable "-Wformat-nonliteral" with GCC pragma for GRDDL error format 2014-11-24 Dave Beckett * src/raptor_avltree.c, src/raptor_escaped.c, src/raptor_general.c, src/raptor_grddl.c, src/raptor_json_writer.c, src/raptor_librdfa.c, src/raptor_ntriples.c, src/raptor_rdfxml.c, src/raptor_rss.c, src/raptor_rss_common.c, src/raptor_serialize_dot.c, src/raptor_serialize_html.c, src/raptor_serialize_json.c, src/raptor_serialize_rdfxml.c, src/raptor_serialize_rdfxmla.c, src/raptor_serialize_rss.c, src/raptor_serialize_turtle.c: Replace type %d (for enums) with %u in error messages (-Wformat) 2014-11-23 Dave Beckett * configure.ac: Redisable -Wconversion - generated lexer too noisy * librdfa/curie.c, src/ntriples_parse.c, src/raptor_grddl.c, src/raptor_internal.h, src/raptor_iostream.c, src/raptor_ntriples.c, src/raptor_parse.c, src/raptor_sax2.c, src/raptor_serialize_turtle.c, src/raptor_stringbuffer.c, src/raptor_unicode.c, src/raptor_www_curl.c, src/raptor_xml.c: Fixes for -Wconversion - casting into to char near tolower and constructing chars from ints - unsigned int foo : 1 for bit flag - raptor_stringbuffer_length() to unsigned int * configure.ac: Enable -Wconversion * src/snprintf.c: Disable "-Wformat-nonliteral" with GCC pragma for snprintf test code 2014-11-22 Dave Beckett * src/raptor_libxml.c: Disable GCC -Wformat-literal in a few places using GCC pragma Using #pragma GCC diagnostic <...> from https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Pragmas.html * utils/rapper.c, utils/rdfdiff.c: Remove static string printfs in utilities (-Wformat) * configure.ac, src/raptor_internal.h, src/raptor_parse.c, src/raptor_rdfxml.c: Enable -Wformat=2 for gcc and fix that (raptor_parser_log_error): Added to allow passing in format message and log level. Use above in cases where a message can be an error or warning so that -Wformat=2 will work with gcc: it can now check all printf-style formats used in Raptor. * RELEASE.html: 2.0.16 * .travis.yml: docs * scripts/install-bison3.sh: Install bison with a C compiler * .travis.yml: try compile c++ * .travis.yml: Add matrix for CC=cc, CC=c++ 2014-11-21 Dave Beckett * Merge pull request #21 from rhmccullough/master fix memory leak with format, meaning * docs/Makefile.am, scripts/Makefile.am, scripts/fix-groff-xhtml, scripts/fix-groff-xhtml.pl, utils/Makefile.am: Rename scripts/fix-groff-xhtml to scripts/fix-groff-xhtml.pl 2014-11-20 Richard H. McCullough * src/raptor_serialize_turtle.c: set pointers to NULL after freeing memory I even ran "make distcheck" this time. I noticed a few permission errors, but I don't worry about those because Windows ACLs often take control of your files. * src/raptor_serialize_turtle.c: fix memory leak with format, meaning check just before return at end of function 2014-11-19 Dave Beckett * docs/Makefile.am: Add $(EXEEXT) to build-formats exe name * src/raptor_internal.h, src/raptor_serialize_turtle.c, src/raptor_turtle_writer.c, tests/mkr/rdf-schema.mkr, tests/mkr/rdfq-results.mkr, tests/mkr/rdfs-namespace.mkr, tests/mkr/test-07.mkr, tests/mkr/test-08.mkr, tests/mkr/test-16a.mkr, tests/mkr/test-28.mkr, tests/mkr/test-31.mkr, tests/mkr/test-32.mkr, tests/mkr/test-34.mkr: Add mkr turtle writer flag, move it out of internal API. @base ends in ; raptor_turtle_writer_flags is now part of internal API with bitflag values TURTLE_WRITER_FLAG_AUTO_INDENT and TURTLE_WRITER_FLAG_MKR (raptor_new_turtle_writer): Gains flags arg. (raptor_turtle_writer_namespace_prefix, raptor_turtle_writer_base): Lose emit_mkr arg and take it from the turtle_writer struct flags field. Update mkr tests to end @base lines with ';' like other mkr lines. 2014-11-16 Dave Beckett * src/raptor_serialize_turtle.c: Remove trailing ws from lines * src/raptor_serialize_turtle.c: Code style fixes around mkr serializer code * src/raptor_serialize_turtle.c: Free rs_ResultSet_uri and rs_resultVariable_uri 2014-11-14 Dave Beckett * NEWS.html, RELEASE.html: 2.0.16 * README.html, docs/raptor-serializers.xml: Add mKR serializer references to docs * Merge pull request #18 from dajobe/mkr-serializer mKR serializer - single commit 2014-11-12 Dave Beckett * scripts/fix-bison.pl, scripts/fix-gtkdoc-header.pl: Update perms * scripts/Makefile.am: Add AM_CPPFLAGS 2014-11-04 Dave Beckett * src/raptor_parse.c, src/raptor_serialize.c: Fix error returns in new world methods (raptor_world_get_parser_factory, raptor_world_get_serializers_count): Fix return value in assertions 2014-11-01 Dave Beckett * CMakeLists.txt, NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.16 * Snapshotted raptor2_2_0_15 for 2.0.15 release (GIT 815e4a75a0e1f15a5cf35de48a3d0b32a14c5663) * src/turtle_lexer.l, tests/trig/Makefile.am, tests/trig/bug-584-dos.out, tests/trig/bug-584-dos.trig, tests/trig/bug-584-unix.out, tests/trig/bug-584-unix.trig: Handle \r in TRiG "graph-name {" Fixes Issue #0000584 https://bugs.librdf.org/mantis/view.php?id=584 * src/turtle_lexer.l: (turtle_token_print): Add GRAPH_NAME_LEFT_CURLY * src/turtle_lexer.l: (turtle_token_print): Add LEFT/RIGHT_CURLY * src/turtle_lexer.l: (main): Fix turtle_lexer_test to pass in string, not use yyinput * tests/ntriples/Makefile.am, tests/ntriples/bug-577.nt, tests/ntriples/bug-577.out: Add ntriples test bug-577 for URI escaping * src/turtle_common.h, src/turtle_parser.y: Rename raptor_turtle_expand_name_escapes to raptor_turtle_expand_qname_escapes * src/raptor_internal.h, src/turtle_common.c, src/turtle_lexer.l: (raptor_stringbuffer_append_turtle_string): Enforce URI restrictions. Add is_uri argument to distinguish. Report type label correctly. URIs may not have \t \b \n \r \f or raw ' ' or \u0020 or \u003C or \u003E Update all raptor_stringbuffer_append_turtle_string callers to pass URI flag. * src/raptor_ntriples.c: (raptor_ntriples_parse_term_internal): Enforce URI restrictions. URIs may not have \t \b \n \r \f or raw ' ' or \u0020 or \u003C or \u003E * src/raptor_internal.h, src/raptor_ntriples.c, src/turtle_common.c, src/turtle_lexer.l: Remove raptor_turtle_check_uri_string() which is at wrong level. Needs to be checked in earlier lexing so e.g. illegal escapes in URIs such as \b are found. For example. 2014-10-28 Dave Beckett * docs/raptor-changes.tsv, docs/raptor2-sections.txt, src/raptor2.h.in, src/raptor_parse.c, src/raptor_serialize.c: (raptor_world_get_parsers_count, raptor_world_get_serializers_count): Added Fixes Issue #0000581 https://bugs.librdf.org/mantis/view.php?id=581 2014-10-26 Dave Beckett * src/raptor_general.c: doc fix Fixes Issue #0000579 https://bugs.librdf.org/mantis/view.php?id=579 * src/raptor_iostream.c: Code tidy; use nobj for raptor_iostream_write_bytes() return value. Related to Issue #0000575 fix * src/raptor_iostream.c: Fix return values for raptor_iostream_{hexa,}decimal_write (raptor_iostream_decimal_write, raptor_iostream_hexadecimal_write): Return non-0 if number of objects returned from raptor_iostream_write_bytes() does not match expected length. Fixes Issue #0000575 https://bugs.librdf.org/mantis/view.php?id=575 * src/raptor_ntriples.c, src/raptor_term.c, tests/ntriples/Makefile.am, tests/ntriples/bug-574.nt, tests/ntriples/bug-574.out: Accept '_' as alias/typo for '-' in lang strings. Replace on parsing. Fixes Issue #0000574 https://bugs.librdf.org/mantis/view.php?id=574 2014-10-20 Dave Beckett * Merge pull request #16 from rhmccullough/rdf-nil do not change "( )" to "rdf:nil" 2014-10-19 Dave Beckett * docs/Makefile.am, docs/raptor-1-to-2-map.tsv, docs/raptor-changes.tsv: Rename changes file to raptor-changes.tsv Not just about v1 to v2 * scripts/process-changes.pl: Make process-changes.pl report wrong fields count * .travis.yml: run autogen.sh not configure twice * scripts/install-bison3.sh: delete working dir * scripts/install-bison3.sh: sudo * .travis.yml: Looks like Travis OS support is not generally available http://blog.travis-ci.com/2014-05-13-multi-os-feature-available/ 2014-10-19 Richard H. McCullough * src/raptor_serialize_turtle.c: do not change "( )" to "rdf:nil" In tests/turtle: rapper -i turtle -o turtle test-08.ttl changes "( )" to "rdf:nil". This change to src/raptor_serialize_turtle.c will produce "( )" in the output file. 2014-10-19 Dave Beckett * .travis.yml: Quote TRAVIS_OS_NAME that doesn't always seem to be defined * .travis.yml: use test not [ ] * RELEASE.html: 2.0.15 * .travis.yml, scripts/install-bison3.sh: Travis update attempt 2014-10-12 Dave Beckett * tests/rdfa11/Makefile.am: doc * tests/rdfa11/0297.out, tests/rdfa11/Makefile.am: 0297 passes * tests/rdfa11/0303.out, tests/rdfa11/Makefile.am: 0303 passes * tests/rdfa11/Makefile.am: 26 failures * tests/rdfa11/0235.out, tests/rdfa11/Makefile.am: 0235 passes * tests/rdfa11/Makefile.am: Fix error report again * tests/rdfa11/0134.out: fix 134 out * tests/rdfa11/0134.out, tests/rdfa11/Makefile.am: 0134 passes * tests/rdfa11/0197.out, tests/rdfa11/Makefile.am: 0197 passes * tests/rdfa11/Makefile.am: 0197 now fails, 0302 now passes. * tests/rdfa11/Makefile.am: Tidy failure output * tests/rdfa11/0295.out: Update 0295 output 2014-10-10 Dave Beckett * librdfa/curie.c: Support full URLs for typeof. librdfa commit 5b73975a778ee00f328457356a69163911d540a5 2014-10-09 Dave Beckett * src/Makefile.am: Further fix flex/bison rules to silence them in normal runs * configure.ac, src/parsedate.y, src/raptor_internal.h, src/raptor_rdfxml.c: Use __FUNCTION__ (c99) replacing __func__ (c90) * src/sort_r.h: Add BSD header checks from sort_r * src/raptor_turtle_writer.c: Trailing , * configure.ac: Add some GCC5 warning flags * Merge pull request #14 from hroptatyr/compiler-support Intel C compiler (icc) support 2014-10-09 Sebastian Freundt * librdfa/rdfa.c, librdfa/triple.c, utils/rapper.c: const'ify string literals and char pointers that needn't be changed librdfa (start_element): const'ify umap_key librdfa (rdfa_complete_object_literal_triples): const'ifty current_object_literal rapper (print_graph): const'ify label * configure.ac: Always use AC_LANG_WERROR when checking for compiler warning flags Many gcc-compatible compilers (icc, clang, etc.) verbosely ignore gcc command line flags issuing a warning of some sort. Catch these warnings and turn them into errors when checking for support of specific warning flags. 2014-10-04 Dave Beckett * scripts/Makefile.am, scripts/fix-bison, scripts/fix-bison.pl, scripts/fix-flex, scripts/fix-flex.pl, src/Makefile.am: Rename fix-flex, fix-bison to have .pl suffix * ChangeLog, NEWS.html, RELEASE.html: 2.0.15 2014-09-25 Dave Beckett * src/raptor_grddl.c: (raptor_grddl_filter_triples): Fix check [gcc5] This has been broken since 2007 but just meant too much work was being done. Original commit that added this 8bb88c9c4a5800b1163b50d2ff12b5245b4b1498 2014-08-21 Dave Beckett * utils/rdfdiff.c: Provide title and usage if args are missing [Coverity CID 72385] 2014-08-09 Dave Beckett * src/raptor_term.c: (raptor_new_term_from_blank): Accept "" as same as NULL blank 2014-08-04 Dave Beckett * src/raptor_uri.c: raptor_uri_counted_filename_to_uri_string handles a counted string (raptor_uri_counted_filename_to_uri_string): Do not look for end NUL char, count lengths. Fixes Issue #0000576 https://bugs.librdf.org/mantis/view.php?id=576 * src/raptor_turtle_writer.c: raptor_turtle_writer_quoted_counted_string handles a counted string (raptor_turtle_writer_contains_newline): Add len param and use it, drop strlen(). (raptor_turtle_writer_quoted_counted_string): Use len, drop strlen() and call raptor_turtle_writer_contains_newline with passed in len. Fixes Issue #0000576 https://bugs.librdf.org/mantis/view.php?id=576 * src/raptor_uri.c: Do not assume NUL terminated string in raptor_new_uri_from_counted_string (raptor_new_uri_from_counted_string): Remove debug assert and use fwrite to emit counted URI string to debug file handler. Fixes Issue #0000576 https://bugs.librdf.org/mantis/view.php?id=576 * src/raptor_internal.h, src/turtle_parser.y: Add RAPTOR_DEBUG_FH define internally 2014-08-02 Dave Beckett * INSTALL.html: Fix flex url 2014-07-27 Dave Beckett * src/raptor_iostream.c: Document sink handlers 2014-07-26 Dave Beckett * src/raptor_rfc2396.c: (raptor_uri_normalize_path): Check size of output buffer is big enough. 2014-07-07 Dave Beckett * README.html, INSTALL.html: bye bye sf * README.html: Update TRiG pointer, conformance 2014-06-29 Dave Beckett * src/sort_r.c: correct docs; does not always use sort_r * src/ssort.h: one more rename * docs/raptor-1-to-2-map.tsv, src/raptor2.h.in, src/raptor_sequence.c, src/sort_r.c: raptor_data_compare_arg_handler renamed from raptor_sort_r_compare Added it to changelog too * src/sort_r.c: Make sort test quiet on success * src/sort_r.c: const * src/sort_r.c: portability * configure.ac, src/Makefile.am, src/sort_r.c, src/ssort.h: Add public domain ssort_r if qsort_r and qsort_s are not present * docs/raptor-1-to-2-map.tsv, src/raptor2.h.in, src/raptor_sequence.c: (raptor_sequence_sort_r): Added based on raptor_sort_r() * docs/raptor-1-to-2-map.tsv, src/Makefile.am, src/raptor2.h.in, src/sort_r.c: (raptor_sort_r): Added based on public domain sort_r() * src/sort_r.h, sort_r.c: Public Domain sort_r() by Isaac Turner Imported GIT commit 7c60ef94753624291055af0b1eec291f8c4bd5a7 from https://github.com/noporpoise/sort_r 2014-05-21 Dave Beckett * src/parsedate.y: Update to point to PHP GIT * src/parsedate.y: Fix -99 <= var <= 99 timezone interval check. Thanks to Richard Trieu for the report. 2014-05-11 Dave Beckett * docs/raptor-docs.xml: 2014 2014-05-09 Dave Beckett * src/raptor_locator.c, src/snprintf.c: (raptor_locator_format): Add a NUL to terminate output string. See librdf commit aa3bf4ccf4cc9381a1c198566428812af28944de that works around this. 2014-05-05 Dave Beckett * utils/rapper.1: Use \- for hyphen * CMakeLists.txt, NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.15 * ChangeLog: Snapshotted raptor2_2_0_14 for 2.0.14 release (GIT 93bc8ef8fa1c0b6b4278412f5d12e558b70db708) * src/raptor_uri.c: fix autodoc * NEWS.html, RELEASE.html: 2.0.14 * Update tmpls * Snapshotted raptor2_2_0_14 for 2.0.14 release (GIT 93bc8ef8fa1c0b6b4278412f5d12e558b70db708) 2014-05-03 Dave Beckett * configure.ac: Import flex check from rasqal 2014-04-28 Dave Beckett * scripts/fix-bison: Remove dead code from bison output 2014-04-27 Dave Beckett * tests/rdfa/Makefile.am: Fix failure test and update expected failures: +0294.xml +0349.xml * tests/rdfa11/Makefile.am: Echo message when failures are not what expected * librdfa/rdfa.c: (rdfa_init_base): Fix Fixes support broke in commit 9447e886ad66a1c3dd2c877341feca639824488a 2014-04-26 Dave Beckett * tests/rdfa11/Makefile.am: Fail exit on test failures - broken for a long itme * src/turtle_parser.y: (collection): Use YYERR_MSG_GOTO to stop early break and add debug info * src/turtle_parser.y: Import header code from turtle-parser.y 2014-04-20 Dave Beckett * configure.ac, src/turtle_lexer.l: Define FLEX_VERSION_DECIMAL and use to not duplicate column prototypes. * scripts/fix-flex: Convert buffer check for PREFIX_restart into simple form * scripts/fix-flex: Use YY_CURRENT_BUFFER_LVALUE in PREFIX_pop_buffer_state [coverity CID 29295] * scripts/fix-flex: pop_buffer_state does not get changed with rule; delete ref * src/turtle_lexer.l: YY_FATAL_ERROR always calls abort() - hopefully coverity notices * scripts/fix-flex: Remove dead code after YY_INPUT - which is a return NULL [coverity CID 29302] * scripts/fix-flex: Match (static) yy_ prefix functions too * scripts/fix-flex: Use YY_CURRENT_BUFFER_LVALUE when ensured ok [coverity CID 29242 29252 29253 29295] Rewrite YY_CURRENT_BUFFER to YY_CURRENT_BUFFER_LVALUE in some functions after a PREFIX_ensure_buffer_stack() call has been seen. * scripts/fix-flex: Give function processing a state var %fn_state * scripts/fix-flex: Cleanups - Figure out lexer prefix from input - Capture current function name in $cur_function - Rewrite some checks to use exact function name - Added $debug var 2014-04-19 Dave Beckett * scripts/fix-bison: Set yytoken to non-negative value for [coverity CID 29259] * scripts/fix-bison: Add a default value for yyformat for [coverity CID 10838] * src/raptor_xml.c: Added coverity[negative_returns] for second use of unichar_len [CID 29257] * librdfa/lists.c: (rdfa_complete_list_triples): Init tmp for error path [coverity CID 36737] * src/raptor_grddl.c: (raptor_grddl_run_xpath_match): Free base_uri on error path [coverity CID 34618] * src/raptor_serialize_turtle.c: (raptor_turtle_emit_subject): Free iterator on error path [coverity CID 34617] 2014-04-18 Dave Beckett * src/raptor_serialize_rss.c: (raptor_rss10_emit_rdfxml_item_triples): root_element NULL [coverity CID 34616] (raptor_rss10_emit_rdfxml_item_triples): start xml root_element if not NULL [coverity CID 34616] * librdfa/curie.c: (rdfa_resolve_uri): Check end_index2 is not NULL [coverity CID 29261] * librdfa/lists.c: (rdfa_complete_list_triples): strdup and strstr output. [coverity CID 29260] (rdfa_complete_list_triples): Be careful for strdup and strstr returning NULL. [coverity CID 29260] * src/raptor_namespace.c: Check return of raptor_xml_escape_string for errors [coverity CID 29258] (raptor_namespace_format_as_xml): Check return values of raptor_xml_escape_string() for negative failure before casting to size_t. * src/raptor_iostream.c: (test_read_from_filename): Use int for read bytes values * src/raptor_parse.c: Treat raptor_iostream_read_bytes() returning int [coverity CID 29256] (raptor_parser_parse_iostream): Treat raptor_iostream_read_bytes() return as int, convert to size_t when it's known to be non-negative. [coverity CID 29256] The real fix is incompatible API change to make iostream return size_t or ssize_t for reads. * src/raptor_serialize_rdfxml.c: (raptor_rdfxml_serialize_statement): Restore *name always [coverity CID 29255] * librdfa/rdfa.c: (end_element): Do not call rdfa_complete_list_triples() with no new subject [coverity CID 29254] * src/raptor_xml_writer.c: (raptor_xml_writer_start_element_common): attribute namespaces [coverity CID 29244] (raptor_xml_writer_start_element_common): Process attribute namespaces only if there is a namespace stack [coverity CID 29244] * src/raptor_librdfa.c: rdfa requires a base URI [coverity CID 29250] (raptor_librdfa_parse_start): Add check for base URI (raptor_librdfa_parser_register_factory): Mark 'rdfa' parser needs a base URI. * librdfa/triple.c: (rdfa_complete_object_literal_triples) strchr on NULL [coverity CID 29429] (rdfa_complete_object_literal_triples): Need non NULL context->xml_literal to do strchr() on it [coverity CID 29429] * src/raptor_serialize_rdfxml.c: (raptor_rdfxml_serialize_statement): Remove always 0 end_predicate_element [coverity CID 29238] * src/raptor_serialize_rss.c: (raptor_rss10_emit_rdfxml_item_triples): Free root_qname in logical place [coverity CID 29236] * src/raptor_xml_writer.c: (raptor_xml_writer_start_element_common): nstack [coverity CID 29244] (raptor_xml_writer_start_element_common): Defining xml language declaration requires namespace declarations so add nstack check. * src/raptor_grddl.c: (raptor_grddl_run_xpath_match): Check if uri_string is not NULL [coverity CID 29243] * src/raptor_log.c: (raptor_log_error): Allow world to be NULL [coverity CID 29241] * src/raptor_log.c: (raptor_log_error_varargs): Allow world to be NULL [coverity CID 29241] * librdfa/triple.c: (rdfa_complete_current_property_value_triples): Remove duplicate variable [coverity CID 29240] * src/raptor_grddl.c: (raptor_grddl_parse_chunk): Remove logically dead code [coverity CID 29239] loop is always 0 or 1 so don't check for other values. * src/raptor_serialize_rss.c: (raptor_rss10_emit_rdfxml_item_triples): Remove logically dead code [coverity CID 29237] No need to test freeing serializer twice. * src/raptor_grddl.c: (raptor_grddl_run_grddl_transform_doc): Check parse start/chunk returns [coverity CID 29235] * src/raptor_serialize_turtle.c: (raptor_turtle_emit_subject): check raptor_avltree_iterator_next() return [coverity CID 29234] 2014-04-17 Dave Beckett * src/raptor_parse.c: (raptor_parser_fatal_error): set parser failed if not NULL [coverity CID 29283] * src/raptor_xml_writer.c: (raptor_xml_writer_start_element_common): nspace_declarations is never NULL on return path [coverity CID 29284] * src/raptor_xml_writer.c: (raptor_xml_writer_start_element): element is not NULL [coverity CID 29285] * src/raptor_rss.c: (raptor_rss_end_element_handler): rss_element is never NULL [coverity CID 29286] * src/raptor_abbrev.c: (raptor_new_abbrev_subject): Do not use subject->properties on debug path [coverity CID 29287] * src/raptor_uri.c: (raptor_uri_counted_filename_to_uri_string): Error path cannot use NULL buffer [coverity CID 29302] * src/raptor_serialize_rdfxml.c: (raptor_rdfxml_serialize_statement): Free object_uri_string always [coverity CID 29269] * src/raptor_serialize_turtle.c: (raptor_turtle_emit_subject_collection_items): Free iter on error [coverity CID 29263] * src/turtle_lexer.l: Free stringbuffer on error case [coverity CID 29273] 2014-04-16 Dave Beckett * librdfa/rdfa.c: (rdfa_init_base): Fix uri_start dead code again [coverity CID 29700] * src/raptor_abbrev.c: (raptor_new_abbrev_subject): node arg is never NULL [coverity CID 29288] * src/raptor_qname.c: (raptor_new_qname_from_namespace_local_name): move strlen after local_name NULL check [coverity CID 29289] * utils/rdfdiff.c: (main): from_string and to_string are never NULL [coverity CID 29290, CID 29291] * librdfa/triple.c: (rdfa_complete_object_literal_triples): NULL check for context->xml_literal [coverity CID 29292] * src/raptor_serialize_rdfxmla.c: (raptor_rdfxmla_serialize_set_xml_writer): Check xml_writer NULL [coverity CID 29293] * src/raptor_log.c: (raptor_log_error_varargs): Can assume world is not NULL [coverity CID 29294] * librdfa/rdfa.c: (end_element): Add parent_context check around block [coverity CID 29296] * librdfa/rdfa.c: (rdfa_init_base): Check for uri_start before use [coverity CID 29297] * src/raptor_serialize_turtle.c: (raptor_turtle_emit_subject_collection_items): Free iter on error path [coverity CID 29263] * src/raptor_parse.c: (raptor_world_guess_parser_name): Free scores on error path [coverity CID 29264] * src/raptor_grddl.c: (raptor_grddl_run_recursive): Free ibuffer [coverity CID 29265] * src/raptor_rss.c: (raptor_rss_end_element_handler): Free field on error path [coverity CID 29266] * src/raptor_rss.c: (raptor_rss_insert_rss_link): Free field on error path [coverity CID 29267] * src/raptor_serialize_rdfxml.c: (raptor_rdfxml_serialize_statement): Free object_uri_string on error path [coverity CID 29269] * src/raptor_serialize_rss.c: (raptor_rss10_serialize_end): Error path entry_uri cleanup [coverity CID 29270] * librdfa/lists.c: (rdfa_complete_list_triples): Free bnode after loop [coverity CID 29272] Also strdup() the rdf:nil string so it can be freed. * src/turtle_lexer.l: Free stringbuffer on error case [coverity CID 29273] * docs/raptor-1-to-2-map.tsv, docs/raptor2-sections.txt, src/raptor2.h.in, src/raptor_internal.h, src/raptor_rfc2396.c, src/raptor_uri.c: Added raptor_uri_counted_filename_to_uri_string (raptor_uri_counted_filename_to_uri_string): Added based on raptor_uri_filename_to_uri_string. Updated to properly check the length of the incoming filename and ensure (on unix) that the path buffer is big enough. Eliminate strcat() calls while here. For win32, properly calculate the length when there is a :\ in the filename. RAPTOR_FATAL4 added for debugging URI length failures * src/turtle_common.c: (raptor_turtle_expand_name_escapes): arg free on error path [coverity CID 29303] (raptor_turtle_expand_name_escapes): Remove RAPTOR_FREE of name argument on error paths - this function does not own name. 2014-03-24 Dave Beckett * ChangeLog, ChangeLog.14, Makefile.am: ChangeLog.14 for 2013 2014-03-24 Dave Beckett * librdfa/lists.c, librdfa/rdfa.c: librdfa fixes for -Wunreachable-code (clang) 2014-02-24 Dave Beckett * src/raptor_general.c, src/raptor_json.c, src/raptor_rss.c, src/raptor_turtle_writer.c: Fixes for -Wunreachable-code (clang) (raptor_rss_insert_identifiers): When inserting identifiers, allow the loop to continue searching. (raptor_rss_start_namespaces): Remove loop since 1 value is enough. * configure.ac: Add -Wunreachable-code (clang) 2014-02-13 Dave Beckett * tests/turtle-2013/Makefile.am, tests/turtle-2013/oops.nt, tests/turtle-2013/oops.ttl: Add test and expected response for RDF 1.1 Turtle post-REC error Announced: http://lists.w3.org/Archives/Public/public-rdf-comments/2014Feb/0018.html Expected answer requested: http://lists.w3.org/Archives/Public/public-rdf-comments/2014Feb/0020.html 2014-02-12 Dave Beckett * tests/ntriples-2013/LITERAL.nt, tests/ntriples-2013/LITERAL_all_controls.nt, tests/ntriples-2013/LITERAL_all_punctuation.nt, tests/ntriples-2013/LITERAL_with_2_dquotes.nt, tests/ntriples-2013/LITERAL_with_2_squotes.nt, tests/ntriples-2013/LITERAL_with_UTF8_boundaries.nt, tests/ntriples-2013/LITERAL_with_dquote.nt, tests/ntriples-2013/LITERAL_with_squote.nt, tests/ntriples-2013/Makefile.am, tests/ntriples-2013/README, tests/ntriples-2013/literal.nt, tests/ntriples-2013/literal_all_controls.nt, tests/ntriples-2013/literal_all_punctuation.nt, tests/ntriples-2013/literal_with_2_dquotes.nt, tests/ntriples-2013/literal_with_2_squotes.nt, tests/ntriples-2013/literal_with_UTF8_boundaries.nt, tests/ntriples-2013/literal_with_dquote.nt, tests/ntriples-2013/literal_with_squote.nt: Renames to match W3C mercurial repo names 2014-01-29 Dave Beckett * CMakeLists.txt, NEWS.html, RELEASE.html, configure.ac: Bumped version to 2.0.14 * Snapshotted raptor2_2_0_13 for 2.0.13 release (GIT fde3f210e7442de6de16c410443fd8a695f09820) 2014-01-29 Dave Beckett * NEWS.html, RELEASE.html: 2.0.13 2014-01-27 Dave Beckett * ChangeLog, INSTALL.html, LICENSE.html, NEWS.html, README.html, RELEASE.html, TODO.html, UPGRADING.html: 2.0.13 and 2014 * configure.ac: Use presence of libxml / curl config programs as test for presence Symptom was that after configuring, curl was present but not used for WWW fetching. Original commit that changed this was commit 7da03ba5cd6e45ea41afebd4955acf6e96e9d622 Date: Fri Apr 5 19:01:55 2013 +0100 which was Raptor 2.0.10 onwards 2014-01-15 Dave Beckett * autogen.sh: Create NEWS and README 2014-01-14 Dave Beckett * Makefile.am: fix html rules more * .travis.yml: Travis CI fix * Makefile.am: fix html rule 2014-01-10 Dave Beckett * src/raptor_abbrev.c: Revert: (raptor_abbrev_subject_find): Remove double free of lookup_node. This reverts commit c1c82f1be5d86ebf95fa10b86a938d6799e35626. * src/raptor_rfc2396.c: (raptor_uri_resolve_uri_reference): Handle NULL ref->path * src/raptor_abbrev.c: (raptor_abbrev_subject_find): Remove double free of lookup_node Remove call to raptor_free_abbrev_node() 2014-01-07 Dave Beckett * configure.ac: Use AC_CHECK_PROGS to find jing AC_CHECK_PROG doesn't default to setting it as found! 2014-01-04 Dave Beckett * src/raptor_general.c: 2014 * src/turtle_lexer.l: Remove YY_INPUT - never want to read from stdin/file 2014-01-02 Dave Beckett * Merge pull request #12 from dajobe/bison3.0-new Switch to use and require Bison 3.0 * src/turtle_lexer.l: Provide missing flex prototypes for flex 2.5.35 or earlier * src/parsedate.y: (raptor_parse_date): No need for cast to void* for yyparse 2014-01-01 Dave Beckett * src/turtle_parser.y: Remove redundant declaration of turtle_lexer_lex * configure.ac, src/Makefile.am: Alter configure to accept bison 3.0.0 or newer, no yacc * src/parsedate.y: Add bison 3.0 directives * src/parsedate.y: Bison 3.0 the parsedate parser - Update to new directives - Set %param - Update error call * src/turtle_parser.y: Bison 3.0 the turtle parser - Use bison 3.0+ directives replacing all command line arguments - Update lexer and parser parameters (remove use of YYLEX_PARAM) - (turtle_parser_error): Add scanner arg. - Use rdf_parser argument directly rather than via casted variable. - Add %empty directives - Remove casts to raptor_parser* that are no longer needed - (turtle_parse): Pass in scanner * src/turtle_parser.y: Remove YY_DECL * src/turtle_lexer.l: Add %option bison-bridge * src/turtle_lexer.l: Remove turtle_lexer_lex prototype / header override No longer use YYDECL - the default works. * src/turtle_lexer.l: Replace turtle_parser_lval with yylval * src/turtle_common.c: Move turtle_lexer.h include earlier so YYSTYPE can be found * src/turtle_lexer.l, src/turtle_parser.y: Remove token union unused integer field