- Nov 26, 2020
-
-
Arseny Kapoulkine authored
The changes are mostly mechanically converting str to bytes.
-
Arseny Kapoulkine authored
The logo.svg link is dead anyway.
-
Arseny Kapoulkine authored
-
- Nov 25, 2020
-
-
Arseny Kapoulkine authored
Update version to 1.11 and update documentation
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
One more XPath test falls prey to MSVC6 NaN comparison codegen issues.
-
Arseny Kapoulkine authored
child variable was shadowing xml_node::child
-
Arseny Kapoulkine authored
Fix MSVC deprecation warnings when using clang-cl
-
Arseny Kapoulkine authored
We now use open_file similarly to open_file_wide, and activate the workaround for MSVC 2005+ since that's when the _s versions were added in the first place.
-
- Oct 26, 2020
-
-
Arseny Kapoulkine authored
Added fix to pugixml_dll.rc so shared lib can be built with MinGW
-
James McCollum authored
-
- Sep 11, 2020
-
-
Arseny Kapoulkine authored
XPath: Fix stack overflow in functions with long argument lists
-
Arseny Kapoulkine authored
Function call arguments are stored in a list which is processed recursively during optimize(). We now limit the depth of this construct as well to make sure optimize() doesn't run out of stack space.
-
- Sep 10, 2020
-
-
Arseny Kapoulkine authored
XPath: Restrict AST depth to prevent stack overflow
-
Arseny Kapoulkine authored
The default stack on MSVC/x64/debug is sufficient for 1692 nested invocations only, whereas on clang/linux it's ~8K... For now set the limit to be conservative.
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
XPath parser and execution engine isn't stackless; the depth of the query controls the amount of C stack space required. This change instruments places in the parser where the control flow can recurse, requiring too much C stack space to produce an AST, or where a stackless parse is used to produce arbitrarily deep AST which will create issues for downstream processing. As a result XPath parser should now be fuzz safe for malicious inputs.
-
- Jul 21, 2020
-
-
Lior Lahav authored
-
- Jul 15, 2020
-
-
Arseny Kapoulkine authored
Fix debug postfix in pkgconfig file
-
Wolfgang Stöggl authored
In case of USE_POSTFIX, the POSTFIX is dependent on the CMAKE_BUILD_TYPE. Use the correct POSTFIX also in the generated pugixml.pc file. This results in the following contents of pugixml.pc: - Release: Libs: -L${libdir} -lpugixml - RelWithDebInfo Libs: -L${libdir} -lpugixml_r - MinSizeRel: Libs: -L${libdir} -lpugixml_m - Debug: Libs: -L${libdir} -lpugixml_d
-
- Jul 06, 2020
-
-
Arseny Kapoulkine authored
[Cmake] Static build should not export APIs
-
Arseny Kapoulkine authored
Fix PowerShell errors on stderr
-
Arseny Kapoulkine authored
PS invocation of code coverage upload gets triggered because of stderr output from curl with progress report when uploading coverage.
-
Julian Xhokaxhiu authored
Fixes #359
-
- Jun 13, 2020
-
-
Arseny Kapoulkine authored
In some MSVC versions on x64 configurations, the hashing function triggers this failure: Run-Time Check Failure #1 - A cast to a smaller data type has caused a loss of data. If this was intentional, you should mask the source of the cast with the appropriate bitmask. This is similar to the integer sanitizer - this code is valid C++ but MSVC decides to warn about this nonetheless. Masking the pointer's low 32 bits fixes the issue. Fixes #357.
-
- May 11, 2020
-
-
Arseny Kapoulkine authored
Use nullptr in pugixml.hpp if available, see #91
-
- May 10, 2020
-
-
Jan Niklas Hasse authored
-
- May 02, 2020
-
-
Arseny Kapoulkine authored
pugixml currently unconditionally accepts documents with multiple top-level element nodes in absence of parse_fragment. This is an unfortunate omission; while it can be corrected, it will result in regressions for some users, and it's trivial to perform the validity check after the parse is done. Because of this, for now we're just going to amend documentation here to both highlight this in the W3C Conformance section, but also to more strongly push users into realizing that there's just a single document element (normally). We might decide to change the behavior here to prohibit such documents by default in the future, but for now a documentation change seems like a better tradeoff. Fixes #337
-
Arseny Kapoulkine authored
Various CMake improvements
-
- Apr 27, 2020
-
-
Kyle Edwards authored
This will allow projects to use pugixml from its build directory rather than having to install it.
-
Arseny Kapoulkine authored
Add "Include pugixml.cpp" and "Header Only" linkage options
-
Kyle Edwards authored
-
Kyle Edwards authored
The old logic for BUILD_SHARED_LIBS and BUILD_SHARED_AND_STATIC_LIBS would produce two targets with the same name and different build rules. The Makefile generator tolerated this, but the Ninja generator raised an error. Fix the logic so that only one shared and one static target gets built, and make the pugixml target an ALIAS of the one dictated by BUILD_SHARED_LIBS.
-
- Apr 25, 2020
-
-
rip.nsk authored
-
- Feb 20, 2020
-
-
Arseny Kapoulkine authored
The loop traverses the source tree and simultaneously builds up a copy of it at destination. Short of race conditions, this code is safe - however, it's not obvious that dit stays inside the destination tree. This change adds a few assertions to help enforce/document these invariants. One particular subtlety is that dit can actually *become* null after we exit out of the loop, but it's guaranteed to only do so once sit goes back to sn. This is only possible when doing a full document copy - for some reason we weren't using this for that (in reset(xml_document)), but we are now. Fixes #314.
-
- Feb 19, 2020
-
-
Arseny Kapoulkine authored
We were previously relying on non-standard comment detection that is supported by gcc/clang to avoid warnings about implicit fallthrough. This can be solved using attributes but using them requires a lot of compiler-specific detection logic because not all versions of gcc/clang support them. We don't *really* need to rely on fallthrough here - the type conversion block can be located *after* the AST type switch instead, which means that any AST type that has type ambiguity can fall back to that in the future. Fixes #331.
-
- Feb 08, 2020
-
-
Arseny Kapoulkine authored
Update CMakeLists.txt to rename the static and shared libraries to pugixml
-
- Feb 07, 2020
-
-
Gianfranco Costamagna authored
Don't call them pugixml-shared or pugixml-static, because this breaks pkgconfig calls and userspace tools.
-
- Feb 01, 2020
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
This makes sure all conversions work as expected (note that no type can be converted to node set so we don't check that).
-