Each nesting level increases the stack and the number of previous
starting events that the parser has to check.
The default maximum is 1000 and can be set via yaml_set_max_nest_level()
I also added new options to run-parser and run-parser-test-suite:
* --max-level: you can now try out this feature on the command line
* --show-error: By default, run-parser doesn't show errors. The new option
helps with debugging
Before:
a: &b x
*b: c
Now:
a: &b x
*b : c
Passing tests:
* 26DV: Whitespace around colon in mappings
* E76Z: Aliases in Implicit Block Mapping
* X38W: Aliases in Flow Objects
Test manually because `make test-suite` will overwrite changes in the skiplist:
./tests/run-parser-test-suite tests/run-test-suite/data/26DV/in.yaml | ./tests/run-emitter-test-suite
./tests/run-parser-test-suite tests/run-test-suite/data/E76Z/in.yaml | ./tests/run-emitter-test-suite
./tests/run-parser-test-suite tests/run-test-suite/data/X38W/in.yaml | ./tests/run-emitter-test-suite
Or edit tests/run-test-suite/test/blacklist/libyaml-emitter and do:
(cd tests/run-test-suite; prove -lv test)
Also I added some newlines to yaml.h to help identifying states by number.
(provided by msvc compiler) instead of WIN32 (which is user configurable, and
omitted by default on some x64 builds); this fixes an issue with 64 bit windows
static library builds (#66)
Co-authored-by: Mark Sheahan <mark.sheahan@upguard.com>
autoconf deprecated INCLUDE around version 2.69. No other automake file
in the project uses INCLUDE (instead they use AM_CPPFLAGS) and this
warning prevents the bootstrap-configure-make process from working on
OSX for me. Updating the variable name in the include/Makefile.am fixes
this and allows me to move along with development on OSX.