Arseny Kapoulkine
bcddf36559
Only save first PCDATA contents in the element
...
This change fixes an important ordering issue - if element node has a PCDATA
child *after* other elements, it's impossible to tell which order the children
were in.
Since the goal of PCDATA embedding is to save memory when it's the only child,
only apply the optimization to the first child. This seems to fix all
roundtripping issues so the only caveat is that the DOM structure is different.
2016-01-12 20:01:44 -08:00
Arseny Kapoulkine
df2a0ad28b
Implement output support for embedded PCDATA values
...
This is a bit awkward since preserving correct indentation structure requires
a bit of extra work, and the closing tag has to be written by _start function
to correctly process the rest of the tree.
2016-01-09 17:46:42 -08:00
Arseny Kapoulkine
85d8b225f2
Support XPath string value for parse_embed_pcdata
2016-01-08 08:41:38 -08:00
Arseny Kapoulkine
8b01f8923c
Support xml_node::child_value/text for parse_embed_pcdata
2016-01-08 08:40:56 -08:00
Arseny Kapoulkine
2874f6f21d
Add initial support for parse_embed_pcdata
...
When this flag is true, PCDATA value is saved to the parent element instead of
allocating a new node.
This prevents some documents from round-tripping since it loses information,
but can provide a significant memory reduction and parsing speedup for some
documents.
2016-01-08 08:37:26 -08:00
Arseny Kapoulkine
ad3b492c1a
docs: Regenerate HTML documentation
2015-12-31 17:22:41 +03:00
Arseny Kapoulkine
5f58e9bd0c
Update all license/copyright texts to 2016
2015-12-31 17:22:21 +03:00
Arseny Kapoulkine
af7177e77d
docs: Use ISO-8601 for changelog dates
2015-12-31 17:11:54 +03:00
Arseny Kapoulkine
03b1b6a5c3
scripts: Fix default value for STATIC_CRT option
...
Also refactor to use the same case and run after common options.
2015-12-30 23:58:03 +03:00
Arseny Kapoulkine
6a22a28730
Merge pull request #70 from nirbar/master
...
scripts: Allow linking static CRT libraries on Windows
Use the solution from CMake FAQ to specify correct command-line arguments.
2015-12-30 23:54:58 +03:00
Arseny Kapoulkine
1bcf12402e
Work around Clang Wstring-conversion warnings
...
(!"string") triggers the warning however (false && "string") does not.
Fixes #75 .
2015-12-29 21:43:24 +03:00
nir.bar
3dadebf10e
Merge branch 'master' of github.com:nirbar/pugixml
2015-12-03 13:19:52 +02:00
nir.bar
0d111976e1
Add CMake option on MSVC- STATIC_CRT
2015-12-03 12:33:44 +02:00
Arseny Kapoulkine
2cf599b310
Work around MinGW versions with non-C99 compliant headers
...
Apparently some MinGW distributions have a compiler that's recent enough to
support C++11 but limits.h header that incorrectly omits LLONG limits in
strict ANSI mode, since it guards the definitions with:
#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
We can just define these symbols ourselves in this specific case.
Fixes #66 .
2015-11-13 09:09:43 -08:00
Arseny Kapoulkine
94c08f27c6
tests: Fix Borland C++ 5.4 compilation
...
The tests now compile fine but crash on the first floating-point exception
despite our attempts to disable them in main()...
2015-10-25 13:44:26 -07:00
Arseny Kapoulkine
fe58041a61
Fix Borland C++ 5.4 compilation
...
It does not have stdint.h and has some C++ parsing issues.
2015-10-25 12:57:43 -07:00
Arseny Kapoulkine
39149fd5bd
Reduce Travis build matrix
2015-10-24 14:15:47 -07:00
Arseny Kapoulkine
0fe295aa9c
Build NuGet package on AppVeyor
2015-10-23 11:11:49 -07:00
Arseny Kapoulkine
a3a9d53860
docs: Fix CDATA example
...
Fixes #61 .
2015-10-19 20:55:39 -07:00
Arseny Kapoulkine
7d2842e670
docs: Add iOS to the list of supported platforms
2015-10-19 00:11:10 -07:00
Arseny Kapoulkine
5b2f014fc7
docs: Update packaging info
2015-10-18 21:01:14 -07:00
Arseny Kapoulkine
0c8024920f
docs: Update release date
latest
v1.7
2015-10-18 20:13:52 -07:00
Arseny Kapoulkine
471f2260d0
docs: Rewrite Portability section
2015-10-18 18:23:17 -07:00
Arseny Kapoulkine
af3cd2e7b6
Add config=analyze
2015-10-18 18:00:17 -07:00
Arseny Kapoulkine
d27a64338e
Add release build to Travis
2015-10-18 17:54:17 -07:00
Arseny Kapoulkine
e7f1e3d9dd
Fix wchar mode
2015-10-18 17:52:45 -07:00
Arseny Kapoulkine
e45c173f73
Fix MWCW issue with compact mode
2015-10-18 16:10:30 -07:00
Arseny Kapoulkine
18483b024c
Fix Borland C++ issues with compact mode
2015-10-18 16:09:31 -07:00
Arseny Kapoulkine
00d9f98ccc
Work around DMC compilation error
...
For some reason reference to a fixed-size array works in two other places
but not in this one...
2015-10-18 15:58:16 -07:00
Arseny Kapoulkine
75a811a4f7
Fix 'cast increases required alignment of type' warnings
...
These show up when building with Wcast-align for ARM.
2015-10-18 15:51:02 -07:00
Arseny Kapoulkine
cd4eadcc2b
Use -pedantic instead of -Wpedantic
...
Travis CI strikes once more.
2015-10-17 14:24:20 -07:00
Arseny Kapoulkine
3ac9555d8d
Enable a few more warnings
2015-10-17 14:21:56 -07:00
Arseny Kapoulkine
65df1ef955
Fix XPath query move ctor/operator
...
It now also moves parse result.
2015-10-17 14:16:46 -07:00
Arseny Kapoulkine
cf8cfb30ce
Fix 'signed/unsigned comparison' warning in wchar mode
...
Only happens on GCC 3.4 for some reason.
2015-10-17 12:58:04 -07:00
Arseny Kapoulkine
fd605bc9a7
tests: Fix GCC warning
...
Fix "this decimal constant is unsigned only in ISO C90".
2015-10-17 12:20:21 -07:00
Arseny Kapoulkine
1298c8db79
Fix -Wshadow warning
2015-10-17 12:14:04 -07:00
Arseny Kapoulkine
809f992f83
Fix MSVC6 header-only build
...
name_sentry dtor results in multiple symbol definition errors in MSVC6.
2015-10-17 10:51:20 -07:00
Arseny Kapoulkine
0e09571f21
Fix integer overflow detection with leading zeros
...
Since they don't contribute to the resulting value just skip them before
parsing. This matches the behavior of strtol/strtoll and results in more
intuitive behavior.
2015-10-17 10:33:50 -07:00
Arseny Kapoulkine
e8e54ea5de
Use explicit tests in set_Name/set_value
...
Node type enum is not used as an array index anywhere else; the code is not
very readable and the value of this "optimization" is questionable.
The conditions are arranged so that in all normal cases the first comparison
returns true anyway.
2015-10-17 10:26:57 -07:00
Arseny Kapoulkine
122157eb0e
Fix argument mismatch in integer parsing
...
The minneg argument is supposed to be the absolute value of the minimum negative
representable number. In case of two-complement arithmetic, it's the same as the
value itself but it's better to be explicit and negate the argument.
2015-10-17 10:14:52 -07:00
Arseny Kapoulkine
4230292830
Add compact_hash_table assertions
2015-10-17 10:13:40 -07:00
Arseny Kapoulkine
67702277e6
docs: Add a note about moving xpath_query
2015-10-17 08:59:41 -07:00
Arseny Kapoulkine
384db6ba29
Refactor output buffer encoding
...
Share the implementation for different encodings. We still need two functions
because endian_swap on uint8_t is ambiguous...
2015-10-12 09:15:01 -07:00
Arseny Kapoulkine
9aa28f1d05
docs: Regenerate HTML documentation
2015-10-10 13:51:34 -07:00
Arseny Kapoulkine
2ebd15b5d7
scripts: Use changelog URL as release notes
2015-10-10 13:51:01 -07:00
Arseny Kapoulkine
6b26a9a7f6
docs: Correct the acknowledgment section
2015-10-10 13:42:56 -07:00
Arseny Kapoulkine
f010cabb44
scripts: Use /Z7 for NuGet package
...
This avoids linker warning when building the final executable and we don't
have to package the .PDB file.
2015-10-10 13:32:40 -07:00
Arseny Kapoulkine
537aea56c6
tests: Fix version check :)
2015-10-10 13:07:53 -07:00
Arseny Kapoulkine
540424bd76
Add .gitignore
2015-10-10 13:05:04 -07:00
Arseny Kapoulkine
6fa0b39390
docs: Update changelog for 1.7
2015-10-10 13:04:06 -07:00