1. 17 Dec, 2017 13 commits
  2. 26 May, 2016 1 commit
  3. 25 May, 2016 1 commit
  4. 23 May, 2016 1 commit
  5. 28 Oct, 2015 4 commits
  6. 27 Oct, 2015 1 commit
  7. 26 Oct, 2015 2 commits
    • Daniel Trebbien's avatar
      Work around some platforms' lack of support for std::exception_ptr · 4ec92367
      Daniel Trebbien authored
      * libxml++/exceptions/wrapped_exception.[cc|h]: Declare the wrapped_exception
      class only if LIBXMLXX_HAVE_EXCEPTION_PTR is defined.
      * libxml++/parsers/parser.[cc|h]:
      * libxml++/parsers/saxparser.cc: Add Parser::handle_exception(), and call
      it instead the handleException().
      * libxml++/validators/validator.[cc|h]: Add Validator::handle_exception(),
      and call it instead the handleException().
      * tests/saxparser_chunk_parsing_inconsistent_state/main.cc:
      * tests/saxparser_parse_double_free/main.cc:
      * tests/saxparser_parse_stream_inconsistent_state/main.cc: Catch
      xmlpp::exception, if LIBXMLXX_HAVE_EXCEPTION_PTR is not defined.
      Bug #757042.
      
      Kjell Ahlstedt <kjell.ahlstedt@bredband.net> added handle_exception() and
      modified Daniel Trebbien's patch to fit with the previous commit.
      4ec92367
    • Kjell Ahlstedt's avatar
      Add LIBXMLXX_HAVE_EXCEPTION_PTR · a77aef9d
      Kjell Ahlstedt authored
      * build/.gitignore: New file.
      * build/cxx_std.m4: New file with LIBXMLXX_CXX_HAS_EXCEPTION_PTR
      autoconf macro. Defines LIBXMLXX_HAVE_EXCEPTION_PTR if std::exception_ptr
      exists.
      * .gitignore: Move some lines to build/.gitignore.
      * configure.ac: Store some build files in the build directory, like most mm
      packages. Don't use the macros directory.
      * libxml++config.h.in: Add LIBXMLXX_HAVE_EXCEPTION_PTR.
      * Makefile.am:
      * docs/Makefile.am: macros -> build. Bug #757042.
      
      Thanks to Daniel Trebbien <dtrebbien@gmail.com>, who supplied a patch with
      the test code in LIBXMLXX_HAVE_EXCEPTION_PTR.
      a77aef9d
  8. 09 Oct, 2015 1 commit
  9. 08 Oct, 2015 7 commits
  10. 21 Sep, 2015 1 commit
  11. 11 Sep, 2015 3 commits
    • Kjell Ahlstedt's avatar
      Update the manual · 676b92a5
      Kjell Ahlstedt authored
      * docs/manual/libxml++_without_code.xml: Minor updates.
      676b92a5
    • Kjell Ahlstedt's avatar
      docs/Makefile.am: Fix missing update of relative path · 0c24b067
      Kjell Ahlstedt authored
      Fix relative path to ../examples in the rule for manual/libxml++.xml.
      Add a TODO comment, because I'm uncertain about the relative paths in
      the rsync commands that upload to sourceforge.net.
      0c24b067
    • Kjell Ahlstedt's avatar
      Split Makefile.am · 488c3f62
      Kjell Ahlstedt authored
      * Makefile.am: Move most of the contents to the new files. It makes libxml++
      more like other mm packages.
      * docs/Makefile.am:
      * libxml++/filelist.am:
      * libxml++/Makefile.am:
      * MSVC_Net2010/filelist.am: New files.
      * configure.ac: Add the new Makefiles to AC_CONFIG_FILES().
      * docs/reference/Doxyfile.in: Remove docs/ from relative paths.
      488c3f62
  12. 09 Sep, 2015 1 commit
    • Kjell Ahlstedt's avatar
      Remove MSVC 2005 and 2008 projects · f014f5ee
      Kjell Ahlstedt authored
      MSVC_Net2005/*:
      MSVC_Net2008/*: Remove the whole directories.
      configure.ac:
      Makefile.am:
      .gitignore: Remove MSVC_Net2005 and 2008 files.
      
      It's no longer possible to build libxml++ with MSVC 2005 or 2008, when C++11
      features are used. MSVC 2010 is not useful either, but its project files
      are kept for now. They can perhaps be useful as a starting point when building
      with later MSVC versions. See also libsigc++ bug 754082.
      f014f5ee
  13. 05 Sep, 2015 1 commit
  14. 27 Aug, 2015 3 commits
    • Kjell Ahlstedt's avatar
      xmlpp::wrapped_exception: Add comments · 23a566f0
      Kjell Ahlstedt authored
      Bug #753570
      23a566f0
    • Kjell Ahlstedt's avatar
      Fix make check with --enable-warnings=fatal and fix make distcheck · e728c92f
      Kjell Ahlstedt authored
      * tests/saxparser_chunk_parsing_inconsistent_state/main.cc:
      * tests/saxparser_parse_double_free/main.cc: Comment out names of unused
      parameters in function definitions.
      * Makefile.am: Add wrapped_exception.h to h_exceptions_sources_public or else
      it won't be distributed.
      * libxml++/exceptions/wrapped_exception.h: Add DOXYGEN_SHOULD_SKIP_THIS.
      xmlpp::wrapped_exception is a private class that shall not be included in
      the documentation. Bug #753570.
      e728c92f
    • Daniel Trebbien's avatar
      Introduce xmlpp::wrapped_exception · 12861530
      Daniel Trebbien authored
      This is an internal class which is used by SaxParser and Validator to
      save the exception object thrown by a handler method when the exception
      does not derive from xmlpp::exception (e.g. std::exception). The Raise()
      method of xmlpp::wrapped_exception calls std::rethrow_exception() to
      rethrow the exception object thrown by the handler method.
      
      Catching any exception object thrown by a handler method is important in
      ensuring that we are able to reset the internal state, and, in the case
      of SaxParser::parse(), that we restore the old _xmlSAXHandler pointer so
      that we do not double-free the _xmlSAXHandler object held by SaxParser.
      
      Fixes Bug 753570 - “double free or corruption” if a std::exception is thrown
      https://bugzilla.gnome.org/show_bug.cgi?id=753570
      12861530