Skip to content
Snippets Groups Projects
  1. Jan 24, 2015
  2. Jan 18, 2015
  3. Jan 17, 2015
  4. Jan 16, 2015
  5. Jan 10, 2015
    • Arseny Kapoulkine's avatar
      Simplify header-only mode usage · f3e42969
      Arseny Kapoulkine authored
      It's sufficient to define PUGIXML_HEADER_ONLY anywhere now, source is included
      automatically.
      
      This is a second attempt; this time it includes a workaround for QMake bug
      that caused it to generate incorrect Makefile.
      f3e42969
  6. Jan 06, 2015
  7. Dec 14, 2014
    • Arseny Kapoulkine's avatar
      Don't use off64_t/_wfopen on MinGW32 in C++11 mode · ff16dbdd
      Arseny Kapoulkine authored
      Unfortunately, standard headers on MinGW32 insist on undefining off64_t
      and _wfopen extensions if __STRICT_ANSI__ is true (e.g. C++11 mode). This
      leads to compilation errors since b7a1fecc started to use _wfopen in strict
      mode. That change erroneously checked GCC version - however, the version
      itself is irrelevant; the actual criteria is whether mingw64 runtime is
      used.
      
      off64_t is not useful on MinGW32 since we only need it to open large files
      on 64-bit platforms; unfortunately, the lack of _wfopen means we won't be
      able to support wide-char paths on Windows for MinGW32.
      
      Fixes #24.
      v1.5
      ff16dbdd
  8. Nov 27, 2014
  9. Nov 26, 2014
  10. Nov 25, 2014
  11. Nov 21, 2014
    • Arseny Kapoulkine's avatar
      Fix node_declaration copying with empty name · 125aa550
      Arseny Kapoulkine authored
      node_copy_string relied on the fact that target node had an empty name and
      value. Normally this is a safe assumption (and a good one to make since it
      makes copying faster), however it was not checked and there was one case when
      it did not hold.
      
      Since we're reusing the logic for inserting nodes, newly inserted declaration
      nodes had the name set automatically to xml, which in our case violates the
      assumption and is counter-productive since we'll override the name right after
      setting it.
      
      For now the best solution is to do the same insertion manually - that results
      in some code duplication that we can refactor later (same logic is partially
      shared by _move variants anyway so on a level duplicating is not that bad).
      125aa550
    • Arseny Kapoulkine's avatar
      Refactor node type checks for attribute insertion · a0dc4681
      Arseny Kapoulkine authored
      Add allow_insert_attribute (similar to allow_insert_child).
      a0dc4681
  12. Nov 20, 2014
  13. Nov 18, 2014
  14. Nov 17, 2014
  15. Nov 07, 2014
    • Arseny Kapoulkine's avatar
      XPath: Partially inline xpath_node_set_raw::push_back · 4c57d6f6
      Arseny Kapoulkine authored
      Previously push_back implementation was too big to inline; now the common case
      (no realloc) is small and realloc variant is explicitly marked as no-inline.
      
      This is similar to xml_allocator::allocate_memory/allocate_memory_oob and
      makes some XPath queries 5% faster.
      4c57d6f6
    • Arseny Kapoulkine's avatar
      XPath: Only call apply_predicates if necessary · d854b021
      Arseny Kapoulkine authored
      In some cases constant overhead on step evaluation is important - i.e. for
      queries that evaluate a simple step in a predicate expression. Eliminating
      a redundant function call thus can prove worthwhile.
      
      This change makes some queries (e.g. //*[not(*)]) 4% faster.
      d854b021
  16. Nov 06, 2014
  17. Nov 05, 2014
Loading