From b3689ae4924a351c63cce9891bdbf40df6efbf3c Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" Date: Thu, 3 Mar 2022 15:08:26 -0500 Subject: [PATCH 01/20] add changelog --- CHANGELOG.md | 733 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 733 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..e1cc41a0 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,733 @@ +# Changelog + +## [v0.23.4](https://github.com/gjtorikian/commonmarker/tree/v0.23.4) (2022-03-03) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.23.2...v0.23.4) + +**Fixed bugs:** + +- `#render_html` way slower than `#render_doc.to_html` [\#141](https://github.com/gjtorikian/commonmarker/issues/141) + +**Closed issues:** + +- allow keeping text content of unknown tags [\#169](https://github.com/gjtorikian/commonmarker/issues/169) +- STRIKETHROUGH\_DOUBLE\_TILDE not working [\#168](https://github.com/gjtorikian/commonmarker/issues/168) +- Allow disabling 4-space code blocks [\#167](https://github.com/gjtorikian/commonmarker/issues/167) +- tables with escaped pipes are not recognized [\#166](https://github.com/gjtorikian/commonmarker/issues/166) + +**Merged pull requests:** + +- CI: Drop a duplicate 'bundle install' [\#173](https://github.com/gjtorikian/commonmarker/pull/173) ([olleolleolle](https://github.com/olleolleolle)) +- CI: Drop duplicate bundle install [\#172](https://github.com/gjtorikian/commonmarker/pull/172) ([olleolleolle](https://github.com/olleolleolle)) +- Fixup benchmark and speedup a little, fixes \#141 [\#171](https://github.com/gjtorikian/commonmarker/pull/171) ([ojab](https://github.com/ojab)) + +## [v0.23.2](https://github.com/gjtorikian/commonmarker/tree/v0.23.2) (2021-09-17) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.23.1...v0.23.2) + +**Merged pull requests:** + +- Update GFM release to `0.29.0.gfm.2` [\#148](https://github.com/gjtorikian/commonmarker/pull/148) ([phillmv](https://github.com/phillmv)) + +## [v0.23.1](https://github.com/gjtorikian/commonmarker/tree/v0.23.1) (2021-09-03) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.23.0...v0.23.1) + +**Closed issues:** + +- Incorrect processing of list and next block of code [\#146](https://github.com/gjtorikian/commonmarker/issues/146) + +**Merged pull requests:** + +- Normalize parse and render options [\#145](https://github.com/gjtorikian/commonmarker/pull/145) ([phillmv](https://github.com/phillmv)) + +## [v0.23.0](https://github.com/gjtorikian/commonmarker/tree/v0.23.0) (2021-08-30) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.22.0...v0.23.0) + +**Closed issues:** + +- Latest version of commonmarker breaks with jekyll build [\#142](https://github.com/gjtorikian/commonmarker/issues/142) + +**Merged pull requests:** + +- Add support for rendering XML from cmark-gfm [\#144](https://github.com/gjtorikian/commonmarker/pull/144) ([digitalmoksha](https://github.com/digitalmoksha)) + +## [v0.22.0](https://github.com/gjtorikian/commonmarker/tree/v0.22.0) (2021-06-20) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.21.2...v0.22.0) + +**Closed issues:** + +- Recommendations on how to have autolink for phone numbers? [\#139](https://github.com/gjtorikian/commonmarker/issues/139) +- Add option to disable indented code blocs [\#138](https://github.com/gjtorikian/commonmarker/issues/138) +- Tagging "tasklist" lists with a class for easy styling? [\#137](https://github.com/gjtorikian/commonmarker/issues/137) +- Escape math environments [\#136](https://github.com/gjtorikian/commonmarker/issues/136) +- Open to removing the ruby-enum dependency? [\#135](https://github.com/gjtorikian/commonmarker/issues/135) +- In HtmlRenderer, escape\_html\(\) returns a string with encoding \#\ [\#130](https://github.com/gjtorikian/commonmarker/issues/130) + +**Merged pull requests:** + +- Remove `ruby-enum` dependency [\#140](https://github.com/gjtorikian/commonmarker/pull/140) ([ojab](https://github.com/ojab)) +- Copy encoding when escaping hrefs/HTML [\#133](https://github.com/gjtorikian/commonmarker/pull/133) ([kivikakk](https://github.com/kivikakk)) + +## [v0.21.2](https://github.com/gjtorikian/commonmarker/tree/v0.21.2) (2021-02-11) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.21.1...v0.21.2) + +**Closed issues:** + +- Potential to cut a new release? [\#129](https://github.com/gjtorikian/commonmarker/issues/129) + +**Merged pull requests:** + +- Switch to GitHub Actions [\#132](https://github.com/gjtorikian/commonmarker/pull/132) ([gjtorikian](https://github.com/gjtorikian)) +- Support :FOOTNOTES option for rendering HTML [\#131](https://github.com/gjtorikian/commonmarker/pull/131) ([aharpole](https://github.com/aharpole)) + +## [v0.21.1](https://github.com/gjtorikian/commonmarker/tree/v0.21.1) (2021-01-21) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.21.0...v0.21.1) + +**Closed issues:** + +- Dependency error on new M1 Mac [\#128](https://github.com/gjtorikian/commonmarker/issues/128) +- Inlines containing a pipe are not properly parsed within table rows [\#125](https://github.com/gjtorikian/commonmarker/issues/125) +- Allow code snippets in multiple programming language [\#124](https://github.com/gjtorikian/commonmarker/issues/124) +- Provide access to `refmap`. [\#121](https://github.com/gjtorikian/commonmarker/issues/121) +- Numbered checklist [\#120](https://github.com/gjtorikian/commonmarker/issues/120) +- Is there a specification for how URL slugs for headers are generated? [\#118](https://github.com/gjtorikian/commonmarker/issues/118) + +**Merged pull requests:** + +- Fix mismatched indentation [\#127](https://github.com/gjtorikian/commonmarker/pull/127) ([naoty](https://github.com/naoty)) +- Avoid a YARD annotation warning [\#119](https://github.com/gjtorikian/commonmarker/pull/119) ([olleolleolle](https://github.com/olleolleolle)) + +## [v0.21.0](https://github.com/gjtorikian/commonmarker/tree/v0.21.0) (2020-01-23) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.20.2...v0.21.0) + +**Closed issues:** + +- Changelog [\#110](https://github.com/gjtorikian/commonmarker/issues/110) +- Documentation out of date [\#109](https://github.com/gjtorikian/commonmarker/issues/109) + +**Merged pull requests:** + +- Add Node\#tasklist\_item\_checked= [\#116](https://github.com/gjtorikian/commonmarker/pull/116) ([tomoasleep](https://github.com/tomoasleep)) +- clear up an example in the README [\#115](https://github.com/gjtorikian/commonmarker/pull/115) ([kivikakk](https://github.com/kivikakk)) +- Update GFM release [\#113](https://github.com/gjtorikian/commonmarker/pull/113) ([gjtorikian](https://github.com/gjtorikian)) +- Rubocop updates [\#111](https://github.com/gjtorikian/commonmarker/pull/111) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.20.2](https://github.com/gjtorikian/commonmarker/tree/v0.20.2) (2019-12-18) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.20.1...v0.20.2) + +**Closed issues:** + +- Bug when parse word with spaces in tags [\#106](https://github.com/gjtorikian/commonmarker/issues/106) +- UNSAFE mode inserts \ tags inside \ tag [\#102](https://github.com/gjtorikian/commonmarker/issues/102) +- Wrong path gets encoded in Makefile: /home/conda/feedstock\_root/build\_artifacts/ruby\_1552262701982/\_build\_env/bin/x86\_64-conda\_cos6-linux-gnu-cc: Command not found [\#101](https://github.com/gjtorikian/commonmarker/issues/101) + +**Merged pull requests:** + +- Add command line input for parse and render options [\#108](https://github.com/gjtorikian/commonmarker/pull/108) ([digitalmoksha](https://github.com/digitalmoksha)) +- Add tasklist extension description to README [\#103](https://github.com/gjtorikian/commonmarker/pull/103) ([tomoasleep](https://github.com/tomoasleep)) + +## [v0.20.1](https://github.com/gjtorikian/commonmarker/tree/v0.20.1) (2019-04-29) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.20.0...v0.20.1) + +**Closed issues:** + +- 100mb test/benchinput.md file is included in published rubygem [\#99](https://github.com/gjtorikian/commonmarker/issues/99) + +**Merged pull requests:** + +- tasklist state inverted [\#100](https://github.com/gjtorikian/commonmarker/pull/100) ([kivikakk](https://github.com/kivikakk)) + +## [v0.20.0](https://github.com/gjtorikian/commonmarker/tree/v0.20.0) (2019-04-09) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.19.0...v0.20.0) + +**Closed issues:** + +- Footnotes not working with autolink when its including "w" ? [\#95](https://github.com/gjtorikian/commonmarker/issues/95) + +**Merged pull requests:** + +- update to cmark-gfm 0.29.0.gfm.0 [\#98](https://github.com/gjtorikian/commonmarker/pull/98) ([kivikakk](https://github.com/kivikakk)) + +## [v0.19.0](https://github.com/gjtorikian/commonmarker/tree/v0.19.0) (2019-04-03) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.18.2...v0.19.0) + +**Closed issues:** + +- .render\_html throws an error when given a parse-only option such as :SMART [\#96](https://github.com/gjtorikian/commonmarker/issues/96) +- code in header produce invalid anchor [\#93](https://github.com/gjtorikian/commonmarker/issues/93) +- Escaping of square brackets for reference-style links [\#91](https://github.com/gjtorikian/commonmarker/issues/91) +- Please add an option for accessible footnotes [\#89](https://github.com/gjtorikian/commonmarker/issues/89) +- ISSUE [\#82](https://github.com/gjtorikian/commonmarker/issues/82) + +**Merged pull requests:** + +- Indicte the context of an option [\#97](https://github.com/gjtorikian/commonmarker/pull/97) ([gjtorikian](https://github.com/gjtorikian)) +- Bump dependencies to support tasklists [\#94](https://github.com/gjtorikian/commonmarker/pull/94) ([gjtorikian](https://github.com/gjtorikian)) +- Remove cmake dependency from Travis [\#92](https://github.com/gjtorikian/commonmarker/pull/92) ([gjtorikian](https://github.com/gjtorikian)) +- Fixes up whitespace problems introduced in \#87 [\#90](https://github.com/gjtorikian/commonmarker/pull/90) ([diachini](https://github.com/diachini)) +- GitHub is https by default [\#88](https://github.com/gjtorikian/commonmarker/pull/88) ([amatsuda](https://github.com/amatsuda)) + +## [v0.18.2](https://github.com/gjtorikian/commonmarker/tree/v0.18.2) (2018-11-28) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.18.1...v0.18.2) + +**Closed issues:** + +- Request: Support for Description Lists [\#86](https://github.com/gjtorikian/commonmarker/issues/86) +- Code block vanishes in latest with commonmarker-rouge [\#85](https://github.com/gjtorikian/commonmarker/issues/85) +- Request : Image Size Issues [\#84](https://github.com/gjtorikian/commonmarker/issues/84) +- 'stdlib.h' file not found [\#83](https://github.com/gjtorikian/commonmarker/issues/83) + +**Merged pull requests:** + +- Allow `:UNSAFE` option for parsing [\#87](https://github.com/gjtorikian/commonmarker/pull/87) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.18.1](https://github.com/gjtorikian/commonmarker/tree/v0.18.1) (2018-10-18) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.18.0...v0.18.1) + +## [v0.18.0](https://github.com/gjtorikian/commonmarker/tree/v0.18.0) (2018-10-17) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.13...v0.18.0) + +**Closed issues:** + +- Math engine support \($$ $$\) [\#80](https://github.com/gjtorikian/commonmarker/issues/80) + +**Merged pull requests:** + +- Latest upstream [\#81](https://github.com/gjtorikian/commonmarker/pull/81) ([kivikakk](https://github.com/kivikakk)) + +## [v0.17.13](https://github.com/gjtorikian/commonmarker/tree/v0.17.13) (2018-09-10) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.12...v0.17.13) + +**Merged pull requests:** + +- bump to cmark-gfm 0.28.3.gfm.16 [\#79](https://github.com/gjtorikian/commonmarker/pull/79) ([kivikakk](https://github.com/kivikakk)) + +## [v0.17.12](https://github.com/gjtorikian/commonmarker/tree/v0.17.12) (2018-09-07) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.11...v0.17.12) + +**Closed issues:** + +- Bump gem to latest cmark-gfm... [\#77](https://github.com/gjtorikian/commonmarker/issues/77) +- Tag 0.17.10 and 0.17.11 [\#75](https://github.com/gjtorikian/commonmarker/issues/75) + +**Merged pull requests:** + +- Update cmark-upstream [\#78](https://github.com/gjtorikian/commonmarker/pull/78) ([gjtorikian](https://github.com/gjtorikian)) +- grab header/define fixes [\#76](https://github.com/gjtorikian/commonmarker/pull/76) ([kivikakk](https://github.com/kivikakk)) + +## [v0.17.11](https://github.com/gjtorikian/commonmarker/tree/v0.17.11) (2018-08-10) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.17.10...v0.17.11) + +**Closed issues:** + +- Parsing additional info string as meta data on \ tags [\#72](https://github.com/gjtorikian/commonmarker/issues/72) + +**Merged pull requests:** + +- Bring in plaintext strikethrough rendering fix [\#74](https://github.com/gjtorikian/commonmarker/pull/74) ([kivikakk](https://github.com/kivikakk)) + +## [0.17.10](https://github.com/gjtorikian/commonmarker/tree/0.17.10) (2018-08-08) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.10...0.17.10) + +## [v0.17.10](https://github.com/gjtorikian/commonmarker/tree/v0.17.10) (2018-08-08) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.9...v0.17.10) + +**Closed issues:** + +- Unable to install commonmarker on OS X [\#71](https://github.com/gjtorikian/commonmarker/issues/71) + +**Merged pull requests:** + +- --full-info-string [\#73](https://github.com/gjtorikian/commonmarker/pull/73) ([kivikakk](https://github.com/kivikakk)) + +## [v0.17.9](https://github.com/gjtorikian/commonmarker/tree/v0.17.9) (2018-03-12) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.8...v0.17.9) + +**Closed issues:** + +- Failed to build gem native extension/ no rule to make target [\#67](https://github.com/gjtorikian/commonmarker/issues/67) + +**Merged pull requests:** + +- Remove square brackets when rendering HTML for footnotes [\#69](https://github.com/gjtorikian/commonmarker/pull/69) ([pyrmont](https://github.com/pyrmont)) +- Update both parse and render options in README [\#68](https://github.com/gjtorikian/commonmarker/pull/68) ([blackst0ne](https://github.com/blackst0ne)) + +## [v0.17.8](https://github.com/gjtorikian/commonmarker/tree/v0.17.8) (2018-02-21) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.7.1...v0.17.8) + +**Closed issues:** + +- extension tasklist not found [\#64](https://github.com/gjtorikian/commonmarker/issues/64) +- Request: mermaid rendering support within markdown [\#63](https://github.com/gjtorikian/commonmarker/issues/63) +- Installation / make error in windows 10 [\#62](https://github.com/gjtorikian/commonmarker/issues/62) +- Permissions error when installing on Windows 7 machine [\#61](https://github.com/gjtorikian/commonmarker/issues/61) + +**Merged pull requests:** + +- Support the TABLE\_PREFER\_STYLE\_ATTRIBUTES render option [\#66](https://github.com/gjtorikian/commonmarker/pull/66) ([gfx](https://github.com/gfx)) +- Fix issues with tables during a round-trip parsing CM and then producing CM again. [\#65](https://github.com/gjtorikian/commonmarker/pull/65) ([jerryjvl](https://github.com/jerryjvl)) + +## [v0.17.7.1](https://github.com/gjtorikian/commonmarker/tree/v0.17.7.1) (2017-12-10) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.7...v0.17.7.1) + +**Closed issues:** + +- 0.17.6 install fails [\#59](https://github.com/gjtorikian/commonmarker/issues/59) + +## [v0.17.7](https://github.com/gjtorikian/commonmarker/tree/v0.17.7) (2017-12-05) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.6...v0.17.7) + +**Closed issues:** + +- Bump cmark-gfm to get support of footnotes [\#58](https://github.com/gjtorikian/commonmarker/issues/58) + +**Merged pull requests:** + +- No cmake required! [\#60](https://github.com/gjtorikian/commonmarker/pull/60) ([kivikakk](https://github.com/kivikakk)) + +## [v0.17.6](https://github.com/gjtorikian/commonmarker/tree/v0.17.6) (2017-11-16) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.17.5...v0.17.6) + +## [v0.17.5](https://github.com/gjtorikian/commonmarker/tree/v0.17.5) (2017-10-19) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.17.4...v0.17.5) + +**Closed issues:** + +- \ is missed on rendering doc [\#56](https://github.com/gjtorikian/commonmarker/issues/56) +- Bold link in italics followed by a period [\#53](https://github.com/gjtorikian/commonmarker/issues/53) +- Extensions are not documented [\#52](https://github.com/gjtorikian/commonmarker/issues/52) + +**Merged pull requests:** + +- Reset `needs_close_tbody` when entering tables [\#57](https://github.com/gjtorikian/commonmarker/pull/57) ([gjtorikian](https://github.com/gjtorikian)) +- Link to libcmark-gfm [\#55](https://github.com/gjtorikian/commonmarker/pull/55) ([kivikakk](https://github.com/kivikakk)) +- Document the extensions in the README [\#54](https://github.com/gjtorikian/commonmarker/pull/54) ([gjtorikian](https://github.com/gjtorikian)) + +## [0.17.4](https://github.com/gjtorikian/commonmarker/tree/0.17.4) (2017-10-03) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.17.3...0.17.4) + +## [0.17.3](https://github.com/gjtorikian/commonmarker/tree/0.17.3) (2017-09-11) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.17.2...0.17.3) + +## [0.17.2](https://github.com/gjtorikian/commonmarker/tree/0.17.2) (2017-09-08) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.17.1...0.17.2) + +## [0.17.1](https://github.com/gjtorikian/commonmarker/tree/0.17.1) (2017-09-06) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.17.0...0.17.1) + +## [0.17.0](https://github.com/gjtorikian/commonmarker/tree/0.17.0) (2017-08-25) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.9...0.17.0) + +## [0.16.9](https://github.com/gjtorikian/commonmarker/tree/0.16.9) (2017-08-17) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.8...0.16.9) + +**Closed issues:** + +- Deployment - Cannot bundle commonmarker due to cmake [\#50](https://github.com/gjtorikian/commonmarker/issues/50) + +**Merged pull requests:** + +- Update link to the CMark docs options [\#51](https://github.com/gjtorikian/commonmarker/pull/51) ([unRob](https://github.com/unRob)) + +## [0.16.8](https://github.com/gjtorikian/commonmarker/tree/0.16.8) (2017-07-17) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.7...0.16.8) + +## [0.16.7](https://github.com/gjtorikian/commonmarker/tree/0.16.7) (2017-07-12) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.6...0.16.7) + +## [0.16.6](https://github.com/gjtorikian/commonmarker/tree/0.16.6) (2017-07-11) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.5...0.16.6) + +## [0.16.5](https://github.com/gjtorikian/commonmarker/tree/0.16.5) (2017-06-30) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.4...0.16.5) + +## [0.16.4](https://github.com/gjtorikian/commonmarker/tree/0.16.4) (2017-06-27) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.3...0.16.4) + +**Merged pull requests:** + +- Full support for options and extensions in HtmlRenderer [\#48](https://github.com/gjtorikian/commonmarker/pull/48) ([kivikakk](https://github.com/kivikakk)) + +## [0.16.3](https://github.com/gjtorikian/commonmarker/tree/0.16.3) (2017-06-21) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.2...0.16.3) + +## [0.16.2](https://github.com/gjtorikian/commonmarker/tree/0.16.2) (2017-06-21) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/0.16.1...0.16.2) + +## [0.16.1](https://github.com/gjtorikian/commonmarker/tree/0.16.1) (2017-06-21) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.16.0...0.16.1) + +**Closed issues:** + +- Cannot bundle commonmarker due to cmake [\#47](https://github.com/gjtorikian/commonmarker/issues/47) + +## [v0.16.0](https://github.com/gjtorikian/commonmarker/tree/v0.16.0) (2017-05-08) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.15.0...v0.16.0) + +**Merged pull requests:** + +- Plaintext renderer support [\#46](https://github.com/gjtorikian/commonmarker/pull/46) ([kivikakk](https://github.com/kivikakk)) +- Drop the remaining cached gems from the project [\#45](https://github.com/gjtorikian/commonmarker/pull/45) ([Empact](https://github.com/Empact)) + +## [v0.15.0](https://github.com/gjtorikian/commonmarker/tree/v0.15.0) (2017-04-22) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.16...v0.15.0) + +**Closed issues:** + +- Request: PrettyPrint support for CommonMarker::Node [\#42](https://github.com/gjtorikian/commonmarker/issues/42) + +**Merged pull requests:** + +- support p and pp for CommonMarker::Node [\#44](https://github.com/gjtorikian/commonmarker/pull/44) ([gfx](https://github.com/gfx)) +- Fix a typo [\#43](https://github.com/gjtorikian/commonmarker/pull/43) ([muan](https://github.com/muan)) + +## [v0.14.16](https://github.com/gjtorikian/commonmarker/tree/v0.14.16) (2017-04-04) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.15...v0.14.16) + +**Closed issues:** + +- Github/CommonMarker is parsing images/markup inconsistently. [\#41](https://github.com/gjtorikian/commonmarker/issues/41) +- doc: contains corrupt UTF-8; thus gem does not install cleanly [\#40](https://github.com/gjtorikian/commonmarker/issues/40) + +## [v0.14.15](https://github.com/gjtorikian/commonmarker/tree/v0.14.15) (2017-04-03) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.14...v0.14.15) + +## [v0.14.14](https://github.com/gjtorikian/commonmarker/tree/v0.14.14) (2017-03-27) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.13...v0.14.14) + +## [v0.14.13](https://github.com/gjtorikian/commonmarker/tree/v0.14.13) (2017-03-26) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.12...v0.14.13) + +**Closed issues:** + +- Encoding error [\#39](https://github.com/gjtorikian/commonmarker/issues/39) + +**Merged pull requests:** + +- Add Yuki [\#38](https://github.com/gjtorikian/commonmarker/pull/38) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.14.12](https://github.com/gjtorikian/commonmarker/tree/v0.14.12) (2017-03-22) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.11...v0.14.12) + +## [v0.14.11](https://github.com/gjtorikian/commonmarker/tree/v0.14.11) (2017-03-22) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.10...v0.14.11) + +## [v0.14.10](https://github.com/gjtorikian/commonmarker/tree/v0.14.10) (2017-03-21) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.9...v0.14.10) + +## [v0.14.9](https://github.com/gjtorikian/commonmarker/tree/v0.14.9) (2017-03-20) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.8...v0.14.9) + +**Closed issues:** + +- option ':default' does not exist for CommonMarker::Config::Render [\#37](https://github.com/gjtorikian/commonmarker/issues/37) + +## [v0.14.8](https://github.com/gjtorikian/commonmarker/tree/v0.14.8) (2017-03-15) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.7...v0.14.8) + +## [v0.14.7](https://github.com/gjtorikian/commonmarker/tree/v0.14.7) (2017-03-13) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.6...v0.14.7) + +## [v0.14.6](https://github.com/gjtorikian/commonmarker/tree/v0.14.6) (2017-03-13) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.5...v0.14.6) + +## [v0.14.5](https://github.com/gjtorikian/commonmarker/tree/v0.14.5) (2017-03-06) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.4...v0.14.5) + +**Closed issues:** + +- ruby-enum v0.7.1 breaks the gem [\#35](https://github.com/gjtorikian/commonmarker/issues/35) + +**Merged pull requests:** + +- Capitalize symbol names [\#36](https://github.com/gjtorikian/commonmarker/pull/36) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.14.4](https://github.com/gjtorikian/commonmarker/tree/v0.14.4) (2017-02-23) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.3...v0.14.4) + +**Closed issues:** + +- Table extension with HTML Renderer causes segfault [\#34](https://github.com/gjtorikian/commonmarker/issues/34) + +## [v0.14.3](https://github.com/gjtorikian/commonmarker/tree/v0.14.3) (2017-02-06) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.2...v0.14.3) + +**Closed issues:** + +- Extensions disabled in IRB? [\#33](https://github.com/gjtorikian/commonmarker/issues/33) + +## [v0.14.2](https://github.com/gjtorikian/commonmarker/tree/v0.14.2) (2017-01-27) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.1...v0.14.2) + +## [v0.14.1](https://github.com/gjtorikian/commonmarker/tree/v0.14.1) (2017-01-23) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.14.0...v0.14.1) + +## [v0.14.0](https://github.com/gjtorikian/commonmarker/tree/v0.14.0) (2016-12-13) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.13.0...v0.14.0) + +**Merged pull requests:** + +- Extensions targetting github/cmark [\#32](https://github.com/gjtorikian/commonmarker/pull/32) ([kivikakk](https://github.com/kivikakk)) + +## [v0.13.0](https://github.com/gjtorikian/commonmarker/tree/v0.13.0) (2016-11-27) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.12.0...v0.13.0) + +**Closed issues:** + +- `node.string_content` is not utf-8 [\#30](https://github.com/gjtorikian/commonmarker/issues/30) + +**Merged pull requests:** + +- Update cmark to 0.27.1 [\#31](https://github.com/gjtorikian/commonmarker/pull/31) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.12.0](https://github.com/gjtorikian/commonmarker/tree/v0.12.0) (2016-10-11) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.11.0...v0.12.0) + +**Merged pull requests:** + +- Revert "cmark extensions" [\#29](https://github.com/gjtorikian/commonmarker/pull/29) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.11.0](https://github.com/gjtorikian/commonmarker/tree/v0.11.0) (2016-09-18) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.10.0...v0.11.0) + +**Closed issues:** + +- No rule to make target libcmark\_static [\#22](https://github.com/gjtorikian/commonmarker/issues/22) + +**Merged pull requests:** + +- cmark extensions [\#28](https://github.com/gjtorikian/commonmarker/pull/28) ([kivikakk](https://github.com/kivikakk)) + +## [v0.10.0](https://github.com/gjtorikian/commonmarker/tree/v0.10.0) (2016-07-21) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.9.2...v0.10.0) + +**Merged pull requests:** + +- Update cmark to https://github.com/jgm/cmark/commit/e91dc12128b156f1b… [\#27](https://github.com/gjtorikian/commonmarker/pull/27) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.9.2](https://github.com/gjtorikian/commonmarker/tree/v0.9.2) (2016-06-07) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.9.1...v0.9.2) + +**Closed issues:** + +- Using render options with a custom renderer [\#25](https://github.com/gjtorikian/commonmarker/issues/25) + +**Merged pull requests:** + +- Get memory magic [\#26](https://github.com/gjtorikian/commonmarker/pull/26) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.9.1](https://github.com/gjtorikian/commonmarker/tree/v0.9.1) (2016-05-24) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.9.0...v0.9.1) + +## [v0.9.0](https://github.com/gjtorikian/commonmarker/tree/v0.9.0) (2016-05-18) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.8.0...v0.9.0) + +**Closed issues:** + +- Make `Node` an `Enumerable` so that it can iterate over its children [\#23](https://github.com/gjtorikian/commonmarker/issues/23) + +**Merged pull requests:** + +- Make `Node` an `Enumerable` [\#24](https://github.com/gjtorikian/commonmarker/pull/24) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.8.0](https://github.com/gjtorikian/commonmarker/tree/v0.8.0) (2016-04-04) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.7.0...v0.8.0) + +**Merged pull requests:** + +- Update cmark to 0.25.2 [\#21](https://github.com/gjtorikian/commonmarker/pull/21) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.7.0](https://github.com/gjtorikian/commonmarker/tree/v0.7.0) (2016-01-20) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.6.0...v0.7.0) + +**Merged pull requests:** + +- Bump to 0.24 [\#20](https://github.com/gjtorikian/commonmarker/pull/20) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.6.0](https://github.com/gjtorikian/commonmarker/tree/v0.6.0) (2016-01-05) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.5.1...v0.6.0) + +**Merged pull requests:** + +- Update cmark to 0.23 [\#19](https://github.com/gjtorikian/commonmarker/pull/19) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.5.1](https://github.com/gjtorikian/commonmarker/tree/v0.5.1) (2015-11-04) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.5.0...v0.5.1) + +**Closed issues:** + +- Smart punctuation and hardbreaks don't mix in render\_doc [\#17](https://github.com/gjtorikian/commonmarker/issues/17) + +**Merged pull requests:** + +- Mix and match options [\#18](https://github.com/gjtorikian/commonmarker/pull/18) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.5.0](https://github.com/gjtorikian/commonmarker/tree/v0.5.0) (2015-09-25) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.4.1...v0.5.0) + +**Closed issues:** + +- Direct access to sourcepos on the Node [\#15](https://github.com/gjtorikian/commonmarker/issues/15) + +**Merged pull requests:** + +- Add `sourcepos` information [\#16](https://github.com/gjtorikian/commonmarker/pull/16) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.4.1](https://github.com/gjtorikian/commonmarker/tree/v0.4.1) (2015-08-26) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.4.0...v0.4.1) + +**Closed issues:** + +- libcmark is missing [\#13](https://github.com/gjtorikian/commonmarker/issues/13) + +**Merged pull requests:** + +- Don't perform `find_library` on OS X's system Ruby [\#14](https://github.com/gjtorikian/commonmarker/pull/14) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.4.0](https://github.com/gjtorikian/commonmarker/tree/v0.4.0) (2015-08-24) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.3.0...v0.4.0) + +**Merged pull requests:** + +- Update cmark to 1f4632b8e761da5aaeebcefb2e43332ad267dba8 [\#12](https://github.com/gjtorikian/commonmarker/pull/12) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.3.0](https://github.com/gjtorikian/commonmarker/tree/v0.3.0) (2015-07-20) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.2.1...v0.3.0) + +**Merged pull requests:** + +- Bump cmark@0.21.0 [\#11](https://github.com/gjtorikian/commonmarker/pull/11) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.2.1](https://github.com/gjtorikian/commonmarker/tree/v0.2.1) (2015-07-07) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.2.0...v0.2.1) + +**Closed issues:** + +- Error "incompatible character encodings: UTF-8 and ASCII-8BIT" when combined with a rails app [\#9](https://github.com/gjtorikian/commonmarker/issues/9) + +**Merged pull requests:** + +- UTF-8 issues [\#10](https://github.com/gjtorikian/commonmarker/pull/10) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.2.0](https://github.com/gjtorikian/commonmarker/tree/v0.2.0) (2015-06-26) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.1.3...v0.2.0) + +**Closed issues:** + +- Test all the tests/options in CMark [\#6](https://github.com/gjtorikian/commonmarker/issues/6) + +**Merged pull requests:** + +- Implement Node class in C, fix memory management [\#8](https://github.com/gjtorikian/commonmarker/pull/8) ([nwellnhof](https://github.com/nwellnhof)) +- More testing [\#7](https://github.com/gjtorikian/commonmarker/pull/7) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.1.3](https://github.com/gjtorikian/commonmarker/tree/v0.1.3) (2015-05-27) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.1.2...v0.1.3) + +**Closed issues:** + +- Look into using the C AST walk [\#3](https://github.com/gjtorikian/commonmarker/issues/3) +- Don't force users to call `free`, if possible [\#2](https://github.com/gjtorikian/commonmarker/issues/2) + +**Merged pull requests:** + +- Better memory management [\#5](https://github.com/gjtorikian/commonmarker/pull/5) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.1.2](https://github.com/gjtorikian/commonmarker/tree/v0.1.2) (2015-05-14) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.1.1...v0.1.2) + +## [v0.1.1](https://github.com/gjtorikian/commonmarker/tree/v0.1.1) (2015-05-14) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.1.0...v0.1.1) + +## [v0.1.0](https://github.com/gjtorikian/commonmarker/tree/v0.1.0) (2015-05-13) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/v0.0.1...v0.1.0) + +**Merged pull requests:** + +- Start wrapping C in Ruby [\#1](https://github.com/gjtorikian/commonmarker/pull/1) ([gjtorikian](https://github.com/gjtorikian)) + +## [v0.0.1](https://github.com/gjtorikian/commonmarker/tree/v0.0.1) (2015-05-10) + +[Full Changelog](https://github.com/gjtorikian/commonmarker/compare/963ec7e72ff5125b11b3fbc842bd077031fc6c90...v0.0.1) + + + +\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)* From 32492acba2cddcc43a3f525050c0b8c09253cc5d Mon Sep 17 00:00:00 2001 From: Peter Goldstein Date: Thu, 3 Mar 2022 14:57:45 -0800 Subject: [PATCH 02/20] Add Ruby 3.1 to the CI matrix --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 34726a35..5a5c1bfb 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -16,7 +16,7 @@ jobs: - ubuntu-latest - macos-latest - windows-latest - ruby-version: [3.0.0, 2.7.2, 2.6.6] + ruby-version: [3.1, 3.0.0, 2.7.2, 2.6.6] runs-on: ${{ matrix.os }} From 7122128f11124c91467ea1f4c7813546829efd86 Mon Sep 17 00:00:00 2001 From: Dave Schwantes Date: Fri, 20 May 2022 16:20:47 +0000 Subject: [PATCH 03/20] add rb_undef_alloc_func for Node --- ext/commonmarker/commonmarker.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/commonmarker/commonmarker.c b/ext/commonmarker/commonmarker.c index 1a40e73d..1e930a94 100644 --- a/ext/commonmarker/commonmarker.c +++ b/ext/commonmarker/commonmarker.c @@ -1255,6 +1255,7 @@ __attribute__((visibility("default"))) void Init_commonmarker() { rb_define_singleton_method(module, "extensions", rb_extensions, 0); rb_eNodeError = rb_define_class_under(module, "NodeError", rb_eStandardError); rb_cNode = rb_define_class_under(module, "Node", rb_cObject); + rb_undef_alloc_func(rb_cNode); rb_define_singleton_method(rb_cNode, "markdown_to_html", rb_markdown_to_html, 3); rb_define_singleton_method(rb_cNode, "markdown_to_xml", rb_markdown_to_xml, From 3c2a8cce46f1aa610f47c7187e093f650d7a3eb3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20Spie=C3=9F?= Date: Tue, 31 May 2022 21:52:21 +0000 Subject: [PATCH 04/20] Update cmark-upstream to https://github.com/github/cmark-gfm/commit/ef1cfcb8a31de72bb951d9259bc4ac89e266975b --- ext/commonmarker/cmark-gfm_version.h | 4 +- ext/commonmarker/cmark-upstream | 2 +- ext/commonmarker/scanners.c | 4888 +++++++++++++------------- 3 files changed, 2441 insertions(+), 2453 deletions(-) diff --git a/ext/commonmarker/cmark-gfm_version.h b/ext/commonmarker/cmark-gfm_version.h index cfc20a13..ac403d4d 100644 --- a/ext/commonmarker/cmark-gfm_version.h +++ b/ext/commonmarker/cmark-gfm_version.h @@ -1,7 +1,7 @@ #ifndef CMARK_GFM_VERSION_H #define CMARK_GFM_VERSION_H -#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 3) -#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.3" +#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 4) +#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.4" #endif diff --git a/ext/commonmarker/cmark-upstream b/ext/commonmarker/cmark-upstream index ff164f18..ef1cfcb8 160000 --- a/ext/commonmarker/cmark-upstream +++ b/ext/commonmarker/cmark-upstream @@ -1 +1 @@ -Subproject commit ff164f188bc1eb23391c85436ab418463e7a030f +Subproject commit ef1cfcb8a31de72bb951d9259bc4ac89e266975b diff --git a/ext/commonmarker/scanners.c b/ext/commonmarker/scanners.c index dfa6e5c1..285b7a31 100644 --- a/ext/commonmarker/scanners.c +++ b/ext/commonmarker/scanners.c @@ -1,4 +1,4 @@ -/* Generated by re2c 1.1.1 */ +/* Generated by re2c 1.3 */ #include #include "chunk.h" #include "scanners.h" @@ -5089,36 +5089,45 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } yy374: yych = *++p; - switch (yych) { - case 'C': - case 'c': goto yy413; - case 'E': - case 'e': goto yy414; - case 'O': - case 'o': goto yy415; - case 'T': - case 't': goto yy416; - case 'U': - case 'u': goto yy417; - default: goto yy358; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'C') goto yy413; + goto yy358; + } else { + if (yych <= 'E') goto yy414; + if (yych <= 'S') goto yy358; + if (yych <= 'T') goto yy415; + goto yy416; + } + } else { + if (yych <= 'e') { + if (yych == 'c') goto yy413; + if (yych <= 'd') goto yy358; + goto yy414; + } else { + if (yych <= 's') goto yy358; + if (yych <= 't') goto yy415; + if (yych <= 'u') goto yy416; + goto yy358; + } } yy375: yych = *++p; switch (yych) { case 'A': - case 'a': goto yy418; + case 'a': goto yy417; case 'B': - case 'b': goto yy419; + case 'b': goto yy418; case 'D': case 'd': goto yy392; case 'F': - case 'f': goto yy420; + case 'f': goto yy419; case 'H': - case 'h': goto yy421; + case 'h': goto yy420; case 'I': - case 'i': goto yy422; + case 'i': goto yy421; case 'R': - case 'r': goto yy423; + case 'r': goto yy422; default: goto yy358; } yy376: @@ -5128,15 +5137,15 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy377: yych = *++p; - if (yych == '-') goto yy424; + if (yych == '-') goto yy423; goto yy358; yy378: ++p; { return 4; } yy380: yych = *++p; - if (yych == 'C') goto yy426; - if (yych == 'c') goto yy426; + if (yych == 'C') goto yy425; + if (yych == 'c') goto yy425; goto yy358; yy381: yych = *++p; @@ -5163,68 +5172,62 @@ bufsize_t _scan_html_block_start(const unsigned char *p) yy382: yych = *++p; if (yych <= 'U') { - if (yych <= 'N') { - if (yych == 'E') goto yy414; - goto yy358; - } else { - if (yych <= 'O') goto yy415; - if (yych <= 'T') goto yy358; - goto yy417; - } + if (yych == 'E') goto yy414; + if (yych <= 'T') goto yy358; + goto yy416; } else { - if (yych <= 'n') { - if (yych == 'e') goto yy414; - goto yy358; + if (yych <= 'e') { + if (yych <= 'd') goto yy358; + goto yy414; } else { - if (yych <= 'o') goto yy415; - if (yych == 'u') goto yy417; + if (yych == 'u') goto yy416; goto yy358; } } yy383: yych = *++p; - if (yych == 'D') goto yy427; - if (yych == 'd') goto yy427; + if (yych == 'D') goto yy426; + if (yych == 'd') goto yy426; goto yy358; yy384: yych = *++p; - if (yych == 'T') goto yy428; - if (yych == 't') goto yy428; + if (yych == 'T') goto yy427; + if (yych == 't') goto yy427; goto yy358; yy385: yych = *++p; - if (yych == 'I') goto yy429; - if (yych == 'i') goto yy429; + if (yych == 'I') goto yy428; + if (yych == 'i') goto yy428; goto yy358; yy386: yych = *++p; - if (yych == 'S') goto yy430; - if (yych == 's') goto yy430; + if (yych == 'S') goto yy429; + if (yych == 's') goto yy429; goto yy358; yy387: yych = *++p; - if (yych == 'O') goto yy431; - if (yych == 'o') goto yy431; + if (yych == 'O') goto yy430; + if (yych == 'o') goto yy430; goto yy358; yy388: yych = *++p; - if (yych == 'D') goto yy432; - if (yych == 'd') goto yy432; + if (yych == 'D') goto yy431; + if (yych == 'd') goto yy431; goto yy358; yy389: yych = *++p; - if (yych == 'P') goto yy433; - if (yych == 'p') goto yy433; + if (yych == 'P') goto yy432; + if (yych == 'p') goto yy432; goto yy358; yy390: yych = *++p; - if (yych == 'N') goto yy434; - if (yych == 'n') goto yy434; + if (yych == 'N') goto yy433; + if (yych == 'n') goto yy433; goto yy358; yy391: yych = *++p; - if (yych == 'L') goto yy435; - if (yych == 'l') goto yy435; + if (yych == 'L') goto yy434; + if (yych == 'l') goto yy434; goto yy358; yy392: yych = *++p; @@ -5244,14 +5247,14 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } yy393: yych = *++p; - if (yych == 'T') goto yy436; - if (yych == 't') goto yy436; + if (yych == 'T') goto yy435; + if (yych == 't') goto yy435; goto yy358; yy394: yych = *++p; if (yych <= 'V') { if (yych <= 'Q') { - if (yych == 'A') goto yy437; + if (yych == 'A') goto yy436; goto yy358; } else { if (yych <= 'R') goto yy392; @@ -5260,7 +5263,7 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } } else { if (yych <= 'q') { - if (yych == 'a') goto yy437; + if (yych == 'a') goto yy436; goto yy358; } else { if (yych <= 'r') goto yy392; @@ -5271,42 +5274,42 @@ bufsize_t _scan_html_block_start(const unsigned char *p) yy395: yych = *++p; if (yych <= 'G') { - if (yych == 'E') goto yy438; + if (yych == 'E') goto yy437; if (yych <= 'F') goto yy358; - goto yy439; + goto yy438; } else { if (yych <= 'e') { if (yych <= 'd') goto yy358; - goto yy438; + goto yy437; } else { - if (yych == 'g') goto yy439; + if (yych == 'g') goto yy438; goto yy358; } } yy396: yych = *++p; if (yych <= 'R') { - if (yych == 'O') goto yy434; + if (yych == 'O') goto yy433; if (yych <= 'Q') goto yy358; - goto yy440; + goto yy439; } else { if (yych <= 'o') { if (yych <= 'n') goto yy358; - goto yy434; + goto yy433; } else { - if (yych == 'r') goto yy440; + if (yych == 'r') goto yy439; goto yy358; } } yy397: yych = *++p; - if (yych == 'A') goto yy441; - if (yych == 'a') goto yy441; + if (yych == 'A') goto yy440; + if (yych == 'a') goto yy440; goto yy358; yy398: yych = *++p; - if (yych == 'A') goto yy442; - if (yych == 'a') goto yy442; + if (yych == 'A') goto yy441; + if (yych == 'a') goto yy441; goto yy358; yy399: yych = *++p; @@ -5315,13 +5318,13 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy400: yych = *++p; - if (yych == 'R') goto yy443; - if (yych == 'r') goto yy443; + if (yych == 'R') goto yy442; + if (yych == 'r') goto yy442; goto yy358; yy401: yych = *++p; - if (yych == 'G') goto yy444; - if (yych == 'g') goto yy444; + if (yych == 'G') goto yy443; + if (yych == 'g') goto yy443; goto yy358; yy402: yych = *++p; @@ -5340,20 +5343,20 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'N') goto yy445; - if (yych == 'n') goto yy445; + if (yych <= 'N') goto yy444; + if (yych == 'n') goto yy444; goto yy358; } } yy403: yych = *++p; - if (yych == 'I') goto yy446; - if (yych == 'i') goto yy446; + if (yych == 'I') goto yy445; + if (yych == 'i') goto yy445; goto yy358; yy404: yych = *++p; - if (yych == 'N') goto yy447; - if (yych == 'n') goto yy447; + if (yych == 'N') goto yy446; + if (yych == 'n') goto yy446; goto yy358; yy405: yych = *++p; @@ -5362,13 +5365,13 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy406: yych = *++p; - if (yych == 'F') goto yy448; - if (yych == 'f') goto yy448; + if (yych == 'F') goto yy447; + if (yych == 'f') goto yy447; goto yy358; yy407: yych = *++p; - if (yych == 'T') goto yy449; - if (yych == 't') goto yy449; + if (yych == 'T') goto yy448; + if (yych == 't') goto yy448; goto yy358; yy408: ++p; @@ -5379,55 +5382,50 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy411: yych = *++p; - if (yych == 'R') goto yy450; - if (yych == 'r') goto yy450; + if (yych == 'R') goto yy449; + if (yych == 'r') goto yy449; goto yy358; yy412: yych = *++p; - if (yych == 'E') goto yy451; - if (yych == 'e') goto yy451; + if (yych == 'E') goto yy450; + if (yych == 'e') goto yy450; goto yy358; yy413: yych = *++p; - if (yych == 'R') goto yy452; - if (yych == 'r') goto yy452; + if (yych == 'R') goto yy451; + if (yych == 'r') goto yy451; goto yy358; yy414: yych = *++p; - if (yych == 'C') goto yy433; - if (yych == 'c') goto yy433; + if (yych == 'C') goto yy432; + if (yych == 'c') goto yy432; goto yy358; yy415: yych = *++p; - if (yych == 'U') goto yy453; - if (yych == 'u') goto yy453; + if (yych == 'Y') goto yy452; + if (yych == 'y') goto yy452; goto yy358; yy416: yych = *++p; - if (yych == 'Y') goto yy454; - if (yych == 'y') goto yy454; + if (yych == 'M') goto yy453; + if (yych == 'm') goto yy453; goto yy358; yy417: yych = *++p; - if (yych == 'M') goto yy455; - if (yych == 'm') goto yy455; + if (yych == 'B') goto yy454; + if (yych == 'b') goto yy454; goto yy358; yy418: - yych = *++p; - if (yych == 'B') goto yy456; - if (yych == 'b') goto yy456; - goto yy358; -yy419: yych = *++p; if (yych == 'O') goto yy388; if (yych == 'o') goto yy388; goto yy358; -yy420: +yy419: yych = *++p; - if (yych == 'O') goto yy457; - if (yych == 'o') goto yy457; + if (yych == 'O') goto yy455; + if (yych == 'o') goto yy455; goto yy358; -yy421: +yy420: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5444,17 +5442,17 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'E') goto yy458; - if (yych == 'e') goto yy458; + if (yych <= 'E') goto yy456; + if (yych == 'e') goto yy456; goto yy358; } } -yy422: +yy421: yych = *++p; - if (yych == 'T') goto yy456; - if (yych == 't') goto yy456; + if (yych == 'T') goto yy454; + if (yych == 't') goto yy454; goto yy358; -yy423: +yy422: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5471,60 +5469,60 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'A') goto yy459; - if (yych == 'a') goto yy459; + if (yych <= 'A') goto yy457; + if (yych == 'a') goto yy457; goto yy358; } } -yy424: +yy423: ++p; { return 2; } +yy425: + yych = *++p; + if (yych == 'D') goto yy458; + if (yych == 'd') goto yy458; + goto yy358; yy426: yych = *++p; - if (yych == 'D') goto yy460; - if (yych == 'd') goto yy460; + if (yych == 'R') goto yy459; + if (yych == 'r') goto yy459; goto yy358; yy427: yych = *++p; - if (yych == 'R') goto yy461; - if (yych == 'r') goto yy461; + if (yych == 'I') goto yy460; + if (yych == 'i') goto yy460; goto yy358; yy428: yych = *++p; - if (yych == 'I') goto yy462; - if (yych == 'i') goto yy462; + if (yych == 'D') goto yy461; + if (yych == 'd') goto yy461; goto yy358; yy429: yych = *++p; - if (yych == 'D') goto yy463; - if (yych == 'd') goto yy463; + if (yych == 'E') goto yy462; + if (yych == 'e') goto yy462; goto yy358; yy430: yych = *++p; - if (yych == 'E') goto yy464; - if (yych == 'e') goto yy464; + if (yych == 'C') goto yy463; + if (yych == 'c') goto yy463; goto yy358; yy431: yych = *++p; - if (yych == 'C') goto yy465; - if (yych == 'c') goto yy465; + if (yych == 'Y') goto yy392; + if (yych == 'y') goto yy392; goto yy358; yy432: yych = *++p; - if (yych == 'Y') goto yy392; - if (yych == 'y') goto yy392; + if (yych == 'T') goto yy464; + if (yych == 't') goto yy464; goto yy358; yy433: yych = *++p; - if (yych == 'T') goto yy466; - if (yych == 't') goto yy466; + if (yych == 'T') goto yy465; + if (yych == 't') goto yy465; goto yy358; yy434: - yych = *++p; - if (yych == 'T') goto yy467; - if (yych == 't') goto yy467; - goto yy358; -yy435: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5541,178 +5539,173 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'G') goto yy468; - if (yych == 'g') goto yy468; + if (yych <= 'G') goto yy466; + if (yych == 'g') goto yy466; goto yy358; } } +yy435: + yych = *++p; + if (yych == 'A') goto yy467; + if (yych == 'a') goto yy467; + goto yy358; yy436: yych = *++p; - if (yych == 'A') goto yy469; - if (yych == 'a') goto yy469; + if (yych == 'L') goto yy468; + if (yych == 'l') goto yy468; goto yy358; yy437: yych = *++p; - if (yych == 'L') goto yy470; - if (yych == 'l') goto yy470; + if (yych == 'L') goto yy469; + if (yych == 'l') goto yy469; goto yy358; yy438: - yych = *++p; - if (yych == 'L') goto yy471; - if (yych == 'l') goto yy471; - goto yy358; -yy439: yych = *++p; if (yych <= 'U') { - if (yych == 'C') goto yy472; + if (yych == 'C') goto yy470; if (yych <= 'T') goto yy358; - goto yy473; + goto yy471; } else { if (yych <= 'c') { if (yych <= 'b') goto yy358; - goto yy472; + goto yy470; } else { - if (yych == 'u') goto yy473; + if (yych == 'u') goto yy471; goto yy358; } } -yy440: +yy439: yych = *++p; if (yych == 'M') goto yy392; if (yych == 'm') goto yy392; goto yy358; +yy440: + yych = *++p; + if (yych == 'M') goto yy472; + if (yych == 'm') goto yy472; + goto yy358; yy441: yych = *++p; - if (yych == 'M') goto yy474; - if (yych == 'm') goto yy474; + if (yych == 'D') goto yy473; + if (yych == 'd') goto yy473; goto yy358; yy442: yych = *++p; - if (yych == 'D') goto yy475; - if (yych == 'd') goto yy475; + if (yych == 'A') goto yy474; + if (yych == 'a') goto yy474; goto yy358; yy443: yych = *++p; - if (yych == 'A') goto yy476; - if (yych == 'a') goto yy476; + if (yych == 'E') goto yy475; + if (yych == 'e') goto yy475; goto yy358; yy444: - yych = *++p; - if (yych == 'E') goto yy477; - if (yych == 'e') goto yy477; - goto yy358; -yy445: yych = *++p; if (yych == 'K') goto yy392; if (yych == 'k') goto yy392; goto yy358; -yy446: +yy445: yych = *++p; if (yych == 'N') goto yy392; if (yych == 'n') goto yy392; goto yy358; -yy447: +yy446: yych = *++p; - if (yych == 'U') goto yy478; - if (yych == 'u') goto yy478; + if (yych == 'U') goto yy476; + if (yych == 'u') goto yy476; goto yy358; -yy448: +yy447: yych = *++p; - if (yych == 'R') goto yy479; - if (yych == 'r') goto yy479; + if (yych == 'R') goto yy477; + if (yych == 'r') goto yy477; goto yy358; -yy449: +yy448: yych = *++p; if (yych <= 'I') { - if (yych == 'G') goto yy468; + if (yych == 'G') goto yy466; if (yych <= 'H') goto yy358; - goto yy480; + goto yy478; } else { if (yych <= 'g') { if (yych <= 'f') goto yy358; - goto yy468; + goto yy466; } else { - if (yych == 'i') goto yy480; + if (yych == 'i') goto yy478; goto yy358; } } -yy450: +yy449: yych = *++p; - if (yych == 'A') goto yy440; - if (yych == 'a') goto yy440; + if (yych == 'A') goto yy439; + if (yych == 'a') goto yy439; goto yy358; -yy451: +yy450: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy481; + if (yych <= '\r') goto yy479; goto yy358; } else { - if (yych <= ' ') goto yy481; - if (yych == '>') goto yy481; + if (yych <= ' ') goto yy479; + if (yych == '>') goto yy479; goto yy358; } +yy451: + yych = *++p; + if (yych == 'I') goto yy481; + if (yych == 'i') goto yy481; + goto yy358; yy452: yych = *++p; - if (yych == 'I') goto yy483; - if (yych == 'i') goto yy483; + if (yych == 'L') goto yy412; + if (yych == 'l') goto yy412; goto yy358; yy453: yych = *++p; - if (yych == 'R') goto yy484; - if (yych == 'r') goto yy484; + if (yych == 'M') goto yy482; + if (yych == 'm') goto yy482; goto yy358; yy454: yych = *++p; - if (yych == 'L') goto yy412; - if (yych == 'l') goto yy412; + if (yych == 'L') goto yy461; + if (yych == 'l') goto yy461; goto yy358; yy455: yych = *++p; - if (yych == 'M') goto yy485; - if (yych == 'm') goto yy485; + if (yych == 'O') goto yy483; + if (yych == 'o') goto yy483; goto yy358; yy456: yych = *++p; - if (yych == 'L') goto yy463; - if (yych == 'l') goto yy463; + if (yych == 'A') goto yy484; + if (yych == 'a') goto yy484; goto yy358; yy457: yych = *++p; - if (yych == 'O') goto yy486; - if (yych == 'o') goto yy486; + if (yych == 'C') goto yy444; + if (yych == 'c') goto yy444; goto yy358; yy458: yych = *++p; - if (yych == 'A') goto yy487; - if (yych == 'a') goto yy487; + if (yych == 'A') goto yy485; + if (yych == 'a') goto yy485; goto yy358; yy459: yych = *++p; - if (yych == 'C') goto yy445; - if (yych == 'c') goto yy445; + if (yych == 'E') goto yy486; + if (yych == 'e') goto yy486; goto yy358; yy460: yych = *++p; - if (yych == 'A') goto yy488; - if (yych == 'a') goto yy488; + if (yych == 'C') goto yy454; + if (yych == 'c') goto yy454; goto yy358; yy461: - yych = *++p; - if (yych == 'E') goto yy489; - if (yych == 'e') goto yy489; - goto yy358; -yy462: - yych = *++p; - if (yych == 'C') goto yy456; - if (yych == 'c') goto yy456; - goto yy358; -yy463: yych = *++p; if (yych == 'E') goto yy392; if (yych == 'e') goto yy392; goto yy358; -yy464: +yy462: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5729,62 +5722,62 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'F') goto yy490; - if (yych == 'f') goto yy490; + if (yych <= 'F') goto yy487; + if (yych == 'f') goto yy487; goto yy358; } } +yy463: + yych = *++p; + if (yych == 'K') goto yy488; + if (yych == 'k') goto yy488; + goto yy358; +yy464: + yych = *++p; + if (yych == 'I') goto yy478; + if (yych == 'i') goto yy478; + goto yy358; yy465: yych = *++p; - if (yych == 'K') goto yy491; - if (yych == 'k') goto yy491; + if (yych == 'E') goto yy489; + if (yych == 'e') goto yy489; goto yy358; yy466: yych = *++p; - if (yych == 'I') goto yy480; - if (yych == 'i') goto yy480; + if (yych == 'R') goto yy490; + if (yych == 'r') goto yy490; goto yy358; yy467: yych = *++p; - if (yych == 'E') goto yy492; - if (yych == 'e') goto yy492; + if (yych == 'I') goto yy491; + if (yych == 'i') goto yy491; goto yy358; yy468: yych = *++p; - if (yych == 'R') goto yy493; - if (yych == 'r') goto yy493; + if (yych == 'O') goto yy492; + if (yych == 'o') goto yy492; goto yy358; yy469: yych = *++p; - if (yych == 'I') goto yy494; - if (yych == 'i') goto yy494; + if (yych == 'D') goto yy493; + if (yych == 'd') goto yy493; goto yy358; yy470: yych = *++p; - if (yych == 'O') goto yy495; - if (yych == 'o') goto yy495; + if (yych == 'A') goto yy389; + if (yych == 'a') goto yy389; goto yy358; yy471: yych = *++p; - if (yych == 'D') goto yy496; - if (yych == 'd') goto yy496; + if (yych == 'R') goto yy461; + if (yych == 'r') goto yy461; goto yy358; yy472: yych = *++p; - if (yych == 'A') goto yy389; - if (yych == 'a') goto yy389; + if (yych == 'E') goto yy494; + if (yych == 'e') goto yy494; goto yy358; yy473: - yych = *++p; - if (yych == 'R') goto yy463; - if (yych == 'r') goto yy463; - goto yy358; -yy474: - yych = *++p; - if (yych == 'E') goto yy497; - if (yych == 'e') goto yy497; - goto yy358; -yy475: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5801,22 +5794,22 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'E') goto yy492; - if (yych == 'e') goto yy492; + if (yych <= 'E') goto yy489; + if (yych == 'e') goto yy489; goto yy358; } } -yy476: +yy474: yych = *++p; - if (yych == 'M') goto yy463; - if (yych == 'm') goto yy463; + if (yych == 'M') goto yy461; + if (yych == 'm') goto yy461; goto yy358; -yy477: +yy475: yych = *++p; - if (yych == 'N') goto yy487; - if (yych == 'n') goto yy487; + if (yych == 'N') goto yy484; + if (yych == 'n') goto yy484; goto yy358; -yy478: +yy476: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5833,95 +5826,90 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'I') goto yy498; - if (yych == 'i') goto yy498; + if (yych <= 'I') goto yy495; + if (yych == 'i') goto yy495; goto yy358; } } -yy479: +yy477: yych = *++p; - if (yych == 'A') goto yy499; - if (yych == 'a') goto yy499; + if (yych == 'A') goto yy496; + if (yych == 'a') goto yy496; goto yy358; -yy480: +yy478: yych = *++p; - if (yych == 'O') goto yy446; - if (yych == 'o') goto yy446; + if (yych == 'O') goto yy445; + if (yych == 'o') goto yy445; goto yy358; -yy481: +yy479: ++p; { return 1; } -yy483: - yych = *++p; - if (yych == 'P') goto yy500; - if (yych == 'p') goto yy500; - goto yy358; -yy484: +yy481: yych = *++p; - if (yych == 'C') goto yy463; - if (yych == 'c') goto yy463; + if (yych == 'P') goto yy497; + if (yych == 'p') goto yy497; goto yy358; -yy485: +yy482: yych = *++p; - if (yych == 'A') goto yy501; - if (yych == 'a') goto yy501; + if (yych == 'A') goto yy498; + if (yych == 'a') goto yy498; goto yy358; -yy486: +yy483: yych = *++p; if (yych == 'T') goto yy392; if (yych == 't') goto yy392; goto yy358; -yy487: +yy484: yych = *++p; if (yych == 'D') goto yy392; if (yych == 'd') goto yy392; goto yy358; -yy488: +yy485: yych = *++p; - if (yych == 'T') goto yy502; - if (yych == 't') goto yy502; + if (yych == 'T') goto yy499; + if (yych == 't') goto yy499; goto yy358; -yy489: +yy486: yych = *++p; - if (yych == 'S') goto yy503; - if (yych == 's') goto yy503; + if (yych == 'S') goto yy500; + if (yych == 's') goto yy500; goto yy358; -yy490: +yy487: yych = *++p; - if (yych == 'O') goto yy504; - if (yych == 'o') goto yy504; + if (yych == 'O') goto yy501; + if (yych == 'o') goto yy501; goto yy358; -yy491: +yy488: yych = *++p; - if (yych == 'Q') goto yy505; - if (yych == 'q') goto yy505; + if (yych == 'Q') goto yy502; + if (yych == 'q') goto yy502; goto yy358; -yy492: +yy489: yych = *++p; if (yych == 'R') goto yy392; if (yych == 'r') goto yy392; goto yy358; -yy493: +yy490: yych = *++p; - if (yych == 'O') goto yy506; - if (yych == 'o') goto yy506; + if (yych == 'O') goto yy503; + if (yych == 'o') goto yy503; goto yy358; -yy494: +yy491: yych = *++p; - if (yych == 'L') goto yy503; - if (yych == 'l') goto yy503; + if (yych == 'L') goto yy500; + if (yych == 'l') goto yy500; goto yy358; -yy495: +yy492: yych = *++p; if (yych == 'G') goto yy392; if (yych == 'g') goto yy392; goto yy358; -yy496: +yy493: yych = *++p; - if (yych == 'S') goto yy507; - if (yych == 's') goto yy507; + if (yych == 'S') goto yy504; + if (yych == 's') goto yy504; goto yy358; -yy497: +yy494: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5938,92 +5926,92 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'S') goto yy507; - if (yych == 's') goto yy507; + if (yych <= 'S') goto yy504; + if (yych == 's') goto yy504; goto yy358; } } +yy495: + yych = *++p; + if (yych == 'T') goto yy505; + if (yych == 't') goto yy505; + goto yy358; +yy496: + yych = *++p; + if (yych == 'M') goto yy506; + if (yych == 'm') goto yy506; + goto yy358; +yy497: + yych = *++p; + if (yych == 'T') goto yy450; + if (yych == 't') goto yy450; + goto yy358; yy498: yych = *++p; - if (yych == 'T') goto yy508; - if (yych == 't') goto yy508; + if (yych == 'R') goto yy431; + if (yych == 'r') goto yy431; goto yy358; yy499: yych = *++p; - if (yych == 'M') goto yy509; - if (yych == 'm') goto yy509; + if (yych == 'A') goto yy507; + if (yych == 'a') goto yy507; goto yy358; yy500: yych = *++p; - if (yych == 'T') goto yy451; - if (yych == 't') goto yy451; + if (yych == 'S') goto yy392; + if (yych == 's') goto yy392; goto yy358; yy501: yych = *++p; - if (yych == 'R') goto yy432; - if (yych == 'r') goto yy432; + if (yych == 'N') goto yy483; + if (yych == 'n') goto yy483; goto yy358; yy502: yych = *++p; - if (yych == 'A') goto yy510; - if (yych == 'a') goto yy510; + if (yych == 'U') goto yy508; + if (yych == 'u') goto yy508; goto yy358; yy503: yych = *++p; - if (yych == 'S') goto yy392; - if (yych == 's') goto yy392; + if (yych == 'U') goto yy509; + if (yych == 'u') goto yy509; goto yy358; yy504: yych = *++p; - if (yych == 'N') goto yy486; - if (yych == 'n') goto yy486; + if (yych == 'E') goto yy483; + if (yych == 'e') goto yy483; goto yy358; yy505: yych = *++p; - if (yych == 'U') goto yy511; - if (yych == 'u') goto yy511; + if (yych == 'E') goto yy439; + if (yych == 'e') goto yy439; goto yy358; yy506: yych = *++p; - if (yych == 'U') goto yy512; - if (yych == 'u') goto yy512; + if (yych == 'E') goto yy500; + if (yych == 'e') goto yy500; goto yy358; yy507: yych = *++p; - if (yych == 'E') goto yy486; - if (yych == 'e') goto yy486; + if (yych == '[') goto yy510; goto yy358; yy508: yych = *++p; - if (yych == 'E') goto yy440; - if (yych == 'e') goto yy440; + if (yych == 'O') goto yy512; + if (yych == 'o') goto yy512; goto yy358; yy509: - yych = *++p; - if (yych == 'E') goto yy503; - if (yych == 'e') goto yy503; - goto yy358; -yy510: - yych = *++p; - if (yych == '[') goto yy513; - goto yy358; -yy511: - yych = *++p; - if (yych == 'O') goto yy515; - if (yych == 'o') goto yy515; - goto yy358; -yy512: yych = *++p; if (yych == 'P') goto yy392; if (yych == 'p') goto yy392; goto yy358; -yy513: +yy510: ++p; { return 5; } -yy515: +yy512: yych = *++p; - if (yych == 'T') goto yy463; - if (yych == 't') goto yy463; + if (yych == 'T') goto yy461; + if (yych == 't') goto yy461; goto yy358; } @@ -6073,421 +6061,421 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '<') goto yy520; + if (yych == '<') goto yy517; ++p; -yy519: +yy516: { return 0; } -yy520: +yy517: yyaccept = 0; yych = *(marker = ++p); if (yych <= '@') { - if (yych != '/') goto yy519; + if (yych != '/') goto yy516; } else { - if (yych <= 'Z') goto yy523; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy523; - goto yy519; + if (yych <= 'Z') goto yy520; + if (yych <= '`') goto yy516; + if (yych <= 'z') goto yy520; + goto yy516; } yych = *++p; - if (yych <= '@') goto yy522; - if (yych <= 'Z') goto yy525; - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy525; -yy522: + if (yych <= '@') goto yy519; + if (yych <= 'Z') goto yy522; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy522; +yy519: p = marker; if (yyaccept == 0) { - goto yy519; + goto yy516; } else { - goto yy538; + goto yy535; } -yy523: +yy520: yych = *++p; if (yybm[0+yych] & 2) { - goto yy527; + goto yy524; } if (yych <= '=') { if (yych <= '.') { - if (yych == '-') goto yy523; - goto yy522; + if (yych == '-') goto yy520; + goto yy519; } else { - if (yych <= '/') goto yy529; - if (yych <= '9') goto yy523; - goto yy522; + if (yych <= '/') goto yy526; + if (yych <= '9') goto yy520; + goto yy519; } } else { if (yych <= 'Z') { - if (yych <= '>') goto yy530; - if (yych <= '@') goto yy522; - goto yy523; + if (yych <= '>') goto yy527; + if (yych <= '@') goto yy519; + goto yy520; } else { - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy523; - goto yy522; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy520; + goto yy519; } } -yy525: +yy522: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy532; - goto yy522; + if (yych <= 0x08) goto yy519; + if (yych <= '\r') goto yy529; + goto yy519; } else { - if (yych <= ' ') goto yy532; - if (yych == '-') goto yy525; - goto yy522; + if (yych <= ' ') goto yy529; + if (yych == '-') goto yy522; + goto yy519; } } else { if (yych <= '@') { - if (yych <= '9') goto yy525; - if (yych == '>') goto yy530; - goto yy522; + if (yych <= '9') goto yy522; + if (yych == '>') goto yy527; + goto yy519; } else { - if (yych <= 'Z') goto yy525; - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy525; - goto yy522; + if (yych <= 'Z') goto yy522; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy522; + goto yy519; } } -yy527: +yy524: yych = *++p; if (yybm[0+yych] & 2) { - goto yy527; + goto yy524; } if (yych <= '>') { if (yych <= '9') { - if (yych != '/') goto yy522; + if (yych != '/') goto yy519; } else { - if (yych <= ':') goto yy534; - if (yych <= '=') goto yy522; - goto yy530; + if (yych <= ':') goto yy531; + if (yych <= '=') goto yy519; + goto yy527; } } else { if (yych <= '^') { - if (yych <= '@') goto yy522; - if (yych <= 'Z') goto yy534; - goto yy522; + if (yych <= '@') goto yy519; + if (yych <= 'Z') goto yy531; + goto yy519; } else { - if (yych == '`') goto yy522; - if (yych <= 'z') goto yy534; - goto yy522; + if (yych == '`') goto yy519; + if (yych <= 'z') goto yy531; + goto yy519; } } -yy529: +yy526: yych = *++p; - if (yych != '>') goto yy522; -yy530: + if (yych != '>') goto yy519; +yy527: yych = *++p; if (yybm[0+yych] & 4) { - goto yy530; + goto yy527; } - if (yych <= 0x08) goto yy522; - if (yych <= '\n') goto yy536; - if (yych <= '\v') goto yy522; - if (yych <= '\r') goto yy539; - goto yy522; -yy532: + if (yych <= 0x08) goto yy519; + if (yych <= '\n') goto yy533; + if (yych <= '\v') goto yy519; + if (yych <= '\r') goto yy536; + goto yy519; +yy529: yych = *++p; if (yych <= 0x1F) { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy532; - goto yy522; + if (yych <= 0x08) goto yy519; + if (yych <= '\r') goto yy529; + goto yy519; } else { - if (yych <= ' ') goto yy532; - if (yych == '>') goto yy530; - goto yy522; + if (yych <= ' ') goto yy529; + if (yych == '>') goto yy527; + goto yy519; } -yy534: +yy531: yych = *++p; if (yybm[0+yych] & 8) { - goto yy534; + goto yy531; } if (yych <= ',') { if (yych <= '\r') { - if (yych <= 0x08) goto yy522; - goto yy540; + if (yych <= 0x08) goto yy519; + goto yy537; } else { - if (yych == ' ') goto yy540; - goto yy522; + if (yych == ' ') goto yy537; + goto yy519; } } else { if (yych <= '<') { - if (yych <= '/') goto yy529; - goto yy522; + if (yych <= '/') goto yy526; + goto yy519; } else { - if (yych <= '=') goto yy542; - if (yych <= '>') goto yy530; - goto yy522; + if (yych <= '=') goto yy539; + if (yych <= '>') goto yy527; + goto yy519; } } -yy536: +yy533: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 4) { - goto yy530; + goto yy527; } - if (yych <= 0x08) goto yy538; - if (yych <= '\n') goto yy536; - if (yych <= '\v') goto yy538; - if (yych <= '\r') goto yy539; -yy538: + if (yych <= 0x08) goto yy535; + if (yych <= '\n') goto yy533; + if (yych <= '\v') goto yy535; + if (yych <= '\r') goto yy536; +yy535: { return 7; } -yy539: +yy536: ++p; - goto yy538; -yy540: + goto yy535; +yy537: yych = *++p; if (yych <= '<') { if (yych <= ' ') { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy540; - if (yych <= 0x1F) goto yy522; - goto yy540; + if (yych <= 0x08) goto yy519; + if (yych <= '\r') goto yy537; + if (yych <= 0x1F) goto yy519; + goto yy537; } else { if (yych <= '/') { - if (yych <= '.') goto yy522; - goto yy529; + if (yych <= '.') goto yy519; + goto yy526; } else { - if (yych == ':') goto yy534; - goto yy522; + if (yych == ':') goto yy531; + goto yy519; } } } else { if (yych <= 'Z') { - if (yych <= '=') goto yy542; - if (yych <= '>') goto yy530; - if (yych <= '@') goto yy522; - goto yy534; + if (yych <= '=') goto yy539; + if (yych <= '>') goto yy527; + if (yych <= '@') goto yy519; + goto yy531; } else { if (yych <= '_') { - if (yych <= '^') goto yy522; - goto yy534; + if (yych <= '^') goto yy519; + goto yy531; } else { - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy534; - goto yy522; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy531; + goto yy519; } } } -yy542: +yy539: yych = *++p; if (yybm[0+yych] & 32) { - goto yy544; + goto yy541; } if (yych <= 0xE0) { if (yych <= '"') { - if (yych <= 0x00) goto yy522; - if (yych <= ' ') goto yy542; - goto yy546; + if (yych <= 0x00) goto yy519; + if (yych <= ' ') goto yy539; + goto yy543; } else { - if (yych <= '\'') goto yy548; - if (yych <= 0xC1) goto yy522; - if (yych <= 0xDF) goto yy550; - goto yy551; + if (yych <= '\'') goto yy545; + if (yych <= 0xC1) goto yy519; + if (yych <= 0xDF) goto yy547; + goto yy548; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy553; - goto yy552; + if (yych == 0xED) goto yy550; + goto yy549; } else { - if (yych <= 0xF0) goto yy554; - if (yych <= 0xF3) goto yy555; - if (yych <= 0xF4) goto yy556; - goto yy522; + if (yych <= 0xF0) goto yy551; + if (yych <= 0xF3) goto yy552; + if (yych <= 0xF4) goto yy553; + goto yy519; } } -yy544: +yy541: yych = *++p; if (yybm[0+yych] & 32) { - goto yy544; + goto yy541; } if (yych <= 0xE0) { if (yych <= '=') { - if (yych <= 0x00) goto yy522; - if (yych <= ' ') goto yy527; - goto yy522; + if (yych <= 0x00) goto yy519; + if (yych <= ' ') goto yy524; + goto yy519; } else { - if (yych <= '>') goto yy530; - if (yych <= 0xC1) goto yy522; - if (yych <= 0xDF) goto yy550; - goto yy551; + if (yych <= '>') goto yy527; + if (yych <= 0xC1) goto yy519; + if (yych <= 0xDF) goto yy547; + goto yy548; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy553; - goto yy552; + if (yych == 0xED) goto yy550; + goto yy549; } else { - if (yych <= 0xF0) goto yy554; - if (yych <= 0xF3) goto yy555; - if (yych <= 0xF4) goto yy556; - goto yy522; + if (yych <= 0xF0) goto yy551; + if (yych <= 0xF3) goto yy552; + if (yych <= 0xF4) goto yy553; + goto yy519; } } -yy546: +yy543: yych = *++p; if (yybm[0+yych] & 64) { - goto yy546; + goto yy543; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy522; - if (yych <= '"') goto yy557; - goto yy522; + if (yych <= 0x00) goto yy519; + if (yych <= '"') goto yy554; + goto yy519; } else { - if (yych <= 0xDF) goto yy558; - if (yych <= 0xE0) goto yy559; - goto yy560; + if (yych <= 0xDF) goto yy555; + if (yych <= 0xE0) goto yy556; + goto yy557; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy561; - if (yych <= 0xEF) goto yy560; - goto yy562; + if (yych <= 0xED) goto yy558; + if (yych <= 0xEF) goto yy557; + goto yy559; } else { - if (yych <= 0xF3) goto yy563; - if (yych <= 0xF4) goto yy564; - goto yy522; + if (yych <= 0xF3) goto yy560; + if (yych <= 0xF4) goto yy561; + goto yy519; } } -yy548: +yy545: yych = *++p; if (yybm[0+yych] & 128) { - goto yy548; + goto yy545; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy522; - if (yych <= '\'') goto yy557; - goto yy522; + if (yych <= 0x00) goto yy519; + if (yych <= '\'') goto yy554; + goto yy519; } else { - if (yych <= 0xDF) goto yy565; - if (yych <= 0xE0) goto yy566; - goto yy567; + if (yych <= 0xDF) goto yy562; + if (yych <= 0xE0) goto yy563; + goto yy564; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy568; - if (yych <= 0xEF) goto yy567; - goto yy569; + if (yych <= 0xED) goto yy565; + if (yych <= 0xEF) goto yy564; + goto yy566; } else { - if (yych <= 0xF3) goto yy570; - if (yych <= 0xF4) goto yy571; - goto yy522; + if (yych <= 0xF3) goto yy567; + if (yych <= 0xF4) goto yy568; + goto yy519; } } +yy547: + yych = *++p; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy541; + goto yy519; +yy548: + yych = *++p; + if (yych <= 0x9F) goto yy519; + if (yych <= 0xBF) goto yy547; + goto yy519; +yy549: + yych = *++p; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy547; + goto yy519; yy550: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy544; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x9F) goto yy547; + goto yy519; yy551: yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy550; - goto yy522; + if (yych <= 0x8F) goto yy519; + if (yych <= 0xBF) goto yy549; + goto yy519; yy552: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy550; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy549; + goto yy519; yy553: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy550; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x8F) goto yy549; + goto yy519; yy554: yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy552; - goto yy522; + if (yybm[0+yych] & 2) { + goto yy524; + } + if (yych == '/') goto yy526; + if (yych == '>') goto yy527; + goto yy519; yy555: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy552; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy543; + goto yy519; yy556: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy552; - goto yy522; + if (yych <= 0x9F) goto yy519; + if (yych <= 0xBF) goto yy555; + goto yy519; yy557: yych = *++p; - if (yybm[0+yych] & 2) { - goto yy527; - } - if (yych == '/') goto yy529; - if (yych == '>') goto yy530; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy555; + goto yy519; yy558: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy546; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x9F) goto yy555; + goto yy519; yy559: yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy558; - goto yy522; + if (yych <= 0x8F) goto yy519; + if (yych <= 0xBF) goto yy557; + goto yy519; yy560: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy558; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy557; + goto yy519; yy561: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy558; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x8F) goto yy557; + goto yy519; yy562: yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy560; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy545; + goto yy519; yy563: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy560; - goto yy522; + if (yych <= 0x9F) goto yy519; + if (yych <= 0xBF) goto yy562; + goto yy519; yy564: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy560; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy562; + goto yy519; yy565: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy548; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x9F) goto yy562; + goto yy519; yy566: yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy565; - goto yy522; + if (yych <= 0x8F) goto yy519; + if (yych <= 0xBF) goto yy564; + goto yy519; yy567: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy565; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy564; + goto yy519; yy568: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy565; - goto yy522; -yy569: - yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy567; - goto yy522; -yy570: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy567; - goto yy522; -yy571: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy567; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x8F) goto yy564; + goto yy519; } } @@ -6538,634 +6526,634 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= ';') { - if (yych <= 0x00) goto yy574; - if (yych != '\n') goto yy576; + if (yych <= 0x00) goto yy571; + if (yych != '\n') goto yy573; } else { - if (yych <= '<') goto yy577; - if (yych <= 0x7F) goto yy576; - if (yych >= 0xC2) goto yy578; + if (yych <= '<') goto yy574; + if (yych <= 0x7F) goto yy573; + if (yych >= 0xC2) goto yy575; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy579; - if (yych == 0xED) goto yy581; - goto yy580; + if (yych <= 0xE0) goto yy576; + if (yych == 0xED) goto yy578; + goto yy577; } else { - if (yych <= 0xF0) goto yy582; - if (yych <= 0xF3) goto yy583; - if (yych <= 0xF4) goto yy584; + if (yych <= 0xF0) goto yy579; + if (yych <= 0xF3) goto yy580; + if (yych <= 0xF4) goto yy581; } } -yy574: +yy571: ++p; -yy575: +yy572: { return 0; } -yy576: +yy573: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy575; - if (yych <= '\t') goto yy586; - goto yy575; + if (yych <= 0x00) goto yy572; + if (yych <= '\t') goto yy583; + goto yy572; } else { - if (yych <= 0x7F) goto yy586; - if (yych <= 0xC1) goto yy575; - if (yych <= 0xF4) goto yy586; - goto yy575; + if (yych <= 0x7F) goto yy583; + if (yych <= 0xC1) goto yy572; + if (yych <= 0xF4) goto yy583; + goto yy572; } -yy577: +yy574: yyaccept = 0; yych = *(marker = ++p); if (yych <= '.') { - if (yych <= 0x00) goto yy575; - if (yych == '\n') goto yy575; - goto yy586; + if (yych <= 0x00) goto yy572; + if (yych == '\n') goto yy572; + goto yy583; } else { if (yych <= 0x7F) { - if (yych <= '/') goto yy597; - goto yy586; + if (yych <= '/') goto yy594; + goto yy583; } else { - if (yych <= 0xC1) goto yy575; - if (yych <= 0xF4) goto yy586; - goto yy575; + if (yych <= 0xC1) goto yy572; + if (yych <= 0xF4) goto yy583; + goto yy572; } } -yy578: +yy575: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy585; - goto yy575; -yy579: + if (yych <= 0x7F) goto yy572; + if (yych <= 0xBF) goto yy582; + goto yy572; +yy576: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy575; - if (yych <= 0xBF) goto yy590; - goto yy575; -yy580: + if (yych <= 0x9F) goto yy572; + if (yych <= 0xBF) goto yy587; + goto yy572; +yy577: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy590; - goto yy575; -yy581: + if (yych <= 0x7F) goto yy572; + if (yych <= 0xBF) goto yy587; + goto yy572; +yy578: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0x9F) goto yy590; - goto yy575; -yy582: + if (yych <= 0x7F) goto yy572; + if (yych <= 0x9F) goto yy587; + goto yy572; +yy579: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy575; - if (yych <= 0xBF) goto yy592; - goto yy575; -yy583: + if (yych <= 0x8F) goto yy572; + if (yych <= 0xBF) goto yy589; + goto yy572; +yy580: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy592; - goto yy575; -yy584: + if (yych <= 0x7F) goto yy572; + if (yych <= 0xBF) goto yy589; + goto yy572; +yy581: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0x8F) goto yy592; - goto yy575; -yy585: + if (yych <= 0x7F) goto yy572; + if (yych <= 0x8F) goto yy589; + goto yy572; +yy582: yych = *++p; -yy586: +yy583: if (yybm[0+yych] & 64) { - goto yy585; + goto yy582; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy587; - if (yych <= '<') goto yy588; + if (yych <= '\n') goto yy584; + if (yych <= '<') goto yy585; } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + goto yy589; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xED) goto yy590; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; } } -yy587: +yy584: p = marker; if (yyaccept == 0) { - goto yy575; + goto yy572; } else { - goto yy607; + goto yy604; } -yy588: +yy585: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xDF) { if (yych <= '.') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { - if (yych <= '/') goto yy597; - if (yych <= 0x7F) goto yy585; - if (yych <= 0xC1) goto yy587; + if (yych <= '/') goto yy594; + if (yych <= 0x7F) goto yy582; + if (yych <= 0xC1) goto yy584; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy591; - if (yych == 0xED) goto yy593; - goto yy592; + if (yych <= 0xE0) goto yy588; + if (yych == 0xED) goto yy590; + goto yy589; } else { - if (yych <= 0xF0) goto yy594; - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF0) goto yy591; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } +yy587: + yych = *++p; + if (yych <= 0x7F) goto yy584; + if (yych <= 0xBF) goto yy582; + goto yy584; +yy588: + yych = *++p; + if (yych <= 0x9F) goto yy584; + if (yych <= 0xBF) goto yy587; + goto yy584; +yy589: + yych = *++p; + if (yych <= 0x7F) goto yy584; + if (yych <= 0xBF) goto yy587; + goto yy584; yy590: yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy585; - goto yy587; + if (yych <= 0x7F) goto yy584; + if (yych <= 0x9F) goto yy587; + goto yy584; yy591: yych = *++p; - if (yych <= 0x9F) goto yy587; - if (yych <= 0xBF) goto yy590; - goto yy587; + if (yych <= 0x8F) goto yy584; + if (yych <= 0xBF) goto yy589; + goto yy584; yy592: yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy590; - goto yy587; + if (yych <= 0x7F) goto yy584; + if (yych <= 0xBF) goto yy589; + goto yy584; yy593: yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0x9F) goto yy590; - goto yy587; + if (yych <= 0x7F) goto yy584; + if (yych <= 0x8F) goto yy589; + goto yy584; yy594: - yych = *++p; - if (yych <= 0x8F) goto yy587; - if (yych <= 0xBF) goto yy592; - goto yy587; -yy595: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy592; - goto yy587; -yy596: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0x8F) goto yy592; - goto yy587; -yy597: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 's') { if (yych <= 'P') { if (yych <= '\t') { - if (yych <= 0x00) goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + goto yy582; } else { - if (yych <= '\n') goto yy587; - if (yych <= 'O') goto yy585; + if (yych <= '\n') goto yy584; + if (yych <= 'O') goto yy582; } } else { if (yych <= 'o') { - if (yych == 'S') goto yy599; - goto yy585; + if (yych == 'S') goto yy596; + goto yy582; } else { - if (yych <= 'p') goto yy598; - if (yych <= 'r') goto yy585; - goto yy599; + if (yych <= 'p') goto yy595; + if (yych <= 'r') goto yy582; + goto yy596; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 0x7F) goto yy582; + goto yy584; } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + goto yy589; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xED) goto yy590; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy598: +yy595: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'Q') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'q') { - if (yych <= 'R') goto yy600; - goto yy585; + if (yych <= 'R') goto yy597; + goto yy582; } else { - if (yych <= 'r') goto yy600; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'r') goto yy597; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy599: +yy596: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 't') { if (yych <= 'C') { if (yych <= '\t') { - if (yych <= 0x00) goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + goto yy582; } else { - if (yych <= '\n') goto yy587; - if (yych <= 'B') goto yy585; - goto yy601; + if (yych <= '\n') goto yy584; + if (yych <= 'B') goto yy582; + goto yy598; } } else { if (yych <= 'b') { - if (yych == 'T') goto yy602; - goto yy585; + if (yych == 'T') goto yy599; + goto yy582; } else { - if (yych <= 'c') goto yy601; - if (yych <= 's') goto yy585; - goto yy602; + if (yych <= 'c') goto yy598; + if (yych <= 's') goto yy582; + goto yy599; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 0x7F) goto yy582; + goto yy584; } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + goto yy589; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xED) goto yy590; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy600: +yy597: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'D') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'd') { - if (yych <= 'E') goto yy603; - goto yy585; + if (yych <= 'E') goto yy600; + goto yy582; } else { - if (yych <= 'e') goto yy603; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'e') goto yy600; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy601: +yy598: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'Q') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'q') { - if (yych <= 'R') goto yy604; - goto yy585; + if (yych <= 'R') goto yy601; + goto yy582; } else { - if (yych <= 'r') goto yy604; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'r') goto yy601; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy602: +yy599: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'X') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'x') { - if (yych <= 'Y') goto yy605; - goto yy585; + if (yych <= 'Y') goto yy602; + goto yy582; } else { - if (yych <= 'y') goto yy605; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'y') goto yy602; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy603: +yy600: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { - if (yych <= '>') goto yy606; - if (yych <= 0x7F) goto yy585; - if (yych <= 0xC1) goto yy587; - goto yy590; + if (yych <= '>') goto yy603; + if (yych <= 0x7F) goto yy582; + if (yych <= 0xC1) goto yy584; + goto yy587; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy591; - if (yych == 0xED) goto yy593; - goto yy592; + if (yych <= 0xE0) goto yy588; + if (yych == 0xED) goto yy590; + goto yy589; } else { - if (yych <= 0xF0) goto yy594; - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF0) goto yy591; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } -yy604: +yy601: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'H') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'h') { - if (yych <= 'I') goto yy608; - goto yy585; + if (yych <= 'I') goto yy605; + goto yy582; } else { - if (yych <= 'i') goto yy608; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'i') goto yy605; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy605: +yy602: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'K') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'k') { - if (yych <= 'L') goto yy600; - goto yy585; + if (yych <= 'L') goto yy597; + goto yy582; } else { - if (yych <= 'l') goto yy600; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'l') goto yy597; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy606: +yy603: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy585; + goto yy582; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy607; - if (yych <= '<') goto yy588; + if (yych <= '\n') goto yy604; + if (yych <= '<') goto yy585; } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + goto yy589; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xED) goto yy590; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; } } -yy607: +yy604: { return (bufsize_t)(p - start); } -yy608: +yy605: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'O') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'o') { - if (yych >= 'Q') goto yy585; + if (yych >= 'Q') goto yy582; } else { - if (yych <= 'p') goto yy609; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'p') goto yy606; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy609: +yy606: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'S') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 's') { - if (yych <= 'T') goto yy603; - goto yy585; + if (yych <= 'T') goto yy600; + goto yy582; } else { - if (yych <= 't') goto yy603; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 't') goto yy600; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } @@ -7219,246 +7207,246 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= ',') { - if (yych <= 0x00) goto yy612; - if (yych != '\n') goto yy614; + if (yych <= 0x00) goto yy609; + if (yych != '\n') goto yy611; } else { - if (yych <= '-') goto yy615; - if (yych <= 0x7F) goto yy614; - if (yych >= 0xC2) goto yy616; + if (yych <= '-') goto yy612; + if (yych <= 0x7F) goto yy611; + if (yych >= 0xC2) goto yy613; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy617; - if (yych == 0xED) goto yy619; - goto yy618; + if (yych <= 0xE0) goto yy614; + if (yych == 0xED) goto yy616; + goto yy615; } else { - if (yych <= 0xF0) goto yy620; - if (yych <= 0xF3) goto yy621; - if (yych <= 0xF4) goto yy622; + if (yych <= 0xF0) goto yy617; + if (yych <= 0xF3) goto yy618; + if (yych <= 0xF4) goto yy619; } } -yy612: +yy609: ++p; -yy613: +yy610: { return 0; } -yy614: +yy611: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy613; - if (yych <= '\t') goto yy624; - goto yy613; + if (yych <= 0x00) goto yy610; + if (yych <= '\t') goto yy621; + goto yy610; } else { - if (yych <= 0x7F) goto yy624; - if (yych <= 0xC1) goto yy613; - if (yych <= 0xF4) goto yy624; - goto yy613; + if (yych <= 0x7F) goto yy621; + if (yych <= 0xC1) goto yy610; + if (yych <= 0xF4) goto yy621; + goto yy610; } -yy615: +yy612: yyaccept = 0; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy634; + goto yy631; } if (yych <= '\n') { - if (yych <= 0x00) goto yy613; - if (yych <= '\t') goto yy624; - goto yy613; + if (yych <= 0x00) goto yy610; + if (yych <= '\t') goto yy621; + goto yy610; } else { - if (yych <= 0x7F) goto yy624; - if (yych <= 0xC1) goto yy613; - if (yych <= 0xF4) goto yy624; - goto yy613; + if (yych <= 0x7F) goto yy621; + if (yych <= 0xC1) goto yy610; + if (yych <= 0xF4) goto yy621; + goto yy610; } -yy616: +yy613: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy623; - goto yy613; -yy617: + if (yych <= 0x7F) goto yy610; + if (yych <= 0xBF) goto yy620; + goto yy610; +yy614: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy613; - if (yych <= 0xBF) goto yy627; - goto yy613; -yy618: + if (yych <= 0x9F) goto yy610; + if (yych <= 0xBF) goto yy624; + goto yy610; +yy615: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy627; - goto yy613; -yy619: + if (yych <= 0x7F) goto yy610; + if (yych <= 0xBF) goto yy624; + goto yy610; +yy616: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0x9F) goto yy627; - goto yy613; -yy620: + if (yych <= 0x7F) goto yy610; + if (yych <= 0x9F) goto yy624; + goto yy610; +yy617: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy613; - if (yych <= 0xBF) goto yy629; - goto yy613; -yy621: + if (yych <= 0x8F) goto yy610; + if (yych <= 0xBF) goto yy626; + goto yy610; +yy618: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy629; - goto yy613; -yy622: + if (yych <= 0x7F) goto yy610; + if (yych <= 0xBF) goto yy626; + goto yy610; +yy619: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0x8F) goto yy629; - goto yy613; -yy623: + if (yych <= 0x7F) goto yy610; + if (yych <= 0x8F) goto yy626; + goto yy610; +yy620: yych = *++p; -yy624: +yy621: if (yybm[0+yych] & 64) { - goto yy623; + goto yy620; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy625; - if (yych <= '-') goto yy626; + if (yych <= '\n') goto yy622; + if (yych <= '-') goto yy623; } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; + if (yych <= 0xDF) goto yy624; + if (yych <= 0xE0) goto yy625; + goto yy626; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; + if (yych <= 0xED) goto yy627; + if (yych <= 0xEF) goto yy626; + goto yy628; } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; + if (yych <= 0xF3) goto yy629; + if (yych <= 0xF4) goto yy630; } } -yy625: +yy622: p = marker; if (yyaccept == 0) { - goto yy613; + goto yy610; } else { - goto yy637; + goto yy634; } -yy626: +yy623: yych = *++p; if (yybm[0+yych] & 64) { - goto yy623; + goto yy620; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy625; - if (yych <= '-') goto yy634; - goto yy625; + if (yych <= '\n') goto yy622; + if (yych <= '-') goto yy631; + goto yy622; } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; + if (yych <= 0xDF) goto yy624; + if (yych <= 0xE0) goto yy625; + goto yy626; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; + if (yych <= 0xED) goto yy627; + if (yych <= 0xEF) goto yy626; + goto yy628; } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; - goto yy625; + if (yych <= 0xF3) goto yy629; + if (yych <= 0xF4) goto yy630; + goto yy622; } } +yy624: + yych = *++p; + if (yych <= 0x7F) goto yy622; + if (yych <= 0xBF) goto yy620; + goto yy622; +yy625: + yych = *++p; + if (yych <= 0x9F) goto yy622; + if (yych <= 0xBF) goto yy624; + goto yy622; +yy626: + yych = *++p; + if (yych <= 0x7F) goto yy622; + if (yych <= 0xBF) goto yy624; + goto yy622; yy627: yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy623; - goto yy625; + if (yych <= 0x7F) goto yy622; + if (yych <= 0x9F) goto yy624; + goto yy622; yy628: yych = *++p; - if (yych <= 0x9F) goto yy625; - if (yych <= 0xBF) goto yy627; - goto yy625; + if (yych <= 0x8F) goto yy622; + if (yych <= 0xBF) goto yy626; + goto yy622; yy629: yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy627; - goto yy625; + if (yych <= 0x7F) goto yy622; + if (yych <= 0xBF) goto yy626; + goto yy622; yy630: yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0x9F) goto yy627; - goto yy625; + if (yych <= 0x7F) goto yy622; + if (yych <= 0x8F) goto yy626; + goto yy622; yy631: - yych = *++p; - if (yych <= 0x8F) goto yy625; - if (yych <= 0xBF) goto yy629; - goto yy625; -yy632: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy629; - goto yy625; -yy633: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0x8F) goto yy629; - goto yy625; -yy634: yych = *++p; if (yybm[0+yych] & 128) { - goto yy634; + goto yy631; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy625; - if (yych == '\n') goto yy625; - goto yy623; + if (yych <= 0x00) goto yy622; + if (yych == '\n') goto yy622; + goto yy620; } else { - if (yych <= '>') goto yy636; - if (yych <= 0x7F) goto yy623; - if (yych <= 0xC1) goto yy625; - goto yy627; + if (yych <= '>') goto yy633; + if (yych <= 0x7F) goto yy620; + if (yych <= 0xC1) goto yy622; + goto yy624; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy628; - if (yych == 0xED) goto yy630; - goto yy629; + if (yych <= 0xE0) goto yy625; + if (yych == 0xED) goto yy627; + goto yy626; } else { - if (yych <= 0xF0) goto yy631; - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; - goto yy625; + if (yych <= 0xF0) goto yy628; + if (yych <= 0xF3) goto yy629; + if (yych <= 0xF4) goto yy630; + goto yy622; } } -yy636: +yy633: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy623; + goto yy620; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy637; - if (yych <= '-') goto yy626; + if (yych <= '\n') goto yy634; + if (yych <= '-') goto yy623; } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; + if (yych <= 0xDF) goto yy624; + if (yych <= 0xE0) goto yy625; + goto yy626; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; + if (yych <= 0xED) goto yy627; + if (yych <= 0xEF) goto yy626; + goto yy628; } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; + if (yych <= 0xF3) goto yy629; + if (yych <= 0xF4) goto yy630; } } -yy637: +yy634: { return (bufsize_t)(p - start); } } @@ -7510,220 +7498,220 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= '>') { - if (yych <= 0x00) goto yy640; - if (yych != '\n') goto yy642; + if (yych <= 0x00) goto yy637; + if (yych != '\n') goto yy639; } else { - if (yych <= '?') goto yy643; - if (yych <= 0x7F) goto yy642; - if (yych >= 0xC2) goto yy644; + if (yych <= '?') goto yy640; + if (yych <= 0x7F) goto yy639; + if (yych >= 0xC2) goto yy641; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy645; - if (yych == 0xED) goto yy647; - goto yy646; + if (yych <= 0xE0) goto yy642; + if (yych == 0xED) goto yy644; + goto yy643; } else { - if (yych <= 0xF0) goto yy648; - if (yych <= 0xF3) goto yy649; - if (yych <= 0xF4) goto yy650; + if (yych <= 0xF0) goto yy645; + if (yych <= 0xF3) goto yy646; + if (yych <= 0xF4) goto yy647; } } -yy640: +yy637: ++p; -yy641: +yy638: { return 0; } -yy642: +yy639: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy641; - if (yych <= '\t') goto yy652; - goto yy641; + if (yych <= 0x00) goto yy638; + if (yych <= '\t') goto yy649; + goto yy638; } else { - if (yych <= 0x7F) goto yy652; - if (yych <= 0xC1) goto yy641; - if (yych <= 0xF4) goto yy652; - goto yy641; + if (yych <= 0x7F) goto yy649; + if (yych <= 0xC1) goto yy638; + if (yych <= 0xF4) goto yy649; + goto yy638; } -yy643: +yy640: yyaccept = 0; yych = *(marker = ++p); if (yych <= '=') { - if (yych <= 0x00) goto yy641; - if (yych == '\n') goto yy641; - goto yy652; + if (yych <= 0x00) goto yy638; + if (yych == '\n') goto yy638; + goto yy649; } else { if (yych <= 0x7F) { - if (yych <= '>') goto yy663; - goto yy652; + if (yych <= '>') goto yy660; + goto yy649; } else { - if (yych <= 0xC1) goto yy641; - if (yych <= 0xF4) goto yy652; - goto yy641; + if (yych <= 0xC1) goto yy638; + if (yych <= 0xF4) goto yy649; + goto yy638; } } -yy644: +yy641: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy651; - goto yy641; -yy645: + if (yych <= 0x7F) goto yy638; + if (yych <= 0xBF) goto yy648; + goto yy638; +yy642: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy641; - if (yych <= 0xBF) goto yy656; - goto yy641; -yy646: + if (yych <= 0x9F) goto yy638; + if (yych <= 0xBF) goto yy653; + goto yy638; +yy643: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy656; - goto yy641; -yy647: + if (yych <= 0x7F) goto yy638; + if (yych <= 0xBF) goto yy653; + goto yy638; +yy644: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0x9F) goto yy656; - goto yy641; -yy648: + if (yych <= 0x7F) goto yy638; + if (yych <= 0x9F) goto yy653; + goto yy638; +yy645: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy641; - if (yych <= 0xBF) goto yy658; - goto yy641; -yy649: + if (yych <= 0x8F) goto yy638; + if (yych <= 0xBF) goto yy655; + goto yy638; +yy646: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy658; - goto yy641; -yy650: + if (yych <= 0x7F) goto yy638; + if (yych <= 0xBF) goto yy655; + goto yy638; +yy647: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0x8F) goto yy658; - goto yy641; -yy651: + if (yych <= 0x7F) goto yy638; + if (yych <= 0x8F) goto yy655; + goto yy638; +yy648: yych = *++p; -yy652: +yy649: if (yybm[0+yych] & 64) { - goto yy651; + goto yy648; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy653; - if (yych <= '?') goto yy654; + if (yych <= '\n') goto yy650; + if (yych <= '?') goto yy651; } else { - if (yych <= 0xDF) goto yy656; - if (yych <= 0xE0) goto yy657; - goto yy658; + if (yych <= 0xDF) goto yy653; + if (yych <= 0xE0) goto yy654; + goto yy655; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy659; - if (yych <= 0xEF) goto yy658; - goto yy660; + if (yych <= 0xED) goto yy656; + if (yych <= 0xEF) goto yy655; + goto yy657; } else { - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; + if (yych <= 0xF3) goto yy658; + if (yych <= 0xF4) goto yy659; } } -yy653: +yy650: p = marker; if (yyaccept == 0) { - goto yy641; + goto yy638; } else { - goto yy664; + goto yy661; } -yy654: +yy651: yych = *++p; if (yybm[0+yych] & 128) { - goto yy654; + goto yy651; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy653; - if (yych == '\n') goto yy653; - goto yy651; + if (yych <= 0x00) goto yy650; + if (yych == '\n') goto yy650; + goto yy648; } else { - if (yych <= '>') goto yy663; - if (yych <= 0x7F) goto yy651; - if (yych <= 0xC1) goto yy653; + if (yych <= '>') goto yy660; + if (yych <= 0x7F) goto yy648; + if (yych <= 0xC1) goto yy650; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy657; - if (yych == 0xED) goto yy659; - goto yy658; + if (yych <= 0xE0) goto yy654; + if (yych == 0xED) goto yy656; + goto yy655; } else { - if (yych <= 0xF0) goto yy660; - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; - goto yy653; + if (yych <= 0xF0) goto yy657; + if (yych <= 0xF3) goto yy658; + if (yych <= 0xF4) goto yy659; + goto yy650; } } +yy653: + yych = *++p; + if (yych <= 0x7F) goto yy650; + if (yych <= 0xBF) goto yy648; + goto yy650; +yy654: + yych = *++p; + if (yych <= 0x9F) goto yy650; + if (yych <= 0xBF) goto yy653; + goto yy650; +yy655: + yych = *++p; + if (yych <= 0x7F) goto yy650; + if (yych <= 0xBF) goto yy653; + goto yy650; yy656: yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy651; - goto yy653; + if (yych <= 0x7F) goto yy650; + if (yych <= 0x9F) goto yy653; + goto yy650; yy657: yych = *++p; - if (yych <= 0x9F) goto yy653; - if (yych <= 0xBF) goto yy656; - goto yy653; + if (yych <= 0x8F) goto yy650; + if (yych <= 0xBF) goto yy655; + goto yy650; yy658: yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy656; - goto yy653; + if (yych <= 0x7F) goto yy650; + if (yych <= 0xBF) goto yy655; + goto yy650; yy659: yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0x9F) goto yy656; - goto yy653; + if (yych <= 0x7F) goto yy650; + if (yych <= 0x8F) goto yy655; + goto yy650; yy660: - yych = *++p; - if (yych <= 0x8F) goto yy653; - if (yych <= 0xBF) goto yy658; - goto yy653; -yy661: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy658; - goto yy653; -yy662: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0x8F) goto yy658; - goto yy653; -yy663: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy651; + goto yy648; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy664; - if (yych <= '?') goto yy654; + if (yych <= '\n') goto yy661; + if (yych <= '?') goto yy651; } else { - if (yych <= 0xDF) goto yy656; - if (yych <= 0xE0) goto yy657; - goto yy658; + if (yych <= 0xDF) goto yy653; + if (yych <= 0xE0) goto yy654; + goto yy655; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy659; - if (yych <= 0xEF) goto yy658; - goto yy660; + if (yych <= 0xED) goto yy656; + if (yych <= 0xEF) goto yy655; + goto yy657; } else { - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; + if (yych <= 0xF3) goto yy658; + if (yych <= 0xF4) goto yy659; } } -yy664: +yy661: { return (bufsize_t)(p - start); } } @@ -7774,181 +7762,181 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) }; yych = *p; if (yybm[0+yych] & 64) { - goto yy670; + goto yy667; } if (yych <= 0xE0) { if (yych <= '\n') { - if (yych <= 0x00) goto yy667; - if (yych <= '\t') goto yy669; + if (yych <= 0x00) goto yy664; + if (yych <= '\t') goto yy666; } else { - if (yych <= 0x7F) goto yy669; - if (yych <= 0xC1) goto yy667; - if (yych <= 0xDF) goto yy673; - goto yy674; + if (yych <= 0x7F) goto yy666; + if (yych <= 0xC1) goto yy664; + if (yych <= 0xDF) goto yy670; + goto yy671; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy676; - goto yy675; + if (yych == 0xED) goto yy673; + goto yy672; } else { - if (yych <= 0xF0) goto yy677; - if (yych <= 0xF3) goto yy678; - if (yych <= 0xF4) goto yy679; + if (yych <= 0xF0) goto yy674; + if (yych <= 0xF3) goto yy675; + if (yych <= 0xF4) goto yy676; } } -yy667: +yy664: ++p; -yy668: +yy665: { return 0; } -yy669: +yy666: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy668; - if (yych <= '\t') goto yy681; - goto yy668; + if (yych <= 0x00) goto yy665; + if (yych <= '\t') goto yy678; + goto yy665; } else { - if (yych <= 0x7F) goto yy681; - if (yych <= 0xC1) goto yy668; - if (yych <= 0xF4) goto yy681; - goto yy668; + if (yych <= 0x7F) goto yy678; + if (yych <= 0xC1) goto yy665; + if (yych <= 0xF4) goto yy678; + goto yy665; } -yy670: +yy667: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy680; + goto yy677; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy672; - if (yych <= '>') goto yy670; + if (yych <= '\n') goto yy669; + if (yych <= '>') goto yy667; } else { - if (yych <= 0xDF) goto yy683; - if (yych <= 0xE0) goto yy684; - goto yy685; + if (yych <= 0xDF) goto yy680; + if (yych <= 0xE0) goto yy681; + goto yy682; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy686; - if (yych <= 0xEF) goto yy685; - goto yy687; + if (yych <= 0xED) goto yy683; + if (yych <= 0xEF) goto yy682; + goto yy684; } else { - if (yych <= 0xF3) goto yy688; - if (yych <= 0xF4) goto yy689; + if (yych <= 0xF3) goto yy685; + if (yych <= 0xF4) goto yy686; } } -yy672: +yy669: { return (bufsize_t)(p - start); } -yy673: +yy670: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy680; - goto yy668; -yy674: + if (yych <= 0x7F) goto yy665; + if (yych <= 0xBF) goto yy677; + goto yy665; +yy671: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy668; - if (yych <= 0xBF) goto yy683; - goto yy668; -yy675: + if (yych <= 0x9F) goto yy665; + if (yych <= 0xBF) goto yy680; + goto yy665; +yy672: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy683; - goto yy668; -yy676: + if (yych <= 0x7F) goto yy665; + if (yych <= 0xBF) goto yy680; + goto yy665; +yy673: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0x9F) goto yy683; - goto yy668; -yy677: + if (yych <= 0x7F) goto yy665; + if (yych <= 0x9F) goto yy680; + goto yy665; +yy674: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy668; - if (yych <= 0xBF) goto yy685; - goto yy668; -yy678: + if (yych <= 0x8F) goto yy665; + if (yych <= 0xBF) goto yy682; + goto yy665; +yy675: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy685; - goto yy668; -yy679: + if (yych <= 0x7F) goto yy665; + if (yych <= 0xBF) goto yy682; + goto yy665; +yy676: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0x8F) goto yy685; - goto yy668; -yy680: + if (yych <= 0x7F) goto yy665; + if (yych <= 0x8F) goto yy682; + goto yy665; +yy677: yych = *++p; -yy681: +yy678: if (yybm[0+yych] & 128) { - goto yy680; + goto yy677; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy682; - if (yych <= '>') goto yy670; + if (yych <= '\n') goto yy679; + if (yych <= '>') goto yy667; } else { - if (yych <= 0xDF) goto yy683; - if (yych <= 0xE0) goto yy684; - goto yy685; + if (yych <= 0xDF) goto yy680; + if (yych <= 0xE0) goto yy681; + goto yy682; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy686; - if (yych <= 0xEF) goto yy685; - goto yy687; + if (yych <= 0xED) goto yy683; + if (yych <= 0xEF) goto yy682; + goto yy684; } else { - if (yych <= 0xF3) goto yy688; - if (yych <= 0xF4) goto yy689; + if (yych <= 0xF3) goto yy685; + if (yych <= 0xF4) goto yy686; } } -yy682: +yy679: p = marker; if (yyaccept == 0) { - goto yy668; + goto yy665; } else { - goto yy672; + goto yy669; } -yy683: +yy680: + yych = *++p; + if (yych <= 0x7F) goto yy679; + if (yych <= 0xBF) goto yy677; + goto yy679; +yy681: + yych = *++p; + if (yych <= 0x9F) goto yy679; + if (yych <= 0xBF) goto yy680; + goto yy679; +yy682: yych = *++p; - if (yych <= 0x7F) goto yy682; + if (yych <= 0x7F) goto yy679; if (yych <= 0xBF) goto yy680; - goto yy682; + goto yy679; +yy683: + yych = *++p; + if (yych <= 0x7F) goto yy679; + if (yych <= 0x9F) goto yy680; + goto yy679; yy684: yych = *++p; - if (yych <= 0x9F) goto yy682; - if (yych <= 0xBF) goto yy683; - goto yy682; + if (yych <= 0x8F) goto yy679; + if (yych <= 0xBF) goto yy682; + goto yy679; yy685: yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0xBF) goto yy683; - goto yy682; + if (yych <= 0x7F) goto yy679; + if (yych <= 0xBF) goto yy682; + goto yy679; yy686: yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0x9F) goto yy683; - goto yy682; -yy687: - yych = *++p; + if (yych <= 0x7F) goto yy679; if (yych <= 0x8F) goto yy682; - if (yych <= 0xBF) goto yy685; - goto yy682; -yy688: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0xBF) goto yy685; - goto yy682; -yy689: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0x8F) goto yy685; - goto yy682; + goto yy679; } } @@ -7999,246 +7987,246 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= '\\') { - if (yych <= 0x00) goto yy692; - if (yych != '\n') goto yy694; + if (yych <= 0x00) goto yy689; + if (yych != '\n') goto yy691; } else { - if (yych <= ']') goto yy695; - if (yych <= 0x7F) goto yy694; - if (yych >= 0xC2) goto yy696; + if (yych <= ']') goto yy692; + if (yych <= 0x7F) goto yy691; + if (yych >= 0xC2) goto yy693; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy697; - if (yych == 0xED) goto yy699; - goto yy698; + if (yych <= 0xE0) goto yy694; + if (yych == 0xED) goto yy696; + goto yy695; } else { - if (yych <= 0xF0) goto yy700; - if (yych <= 0xF3) goto yy701; - if (yych <= 0xF4) goto yy702; + if (yych <= 0xF0) goto yy697; + if (yych <= 0xF3) goto yy698; + if (yych <= 0xF4) goto yy699; } } -yy692: +yy689: ++p; -yy693: +yy690: { return 0; } -yy694: +yy691: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy693; - if (yych <= '\t') goto yy704; - goto yy693; + if (yych <= 0x00) goto yy690; + if (yych <= '\t') goto yy701; + goto yy690; } else { - if (yych <= 0x7F) goto yy704; - if (yych <= 0xC1) goto yy693; - if (yych <= 0xF4) goto yy704; - goto yy693; + if (yych <= 0x7F) goto yy701; + if (yych <= 0xC1) goto yy690; + if (yych <= 0xF4) goto yy701; + goto yy690; } -yy695: +yy692: yyaccept = 0; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy714; + goto yy711; } if (yych <= '\n') { - if (yych <= 0x00) goto yy693; - if (yych <= '\t') goto yy704; - goto yy693; + if (yych <= 0x00) goto yy690; + if (yych <= '\t') goto yy701; + goto yy690; } else { - if (yych <= 0x7F) goto yy704; - if (yych <= 0xC1) goto yy693; - if (yych <= 0xF4) goto yy704; - goto yy693; + if (yych <= 0x7F) goto yy701; + if (yych <= 0xC1) goto yy690; + if (yych <= 0xF4) goto yy701; + goto yy690; } -yy696: +yy693: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy703; - goto yy693; -yy697: + if (yych <= 0x7F) goto yy690; + if (yych <= 0xBF) goto yy700; + goto yy690; +yy694: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy693; - if (yych <= 0xBF) goto yy707; - goto yy693; -yy698: + if (yych <= 0x9F) goto yy690; + if (yych <= 0xBF) goto yy704; + goto yy690; +yy695: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy707; - goto yy693; -yy699: + if (yych <= 0x7F) goto yy690; + if (yych <= 0xBF) goto yy704; + goto yy690; +yy696: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0x9F) goto yy707; - goto yy693; -yy700: + if (yych <= 0x7F) goto yy690; + if (yych <= 0x9F) goto yy704; + goto yy690; +yy697: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy693; - if (yych <= 0xBF) goto yy709; - goto yy693; -yy701: + if (yych <= 0x8F) goto yy690; + if (yych <= 0xBF) goto yy706; + goto yy690; +yy698: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy709; - goto yy693; -yy702: + if (yych <= 0x7F) goto yy690; + if (yych <= 0xBF) goto yy706; + goto yy690; +yy699: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0x8F) goto yy709; - goto yy693; -yy703: + if (yych <= 0x7F) goto yy690; + if (yych <= 0x8F) goto yy706; + goto yy690; +yy700: yych = *++p; -yy704: +yy701: if (yybm[0+yych] & 64) { - goto yy703; + goto yy700; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy705; - if (yych <= ']') goto yy706; + if (yych <= '\n') goto yy702; + if (yych <= ']') goto yy703; } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; + if (yych <= 0xDF) goto yy704; + if (yych <= 0xE0) goto yy705; + goto yy706; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; + if (yych <= 0xED) goto yy707; + if (yych <= 0xEF) goto yy706; + goto yy708; } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; + if (yych <= 0xF3) goto yy709; + if (yych <= 0xF4) goto yy710; } } -yy705: +yy702: p = marker; if (yyaccept == 0) { - goto yy693; + goto yy690; } else { - goto yy717; + goto yy714; } -yy706: +yy703: yych = *++p; if (yybm[0+yych] & 64) { - goto yy703; + goto yy700; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy705; - if (yych <= ']') goto yy714; - goto yy705; + if (yych <= '\n') goto yy702; + if (yych <= ']') goto yy711; + goto yy702; } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; + if (yych <= 0xDF) goto yy704; + if (yych <= 0xE0) goto yy705; + goto yy706; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; + if (yych <= 0xED) goto yy707; + if (yych <= 0xEF) goto yy706; + goto yy708; } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; - goto yy705; + if (yych <= 0xF3) goto yy709; + if (yych <= 0xF4) goto yy710; + goto yy702; } } +yy704: + yych = *++p; + if (yych <= 0x7F) goto yy702; + if (yych <= 0xBF) goto yy700; + goto yy702; +yy705: + yych = *++p; + if (yych <= 0x9F) goto yy702; + if (yych <= 0xBF) goto yy704; + goto yy702; +yy706: + yych = *++p; + if (yych <= 0x7F) goto yy702; + if (yych <= 0xBF) goto yy704; + goto yy702; yy707: yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy703; - goto yy705; + if (yych <= 0x7F) goto yy702; + if (yych <= 0x9F) goto yy704; + goto yy702; yy708: yych = *++p; - if (yych <= 0x9F) goto yy705; - if (yych <= 0xBF) goto yy707; - goto yy705; + if (yych <= 0x8F) goto yy702; + if (yych <= 0xBF) goto yy706; + goto yy702; yy709: yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy707; - goto yy705; + if (yych <= 0x7F) goto yy702; + if (yych <= 0xBF) goto yy706; + goto yy702; yy710: yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0x9F) goto yy707; - goto yy705; + if (yych <= 0x7F) goto yy702; + if (yych <= 0x8F) goto yy706; + goto yy702; yy711: - yych = *++p; - if (yych <= 0x8F) goto yy705; - if (yych <= 0xBF) goto yy709; - goto yy705; -yy712: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy709; - goto yy705; -yy713: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0x8F) goto yy709; - goto yy705; -yy714: yych = *++p; if (yybm[0+yych] & 128) { - goto yy714; + goto yy711; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy705; - if (yych == '\n') goto yy705; - goto yy703; + if (yych <= 0x00) goto yy702; + if (yych == '\n') goto yy702; + goto yy700; } else { - if (yych <= '>') goto yy716; - if (yych <= 0x7F) goto yy703; - if (yych <= 0xC1) goto yy705; - goto yy707; + if (yych <= '>') goto yy713; + if (yych <= 0x7F) goto yy700; + if (yych <= 0xC1) goto yy702; + goto yy704; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy708; - if (yych == 0xED) goto yy710; - goto yy709; + if (yych <= 0xE0) goto yy705; + if (yych == 0xED) goto yy707; + goto yy706; } else { - if (yych <= 0xF0) goto yy711; - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; - goto yy705; + if (yych <= 0xF0) goto yy708; + if (yych <= 0xF3) goto yy709; + if (yych <= 0xF4) goto yy710; + goto yy702; } } -yy716: +yy713: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy703; + goto yy700; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy717; - if (yych <= ']') goto yy706; + if (yych <= '\n') goto yy714; + if (yych <= ']') goto yy703; } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; + if (yych <= 0xDF) goto yy704; + if (yych <= 0xE0) goto yy705; + goto yy706; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; + if (yych <= 0xED) goto yy707; + if (yych <= 0xEF) goto yy706; + goto yy708; } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; + if (yych <= 0xF3) goto yy709; + if (yych <= 0xF4) goto yy710; } } -yy717: +yy714: { return (bufsize_t)(p - start); } } @@ -8291,406 +8279,406 @@ bufsize_t _scan_link_title(const unsigned char *p) }; yych = *p; if (yych <= '&') { - if (yych == '"') goto yy722; + if (yych == '"') goto yy719; } else { - if (yych <= '\'') goto yy723; - if (yych <= '(') goto yy724; + if (yych <= '\'') goto yy720; + if (yych <= '(') goto yy721; } ++p; -yy721: +yy718: { return 0; } -yy722: +yy719: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x00) goto yy721; - if (yych <= 0x7F) goto yy726; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy726; - goto yy721; -yy723: + if (yych <= 0x00) goto yy718; + if (yych <= 0x7F) goto yy723; + if (yych <= 0xC1) goto yy718; + if (yych <= 0xF4) goto yy723; + goto yy718; +yy720: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x00) goto yy721; - if (yych <= 0x7F) goto yy740; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy740; - goto yy721; -yy724: + if (yych <= 0x00) goto yy718; + if (yych <= 0x7F) goto yy737; + if (yych <= 0xC1) goto yy718; + if (yych <= 0xF4) goto yy737; + goto yy718; +yy721: yyaccept = 0; yych = *(marker = ++p); if (yych <= '(') { - if (yych <= 0x00) goto yy721; - if (yych <= '\'') goto yy753; - goto yy721; + if (yych <= 0x00) goto yy718; + if (yych <= '\'') goto yy750; + goto yy718; } else { - if (yych <= 0x7F) goto yy753; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy753; - goto yy721; + if (yych <= 0x7F) goto yy750; + if (yych <= 0xC1) goto yy718; + if (yych <= 0xF4) goto yy750; + goto yy718; } -yy725: +yy722: yych = *++p; -yy726: +yy723: if (yybm[0+yych] & 16) { - goto yy725; + goto yy722; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '"') goto yy728; - goto yy730; + if (yych <= 0x00) goto yy724; + if (yych <= '"') goto yy725; + goto yy727; } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy732; - goto yy733; + if (yych <= 0xC1) goto yy724; + if (yych <= 0xDF) goto yy729; + goto yy730; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; + if (yych == 0xED) goto yy732; + goto yy731; } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; + if (yych <= 0xF0) goto yy733; + if (yych <= 0xF3) goto yy734; + if (yych <= 0xF4) goto yy735; } } -yy727: +yy724: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { - goto yy721; + goto yy718; } else { - goto yy729; + goto yy726; } } else { if (yyaccept == 2) { - goto yy742; + goto yy739; } else { - goto yy755; + goto yy752; } } -yy728: +yy725: ++p; -yy729: +yy726: { return (bufsize_t)(p - start); } -yy730: +yy727: yych = *++p; if (yybm[0+yych] & 16) { - goto yy725; + goto yy722; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '"') goto yy765; - goto yy730; + if (yych <= 0x00) goto yy724; + if (yych <= '"') goto yy762; + goto yy727; } else { - if (yych <= 0xC1) goto yy727; - if (yych >= 0xE0) goto yy733; + if (yych <= 0xC1) goto yy724; + if (yych >= 0xE0) goto yy730; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; + if (yych == 0xED) goto yy732; + goto yy731; } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; - goto yy727; + if (yych <= 0xF0) goto yy733; + if (yych <= 0xF3) goto yy734; + if (yych <= 0xF4) goto yy735; + goto yy724; } } +yy729: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy722; + goto yy724; +yy730: + yych = *++p; + if (yych <= 0x9F) goto yy724; + if (yych <= 0xBF) goto yy729; + goto yy724; +yy731: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy729; + goto yy724; yy732: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy725; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x9F) goto yy729; + goto yy724; yy733: yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy732; - goto yy727; + if (yych <= 0x8F) goto yy724; + if (yych <= 0xBF) goto yy731; + goto yy724; yy734: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy732; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy731; + goto yy724; yy735: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy732; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x8F) goto yy731; + goto yy724; yy736: yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy734; - goto yy727; yy737: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy734; - goto yy727; -yy738: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy734; - goto yy727; -yy739: - yych = *++p; -yy740: if (yybm[0+yych] & 64) { - goto yy739; + goto yy736; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych >= '(') goto yy743; + if (yych <= 0x00) goto yy724; + if (yych >= '(') goto yy740; } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy745; - goto yy746; + if (yych <= 0xC1) goto yy724; + if (yych <= 0xDF) goto yy742; + goto yy743; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; + if (yych == 0xED) goto yy745; + goto yy744; } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy727; + if (yych <= 0xF0) goto yy746; + if (yych <= 0xF3) goto yy747; + if (yych <= 0xF4) goto yy748; + goto yy724; } } -yy741: +yy738: ++p; -yy742: +yy739: { return (bufsize_t)(p - start); } -yy743: +yy740: yych = *++p; if (yybm[0+yych] & 64) { - goto yy739; + goto yy736; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '\'') goto yy766; - goto yy743; + if (yych <= 0x00) goto yy724; + if (yych <= '\'') goto yy763; + goto yy740; } else { - if (yych <= 0xC1) goto yy727; - if (yych >= 0xE0) goto yy746; + if (yych <= 0xC1) goto yy724; + if (yych >= 0xE0) goto yy743; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; + if (yych == 0xED) goto yy745; + goto yy744; } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy727; + if (yych <= 0xF0) goto yy746; + if (yych <= 0xF3) goto yy747; + if (yych <= 0xF4) goto yy748; + goto yy724; } } +yy742: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy736; + goto yy724; +yy743: + yych = *++p; + if (yych <= 0x9F) goto yy724; + if (yych <= 0xBF) goto yy742; + goto yy724; +yy744: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy742; + goto yy724; yy745: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy739; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x9F) goto yy742; + goto yy724; yy746: yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy745; - goto yy727; + if (yych <= 0x8F) goto yy724; + if (yych <= 0xBF) goto yy744; + goto yy724; yy747: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy745; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy744; + goto yy724; yy748: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy745; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x8F) goto yy744; + goto yy724; yy749: yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy747; - goto yy727; yy750: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy747; - goto yy727; -yy751: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy747; - goto yy727; -yy752: - yych = *++p; -yy753: if (yybm[0+yych] & 128) { - goto yy752; + goto yy749; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= '(') goto yy727; - if (yych >= '*') goto yy756; + if (yych <= '(') goto yy724; + if (yych >= '*') goto yy753; } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy758; - goto yy759; + if (yych <= 0xC1) goto yy724; + if (yych <= 0xDF) goto yy755; + goto yy756; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy761; - goto yy760; + if (yych == 0xED) goto yy758; + goto yy757; } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy727; + if (yych <= 0xF0) goto yy759; + if (yych <= 0xF3) goto yy760; + if (yych <= 0xF4) goto yy761; + goto yy724; } } -yy754: +yy751: ++p; -yy755: +yy752: { return (bufsize_t)(p - start); } -yy756: +yy753: yych = *++p; if (yych <= 0xDF) { if (yych <= '[') { - if (yych <= 0x00) goto yy727; - if (yych == ')') goto yy767; - goto yy752; + if (yych <= 0x00) goto yy724; + if (yych == ')') goto yy764; + goto yy749; } else { - if (yych <= '\\') goto yy756; - if (yych <= 0x7F) goto yy752; - if (yych <= 0xC1) goto yy727; + if (yych <= '\\') goto yy753; + if (yych <= 0x7F) goto yy749; + if (yych <= 0xC1) goto yy724; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy759; - if (yych == 0xED) goto yy761; - goto yy760; + if (yych <= 0xE0) goto yy756; + if (yych == 0xED) goto yy758; + goto yy757; } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy727; + if (yych <= 0xF0) goto yy759; + if (yych <= 0xF3) goto yy760; + if (yych <= 0xF4) goto yy761; + goto yy724; } } +yy755: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy749; + goto yy724; +yy756: + yych = *++p; + if (yych <= 0x9F) goto yy724; + if (yych <= 0xBF) goto yy755; + goto yy724; +yy757: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy755; + goto yy724; yy758: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy752; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x9F) goto yy755; + goto yy724; yy759: yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy758; - goto yy727; + if (yych <= 0x8F) goto yy724; + if (yych <= 0xBF) goto yy757; + goto yy724; yy760: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy758; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy757; + goto yy724; yy761: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy758; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x8F) goto yy757; + goto yy724; yy762: - yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy760; - goto yy727; -yy763: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy760; - goto yy727; -yy764: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy760; - goto yy727; -yy765: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 16) { - goto yy725; + goto yy722; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy729; - if (yych <= '"') goto yy728; - goto yy730; + if (yych <= 0x00) goto yy726; + if (yych <= '"') goto yy725; + goto yy727; } else { - if (yych <= 0xC1) goto yy729; - if (yych <= 0xDF) goto yy732; - goto yy733; + if (yych <= 0xC1) goto yy726; + if (yych <= 0xDF) goto yy729; + goto yy730; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; + if (yych == 0xED) goto yy732; + goto yy731; } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; - goto yy729; + if (yych <= 0xF0) goto yy733; + if (yych <= 0xF3) goto yy734; + if (yych <= 0xF4) goto yy735; + goto yy726; } } -yy766: +yy763: yyaccept = 2; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy739; + goto yy736; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy742; - if (yych <= '\'') goto yy741; - goto yy743; + if (yych <= 0x00) goto yy739; + if (yych <= '\'') goto yy738; + goto yy740; } else { - if (yych <= 0xC1) goto yy742; - if (yych <= 0xDF) goto yy745; - goto yy746; + if (yych <= 0xC1) goto yy739; + if (yych <= 0xDF) goto yy742; + goto yy743; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; + if (yych == 0xED) goto yy745; + goto yy744; } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy742; + if (yych <= 0xF0) goto yy746; + if (yych <= 0xF3) goto yy747; + if (yych <= 0xF4) goto yy748; + goto yy739; } } -yy767: +yy764: yyaccept = 3; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy752; + goto yy749; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= '(') goto yy755; - if (yych <= ')') goto yy754; - goto yy756; + if (yych <= '(') goto yy752; + if (yych <= ')') goto yy751; + goto yy753; } else { - if (yych <= 0xC1) goto yy755; - if (yych <= 0xDF) goto yy758; - goto yy759; + if (yych <= 0xC1) goto yy752; + if (yych <= 0xDF) goto yy755; + goto yy756; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy761; - goto yy760; + if (yych == 0xED) goto yy758; + goto yy757; } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy755; + if (yych <= 0xF0) goto yy759; + if (yych <= 0xF3) goto yy760; + if (yych <= 0xF4) goto yy761; + goto yy752; } } } @@ -8740,14 +8728,14 @@ bufsize_t _scan_spacechars(const unsigned char *p) }; yych = *p; if (yybm[0+yych] & 128) { - goto yy772; + goto yy769; } ++p; { return 0; } -yy772: +yy769: yych = *++p; if (yybm[0+yych] & 128) { - goto yy772; + goto yy769; } { return (bufsize_t)(p - start); } } @@ -8797,94 +8785,94 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '#') goto yy779; + if (yych == '#') goto yy776; ++p; -yy778: +yy775: { return 0; } -yy779: +yy776: yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy778; - if (yych <= '\n') goto yy783; - goto yy778; + if (yych <= 0x08) goto yy775; + if (yych <= '\n') goto yy780; + goto yy775; } else { - if (yych <= '\r') goto yy783; - if (yych == '#') goto yy784; - goto yy778; + if (yych <= '\r') goto yy780; + if (yych == '#') goto yy781; + goto yy775; } -yy780: +yy777: yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } -yy782: +yy779: { return (bufsize_t)(p - start); } -yy783: +yy780: ++p; - goto yy782; -yy784: + goto yy779; +yy781: yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; } else { - if (yych <= '\r') goto yy783; - if (yych == '#') goto yy786; + if (yych <= '\r') goto yy780; + if (yych == '#') goto yy783; } -yy785: +yy782: p = marker; - goto yy778; -yy786: + goto yy775; +yy783: yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; + goto yy782; } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; + if (yych <= '\r') goto yy780; + if (yych != '#') goto yy782; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; + goto yy782; } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; + if (yych <= '\r') goto yy780; + if (yych != '#') goto yy782; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; + goto yy782; } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; + if (yych <= '\r') goto yy780; + if (yych != '#') goto yy782; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - if (yych == '\r') goto yy783; - goto yy785; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; + if (yych == '\r') goto yy780; + goto yy782; } } @@ -8932,97 +8920,97 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '-') goto yy794; - if (yych == '=') goto yy795; + if (yych == '-') goto yy791; + if (yych == '=') goto yy792; ++p; -yy793: +yy790: { return 0; } -yy794: +yy791: yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy801; + goto yy798; } if (yych <= '\f') { - if (yych <= 0x08) goto yy793; - if (yych <= '\n') goto yy797; - goto yy793; + if (yych <= 0x08) goto yy790; + if (yych <= '\n') goto yy794; + goto yy790; } else { - if (yych <= '\r') goto yy797; - if (yych == ' ') goto yy797; - goto yy793; + if (yych <= '\r') goto yy794; + if (yych == ' ') goto yy794; + goto yy790; } -yy795: +yy792: yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy807; + goto yy804; } if (yych <= '\f') { - if (yych <= 0x08) goto yy793; - if (yych <= '\n') goto yy804; - goto yy793; + if (yych <= 0x08) goto yy790; + if (yych <= '\n') goto yy801; + goto yy790; } else { - if (yych <= '\r') goto yy804; - if (yych == ' ') goto yy804; - goto yy793; + if (yych <= '\r') goto yy801; + if (yych == ' ') goto yy801; + goto yy790; } -yy796: +yy793: yych = *++p; -yy797: +yy794: if (yybm[0+yych] & 32) { - goto yy796; + goto yy793; } - if (yych <= 0x08) goto yy798; - if (yych <= '\n') goto yy799; - if (yych == '\r') goto yy799; -yy798: + if (yych <= 0x08) goto yy795; + if (yych <= '\n') goto yy796; + if (yych == '\r') goto yy796; +yy795: p = marker; - goto yy793; -yy799: + goto yy790; +yy796: ++p; { return 2; } -yy801: +yy798: yych = *++p; if (yybm[0+yych] & 32) { - goto yy796; + goto yy793; } if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\n') goto yy799; - goto yy798; + if (yych <= 0x08) goto yy795; + if (yych <= '\n') goto yy796; + goto yy795; } else { - if (yych <= '\r') goto yy799; - if (yych == '-') goto yy801; - goto yy798; + if (yych <= '\r') goto yy796; + if (yych == '-') goto yy798; + goto yy795; } -yy803: +yy800: yych = *++p; -yy804: +yy801: if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\t') goto yy803; - if (yych >= '\v') goto yy798; + if (yych <= 0x08) goto yy795; + if (yych <= '\t') goto yy800; + if (yych >= '\v') goto yy795; } else { - if (yych <= '\r') goto yy805; - if (yych == ' ') goto yy803; - goto yy798; + if (yych <= '\r') goto yy802; + if (yych == ' ') goto yy800; + goto yy795; } -yy805: +yy802: ++p; { return 1; } -yy807: +yy804: yych = *++p; if (yybm[0+yych] & 128) { - goto yy807; + goto yy804; } if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\t') goto yy803; - if (yych <= '\n') goto yy805; - goto yy798; + if (yych <= 0x08) goto yy795; + if (yych <= '\t') goto yy800; + if (yych <= '\n') goto yy802; + goto yy795; } else { - if (yych <= '\r') goto yy805; - if (yych == ' ') goto yy803; - goto yy798; + if (yych <= '\r') goto yy802; + if (yych == ' ') goto yy800; + goto yy795; } } @@ -9071,271 +9059,271 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '`') goto yy813; - if (yych == '~') goto yy814; + if (yych == '`') goto yy810; + if (yych == '~') goto yy811; ++p; -yy812: +yy809: { return 0; } -yy813: +yy810: yych = *(marker = ++p); - if (yych == '`') goto yy815; - goto yy812; -yy814: + if (yych == '`') goto yy812; + goto yy809; +yy811: yych = *(marker = ++p); - if (yych == '~') goto yy817; - goto yy812; -yy815: + if (yych == '~') goto yy814; + goto yy809; +yy812: yych = *++p; if (yybm[0+yych] & 16) { - goto yy818; + goto yy815; } -yy816: +yy813: p = marker; - goto yy812; -yy817: + goto yy809; +yy814: yych = *++p; if (yybm[0+yych] & 32) { - goto yy820; + goto yy817; } - goto yy816; -yy818: + goto yy813; +yy815: yych = *++p; if (yybm[0+yych] & 16) { - goto yy818; + goto yy815; } if (yych <= 0xDF) { if (yych <= '\f') { - if (yych <= 0x00) goto yy816; + if (yych <= 0x00) goto yy813; if (yych == '\n') { marker = p; - goto yy824; + goto yy821; } marker = p; - goto yy822; + goto yy819; } else { if (yych <= '\r') { marker = p; - goto yy824; + goto yy821; } if (yych <= 0x7F) { marker = p; - goto yy822; + goto yy819; } - if (yych <= 0xC1) goto yy816; + if (yych <= 0xC1) goto yy813; marker = p; - goto yy826; + goto yy823; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; - goto yy827; + goto yy824; } if (yych == 0xED) { marker = p; - goto yy829; + goto yy826; } marker = p; - goto yy828; + goto yy825; } else { if (yych <= 0xF0) { marker = p; - goto yy830; + goto yy827; } if (yych <= 0xF3) { marker = p; - goto yy831; + goto yy828; } if (yych <= 0xF4) { marker = p; - goto yy832; + goto yy829; } - goto yy816; + goto yy813; } } -yy820: +yy817: yych = *++p; if (yybm[0+yych] & 32) { - goto yy820; + goto yy817; } if (yych <= 0xDF) { if (yych <= '\f') { - if (yych <= 0x00) goto yy816; + if (yych <= 0x00) goto yy813; if (yych == '\n') { marker = p; - goto yy835; + goto yy832; } marker = p; - goto yy833; + goto yy830; } else { if (yych <= '\r') { marker = p; - goto yy835; + goto yy832; } if (yych <= 0x7F) { marker = p; - goto yy833; + goto yy830; } - if (yych <= 0xC1) goto yy816; + if (yych <= 0xC1) goto yy813; marker = p; - goto yy837; + goto yy834; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; - goto yy838; + goto yy835; } if (yych == 0xED) { marker = p; - goto yy840; + goto yy837; } marker = p; - goto yy839; + goto yy836; } else { if (yych <= 0xF0) { marker = p; - goto yy841; + goto yy838; } if (yych <= 0xF3) { marker = p; - goto yy842; + goto yy839; } if (yych <= 0xF4) { marker = p; - goto yy843; + goto yy840; } - goto yy816; + goto yy813; } } -yy822: +yy819: yych = *++p; if (yybm[0+yych] & 64) { - goto yy822; + goto yy819; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy816; - if (yych >= 0x0E) goto yy816; + if (yych <= 0x00) goto yy813; + if (yych >= 0x0E) goto yy813; } else { - if (yych <= 0xDF) goto yy826; - if (yych <= 0xE0) goto yy827; - goto yy828; + if (yych <= 0xDF) goto yy823; + if (yych <= 0xE0) goto yy824; + goto yy825; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy829; - if (yych <= 0xEF) goto yy828; - goto yy830; + if (yych <= 0xED) goto yy826; + if (yych <= 0xEF) goto yy825; + goto yy827; } else { - if (yych <= 0xF3) goto yy831; - if (yych <= 0xF4) goto yy832; - goto yy816; + if (yych <= 0xF3) goto yy828; + if (yych <= 0xF4) goto yy829; + goto yy813; } } -yy824: +yy821: ++p; p = marker; { return (bufsize_t)(p - start); } +yy823: + yych = *++p; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy819; + goto yy813; +yy824: + yych = *++p; + if (yych <= 0x9F) goto yy813; + if (yych <= 0xBF) goto yy823; + goto yy813; +yy825: + yych = *++p; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy823; + goto yy813; yy826: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy822; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0x9F) goto yy823; + goto yy813; yy827: yych = *++p; - if (yych <= 0x9F) goto yy816; - if (yych <= 0xBF) goto yy826; - goto yy816; + if (yych <= 0x8F) goto yy813; + if (yych <= 0xBF) goto yy825; + goto yy813; yy828: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy826; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy825; + goto yy813; yy829: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x9F) goto yy826; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0x8F) goto yy825; + goto yy813; yy830: - yych = *++p; - if (yych <= 0x8F) goto yy816; - if (yych <= 0xBF) goto yy828; - goto yy816; -yy831: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy828; - goto yy816; -yy832: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x8F) goto yy828; - goto yy816; -yy833: yych = *++p; if (yybm[0+yych] & 128) { - goto yy833; + goto yy830; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy816; - if (yych >= 0x0E) goto yy816; + if (yych <= 0x00) goto yy813; + if (yych >= 0x0E) goto yy813; } else { - if (yych <= 0xDF) goto yy837; - if (yych <= 0xE0) goto yy838; - goto yy839; + if (yych <= 0xDF) goto yy834; + if (yych <= 0xE0) goto yy835; + goto yy836; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy840; - if (yych <= 0xEF) goto yy839; - goto yy841; + if (yych <= 0xED) goto yy837; + if (yych <= 0xEF) goto yy836; + goto yy838; } else { - if (yych <= 0xF3) goto yy842; - if (yych <= 0xF4) goto yy843; - goto yy816; + if (yych <= 0xF3) goto yy839; + if (yych <= 0xF4) goto yy840; + goto yy813; } } -yy835: +yy832: ++p; p = marker; { return (bufsize_t)(p - start); } +yy834: + yych = *++p; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy830; + goto yy813; +yy835: + yych = *++p; + if (yych <= 0x9F) goto yy813; + if (yych <= 0xBF) goto yy834; + goto yy813; +yy836: + yych = *++p; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy834; + goto yy813; yy837: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy833; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0x9F) goto yy834; + goto yy813; yy838: yych = *++p; - if (yych <= 0x9F) goto yy816; - if (yych <= 0xBF) goto yy837; - goto yy816; + if (yych <= 0x8F) goto yy813; + if (yych <= 0xBF) goto yy836; + goto yy813; yy839: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy837; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy836; + goto yy813; yy840: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x9F) goto yy837; - goto yy816; -yy841: - yych = *++p; - if (yych <= 0x8F) goto yy816; - if (yych <= 0xBF) goto yy839; - goto yy816; -yy842: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy839; - goto yy816; -yy843: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x8F) goto yy839; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0x8F) goto yy836; + goto yy813; } } @@ -9383,111 +9371,111 @@ bufsize_t _scan_close_code_fence(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '`') goto yy848; - if (yych == '~') goto yy849; + if (yych == '`') goto yy845; + if (yych == '~') goto yy846; ++p; -yy847: +yy844: { return 0; } -yy848: +yy845: yych = *(marker = ++p); - if (yych == '`') goto yy850; - goto yy847; -yy849: + if (yych == '`') goto yy847; + goto yy844; +yy846: yych = *(marker = ++p); - if (yych == '~') goto yy852; - goto yy847; -yy850: + if (yych == '~') goto yy849; + goto yy844; +yy847: yych = *++p; if (yybm[0+yych] & 32) { - goto yy853; + goto yy850; } -yy851: +yy848: p = marker; - goto yy847; -yy852: + goto yy844; +yy849: yych = *++p; if (yybm[0+yych] & 64) { - goto yy855; + goto yy852; } - goto yy851; -yy853: + goto yy848; +yy850: yych = *++p; if (yybm[0+yych] & 32) { - goto yy853; + goto yy850; } if (yych <= '\f') { - if (yych <= 0x08) goto yy851; + if (yych <= 0x08) goto yy848; if (yych <= '\t') { marker = p; - goto yy857; + goto yy854; } if (yych <= '\n') { marker = p; - goto yy859; + goto yy856; } - goto yy851; + goto yy848; } else { if (yych <= '\r') { marker = p; - goto yy859; + goto yy856; } if (yych == ' ') { marker = p; - goto yy857; + goto yy854; } - goto yy851; + goto yy848; } -yy855: +yy852: yych = *++p; if (yybm[0+yych] & 64) { - goto yy855; + goto yy852; } if (yych <= '\f') { - if (yych <= 0x08) goto yy851; + if (yych <= 0x08) goto yy848; if (yych <= '\t') { marker = p; - goto yy861; + goto yy858; } if (yych <= '\n') { marker = p; - goto yy863; + goto yy860; } - goto yy851; + goto yy848; } else { if (yych <= '\r') { marker = p; - goto yy863; + goto yy860; } if (yych == ' ') { marker = p; - goto yy861; + goto yy858; } - goto yy851; + goto yy848; } -yy857: +yy854: yych = *++p; if (yybm[0+yych] & 128) { - goto yy857; + goto yy854; } - if (yych <= 0x08) goto yy851; - if (yych <= '\n') goto yy859; - if (yych != '\r') goto yy851; -yy859: + if (yych <= 0x08) goto yy848; + if (yych <= '\n') goto yy856; + if (yych != '\r') goto yy848; +yy856: ++p; p = marker; { return (bufsize_t)(p - start); } -yy861: +yy858: yych = *++p; if (yych <= '\f') { - if (yych <= 0x08) goto yy851; - if (yych <= '\t') goto yy861; - if (yych >= '\v') goto yy851; + if (yych <= 0x08) goto yy848; + if (yych <= '\t') goto yy858; + if (yych >= '\v') goto yy848; } else { - if (yych <= '\r') goto yy863; - if (yych == ' ') goto yy861; - goto yy851; + if (yych <= '\r') goto yy860; + if (yych == ' ') goto yy858; + goto yy848; } -yy863: +yy860: ++p; p = marker; { return (bufsize_t)(p - start); } @@ -9505,644 +9493,644 @@ bufsize_t _scan_entity(const unsigned char *p) { unsigned char yych; yych = *p; - if (yych == '&') goto yy869; + if (yych == '&') goto yy866; ++p; -yy868: +yy865: { return 0; } -yy869: +yy866: yych = *(marker = ++p); if (yych <= '@') { - if (yych != '#') goto yy868; + if (yych != '#') goto yy865; + } else { + if (yych <= 'Z') goto yy869; + if (yych <= '`') goto yy865; + if (yych <= 'z') goto yy869; + goto yy865; + } + yych = *++p; + if (yych <= 'W') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy870; + } else { + if (yych <= 'X') goto yy871; + if (yych == 'x') goto yy871; + } +yy868: + p = marker; + goto yy865; +yy869: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy872; + goto yy868; } else { if (yych <= 'Z') goto yy872; if (yych <= '`') goto yy868; if (yych <= 'z') goto yy872; goto yy868; } +yy870: yych = *++p; - if (yych <= 'W') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy873; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy873; + if (yych == ';') goto yy874; + goto yy868; +yy871: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy876; + goto yy868; } else { - if (yych <= 'X') goto yy874; - if (yych == 'x') goto yy874; + if (yych <= 'F') goto yy876; + if (yych <= '`') goto yy868; + if (yych <= 'f') goto yy876; + goto yy868; } -yy871: - p = marker; - goto yy868; yy872: yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy875; - goto yy871; + if (yych <= ';') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { - if (yych <= 'Z') goto yy875; - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy875; - goto yy871; + if (yych <= 'Z') { + if (yych <= '@') goto yy868; + goto yy877; + } else { + if (yych <= '`') goto yy868; + if (yych <= 'z') goto yy877; + goto yy868; + } } yy873: yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy876; - if (yych == ';') goto yy877; - goto yy871; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy878; + if (yych != ';') goto yy868; yy874: + ++p; + { return (bufsize_t)(p - start); } +yy876: yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy871; + if (yych <= ';') { + if (yych <= '/') goto yy868; if (yych <= '9') goto yy879; - goto yy871; + if (yych <= ':') goto yy868; + goto yy874; } else { - if (yych <= 'F') goto yy879; - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy879; - goto yy871; + if (yych <= 'F') { + if (yych <= '@') goto yy868; + goto yy879; + } else { + if (yych <= '`') goto yy868; + if (yych <= 'f') goto yy879; + goto yy868; + } } -yy875: +yy877: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy880; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy880; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'z') goto yy880; - goto yy871; + goto yy868; } } -yy876: +yy878: yych = *++p; - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy881; - if (yych != ';') goto yy871; -yy877: - ++p; - { return (bufsize_t)(p - start); } + if (yych == ';') goto yy874; + goto yy868; yy879: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy882; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'F') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy882; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'f') goto yy882; - goto yy871; + goto yy868; } } yy880: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy883; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy883; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'z') goto yy883; - goto yy871; + goto yy868; } } yy881: yych = *++p; - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy884; - if (yych == ';') goto yy877; - goto yy871; + if (yych == ';') goto yy874; + goto yy868; yy882: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy885; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'F') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy885; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'f') goto yy885; - goto yy871; + goto yy868; } } yy883: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy886; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy886; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'z') goto yy886; - goto yy871; + goto yy868; } } yy884: yych = *++p; - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy887; - if (yych == ';') goto yy877; - goto yy871; + if (yych == ';') goto yy874; + goto yy868; yy885: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy888; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'F') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy888; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'f') goto yy888; - goto yy871; + goto yy868; } } yy886: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy889; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy889; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'z') goto yy889; - goto yy871; + goto yy868; } } yy887: yych = *++p; - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy890; - if (yych == ';') goto yy877; - goto yy871; + if (yych == ';') goto yy874; + goto yy868; yy888: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy891; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy890; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy891; + if (yych <= '@') goto yy868; + goto yy890; } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy891; - goto yy871; + if (yych <= '`') goto yy868; + if (yych <= 'f') goto yy890; + goto yy868; } } yy889: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy892; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy891; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy892; + if (yych <= '@') goto yy868; + goto yy891; } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy892; - goto yy871; + if (yych <= '`') goto yy868; + if (yych <= 'z') goto yy891; + goto yy868; } } yy890: yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych == ';') goto yy877; - goto yy871; + if (yych == ';') goto yy874; + goto yy868; yy891: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy892; + if (yych <= ':') goto yy868; + goto yy874; } else { - if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy893; + if (yych <= 'Z') { + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy893; - goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy892: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy894; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy893; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy894; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy894; - goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy893: yych = *++p; - if (yych == ';') goto yy877; - goto yy871; + if (yych <= ';') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy894; + if (yych <= ':') goto yy868; + goto yy874; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy868; + } else { + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; + } + } yy894: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy895; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy895: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy896; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy896: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy897; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy897: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy898; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy898: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy899; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy899: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy900; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy900: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy901; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy901: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy902; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy902: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy903; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy903: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy904; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy904: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy905; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy905: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy906; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy906: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy907; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy907: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy908; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy908: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy909; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy909: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy910; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy910: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy911; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy911: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy912; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy912: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy913; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy913: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy914; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy914: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy915; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy915: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy916; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy916: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy917; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy917: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy890; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy893; + if (yych <= '@') goto yy868; + goto yy890; } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy893; - goto yy871; + if (yych <= '`') goto yy868; + if (yych <= 'z') goto yy890; + goto yy868; } } } @@ -10162,229 +10150,229 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) yych = *p; if (yych <= 'V') { if (yych <= 'F') { - if (yych == 'D') goto yy922; - if (yych >= 'F') goto yy923; + if (yych == 'D') goto yy919; + if (yych >= 'F') goto yy920; } else { - if (yych == 'J') goto yy924; - if (yych >= 'V') goto yy925; + if (yych == 'J') goto yy921; + if (yych >= 'V') goto yy922; } } else { if (yych <= 'f') { - if (yych == 'd') goto yy922; - if (yych >= 'f') goto yy923; + if (yych == 'd') goto yy919; + if (yych >= 'f') goto yy920; } else { if (yych <= 'j') { - if (yych >= 'j') goto yy924; + if (yych >= 'j') goto yy921; } else { - if (yych == 'v') goto yy925; + if (yych == 'v') goto yy922; } } } ++p; -yy921: +yy918: { return 0; } -yy922: +yy919: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'A') goto yy926; - if (yych == 'a') goto yy926; - goto yy921; -yy923: + if (yych == 'A') goto yy923; + if (yych == 'a') goto yy923; + goto yy918; +yy920: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'I') goto yy928; - if (yych == 'i') goto yy928; - goto yy921; -yy924: + if (yych == 'I') goto yy925; + if (yych == 'i') goto yy925; + goto yy918; +yy921: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'A') goto yy929; - if (yych == 'a') goto yy929; - goto yy921; -yy925: + if (yych == 'A') goto yy926; + if (yych == 'a') goto yy926; + goto yy918; +yy922: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'B') goto yy930; - if (yych == 'b') goto yy930; - goto yy921; -yy926: + if (yych == 'B') goto yy927; + if (yych == 'b') goto yy927; + goto yy918; +yy923: yych = *++p; - if (yych == 'T') goto yy931; - if (yych == 't') goto yy931; -yy927: + if (yych == 'T') goto yy928; + if (yych == 't') goto yy928; +yy924: p = marker; if (yyaccept == 0) { - goto yy921; + goto yy918; } else { - goto yy939; + goto yy936; } +yy925: + yych = *++p; + if (yych == 'L') goto yy929; + if (yych == 'l') goto yy929; + goto yy924; +yy926: + yych = *++p; + if (yych == 'V') goto yy930; + if (yych == 'v') goto yy930; + goto yy924; +yy927: + yych = *++p; + if (yych == 'S') goto yy931; + if (yych == 's') goto yy931; + goto yy924; yy928: yych = *++p; - if (yych == 'L') goto yy932; - if (yych == 'l') goto yy932; - goto yy927; + if (yych == 'A') goto yy932; + if (yych == 'a') goto yy932; + goto yy924; yy929: yych = *++p; - if (yych == 'V') goto yy933; - if (yych == 'v') goto yy933; - goto yy927; + if (yych == 'E') goto yy933; + if (yych == 'e') goto yy933; + goto yy924; yy930: yych = *++p; - if (yych == 'S') goto yy934; - if (yych == 's') goto yy934; - goto yy927; + if (yych == 'A') goto yy927; + if (yych == 'a') goto yy927; + goto yy924; yy931: yych = *++p; - if (yych == 'A') goto yy935; - if (yych == 'a') goto yy935; - goto yy927; + if (yych == 'C') goto yy934; + if (yych == 'c') goto yy934; + goto yy924; yy932: yych = *++p; - if (yych == 'E') goto yy936; - if (yych == 'e') goto yy936; - goto yy927; + if (yych == ':') goto yy935; + goto yy924; yy933: yych = *++p; - if (yych == 'A') goto yy930; - if (yych == 'a') goto yy930; - goto yy927; + if (yych == ':') goto yy937; + goto yy924; yy934: yych = *++p; - if (yych == 'C') goto yy937; - if (yych == 'c') goto yy937; - goto yy927; + if (yych == 'R') goto yy938; + if (yych == 'r') goto yy938; + goto yy924; yy935: - yych = *++p; - if (yych == ':') goto yy938; - goto yy927; + yyaccept = 1; + yych = *(marker = ++p); + if (yych == 'I') goto yy939; + if (yych == 'i') goto yy939; yy936: - yych = *++p; - if (yych == ':') goto yy940; - goto yy927; + { return (bufsize_t)(p - start); } yy937: - yych = *++p; - if (yych == 'R') goto yy941; - if (yych == 'r') goto yy941; - goto yy927; + ++p; + goto yy936; yy938: - yyaccept = 1; - yych = *(marker = ++p); - if (yych == 'I') goto yy942; - if (yych == 'i') goto yy942; + yych = *++p; + if (yych == 'I') goto yy940; + if (yych == 'i') goto yy940; + goto yy924; yy939: - { return (bufsize_t)(p - start); } + yych = *++p; + if (yych == 'M') goto yy941; + if (yych == 'm') goto yy941; + goto yy924; yy940: - ++p; - goto yy939; + yych = *++p; + if (yych == 'P') goto yy942; + if (yych == 'p') goto yy942; + goto yy924; yy941: yych = *++p; - if (yych == 'I') goto yy943; - if (yych == 'i') goto yy943; - goto yy927; + if (yych == 'A') goto yy943; + if (yych == 'a') goto yy943; + goto yy924; yy942: yych = *++p; - if (yych == 'M') goto yy944; - if (yych == 'm') goto yy944; - goto yy927; + if (yych == 'T') goto yy933; + if (yych == 't') goto yy933; + goto yy924; yy943: yych = *++p; - if (yych == 'P') goto yy945; - if (yych == 'p') goto yy945; - goto yy927; + if (yych == 'G') goto yy944; + if (yych != 'g') goto yy924; yy944: yych = *++p; - if (yych == 'A') goto yy946; - if (yych == 'a') goto yy946; - goto yy927; + if (yych == 'E') goto yy945; + if (yych != 'e') goto yy924; yy945: yych = *++p; - if (yych == 'T') goto yy936; - if (yych == 't') goto yy936; - goto yy927; -yy946: - yych = *++p; - if (yych == 'G') goto yy947; - if (yych != 'g') goto yy927; -yy947: - yych = *++p; - if (yych == 'E') goto yy948; - if (yych != 'e') goto yy927; -yy948: - yych = *++p; - if (yych != '/') goto yy927; + if (yych != '/') goto yy924; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { - if (yych == 'G') goto yy950; - if (yych <= 'I') goto yy927; - goto yy951; + if (yych == 'G') goto yy947; + if (yych <= 'I') goto yy924; + goto yy948; } else { - if (yych == 'P') goto yy952; - if (yych <= 'V') goto yy927; - goto yy953; + if (yych == 'P') goto yy949; + if (yych <= 'V') goto yy924; + goto yy950; } } else { if (yych <= 'j') { - if (yych == 'g') goto yy950; - if (yych <= 'i') goto yy927; - goto yy951; + if (yych == 'g') goto yy947; + if (yych <= 'i') goto yy924; + goto yy948; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy927; - goto yy952; + if (yych <= 'o') goto yy924; + goto yy949; } else { - if (yych == 'w') goto yy953; - goto yy927; + if (yych == 'w') goto yy950; + goto yy924; } } } +yy947: + yych = *++p; + if (yych == 'I') goto yy951; + if (yych == 'i') goto yy951; + goto yy924; +yy948: + yych = *++p; + if (yych == 'P') goto yy952; + if (yych == 'p') goto yy952; + goto yy924; +yy949: + yych = *++p; + if (yych == 'N') goto yy953; + if (yych == 'n') goto yy953; + goto yy924; yy950: yych = *++p; - if (yych == 'I') goto yy954; - if (yych == 'i') goto yy954; - goto yy927; + if (yych == 'E') goto yy954; + if (yych == 'e') goto yy954; + goto yy924; yy951: yych = *++p; - if (yych == 'P') goto yy955; - if (yych == 'p') goto yy955; - goto yy927; + if (yych == 'F') goto yy955; + if (yych == 'f') goto yy955; + goto yy924; yy952: yych = *++p; - if (yych == 'N') goto yy956; - if (yych == 'n') goto yy956; - goto yy927; + if (yych == 'E') goto yy953; + if (yych != 'e') goto yy924; yy953: yych = *++p; - if (yych == 'E') goto yy957; - if (yych == 'e') goto yy957; - goto yy927; + if (yych == 'G') goto yy955; + if (yych == 'g') goto yy955; + goto yy924; yy954: yych = *++p; - if (yych == 'F') goto yy958; - if (yych == 'f') goto yy958; - goto yy927; + if (yych == 'B') goto yy957; + if (yych == 'b') goto yy957; + goto yy924; yy955: - yych = *++p; - if (yych == 'E') goto yy956; - if (yych != 'e') goto yy927; -yy956: - yych = *++p; - if (yych == 'G') goto yy958; - if (yych == 'g') goto yy958; - goto yy927; -yy957: - yych = *++p; - if (yych == 'B') goto yy960; - if (yych == 'b') goto yy960; - goto yy927; -yy958: ++p; { return 0; } -yy960: +yy957: yych = *++p; - if (yych == 'P') goto yy958; - if (yych == 'p') goto yy958; - goto yy927; + if (yych == 'P') goto yy955; + if (yych == 'p') goto yy955; + goto yy924; } } @@ -10432,87 +10420,87 @@ bufsize_t _scan_footnote_definition(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '[') goto yy965; + if (yych == '[') goto yy962; ++p; -yy964: +yy961: { return 0; } -yy965: +yy962: yych = *(marker = ++p); - if (yych != '^') goto yy964; + if (yych != '^') goto yy961; yych = *++p; - if (yych != ']') goto yy969; -yy967: + if (yych != ']') goto yy966; +yy964: p = marker; - goto yy964; -yy968: + goto yy961; +yy965: yych = *++p; -yy969: +yy966: if (yybm[0+yych] & 64) { - goto yy968; + goto yy965; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= ' ') goto yy967; - if (yych <= ']') goto yy977; - goto yy967; + if (yych <= ' ') goto yy964; + if (yych <= ']') goto yy974; + goto yy964; } else { - if (yych <= 0xDF) goto yy970; - if (yych <= 0xE0) goto yy971; - goto yy972; + if (yych <= 0xDF) goto yy967; + if (yych <= 0xE0) goto yy968; + goto yy969; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy973; - if (yych <= 0xEF) goto yy972; - goto yy974; + if (yych <= 0xED) goto yy970; + if (yych <= 0xEF) goto yy969; + goto yy971; } else { - if (yych <= 0xF3) goto yy975; - if (yych <= 0xF4) goto yy976; - goto yy967; + if (yych <= 0xF3) goto yy972; + if (yych <= 0xF4) goto yy973; + goto yy964; } } +yy967: + yych = *++p; + if (yych <= 0x7F) goto yy964; + if (yych <= 0xBF) goto yy965; + goto yy964; +yy968: + yych = *++p; + if (yych <= 0x9F) goto yy964; + if (yych <= 0xBF) goto yy967; + goto yy964; +yy969: + yych = *++p; + if (yych <= 0x7F) goto yy964; + if (yych <= 0xBF) goto yy967; + goto yy964; yy970: yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy968; - goto yy967; + if (yych <= 0x7F) goto yy964; + if (yych <= 0x9F) goto yy967; + goto yy964; yy971: yych = *++p; - if (yych <= 0x9F) goto yy967; - if (yych <= 0xBF) goto yy970; - goto yy967; + if (yych <= 0x8F) goto yy964; + if (yych <= 0xBF) goto yy969; + goto yy964; yy972: yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy970; - goto yy967; + if (yych <= 0x7F) goto yy964; + if (yych <= 0xBF) goto yy969; + goto yy964; yy973: yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0x9F) goto yy970; - goto yy967; + if (yych <= 0x7F) goto yy964; + if (yych <= 0x8F) goto yy969; + goto yy964; yy974: yych = *++p; - if (yych <= 0x8F) goto yy967; - if (yych <= 0xBF) goto yy972; - goto yy967; + if (yych != ':') goto yy964; yy975: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy972; - goto yy967; -yy976: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0x8F) goto yy972; - goto yy967; -yy977: - yych = *++p; - if (yych != ':') goto yy967; -yy978: yych = *++p; if (yybm[0+yych] & 128) { - goto yy978; + goto yy975; } { return (bufsize_t)(p - start); } } From 41eee7265f501305834d80e3d045ed6c9df77de2 Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" Date: Tue, 31 May 2022 16:51:45 -0700 Subject: [PATCH 05/20] lint --- Gemfile | 8 +- Rakefile | 111 +++++++++--------- commonmarker.gemspec | 53 +++++---- lib/commonmarker.rb | 18 +-- lib/commonmarker/config.rb | 6 +- lib/commonmarker/node.rb | 12 +- lib/commonmarker/node/inspect.rb | 26 ++--- lib/commonmarker/renderer.rb | 10 +- lib/commonmarker/renderer/html_renderer.rb | 74 ++++++------ lib/commonmarker/version.rb | 2 +- test/benchmark.rb | 24 ++-- test/test_attributes.rb | 6 +- test/test_basics.rb | 22 ++-- test/test_commands.rb | 60 +++++----- test/test_commonmark.rb | 11 +- test/test_doc.rb | 30 ++--- test/test_encoding.rb | 12 +- test/test_extensions.rb | 70 ++++++------ test/test_footnotes.rb | 8 +- test/test_gc.rb | 12 +- test/test_helper.rb | 38 +++---- test/test_linebreaks.rb | 6 +- test/test_maliciousness.rb | 126 ++++++++++----------- test/test_node.rb | 30 ++--- test/test_options.rb | 8 +- test/test_pathological_inputs.rb | 94 +++++++-------- test/test_plaintext.rb | 6 +- test/test_renderer.rb | 14 +-- test/test_smartpunct.rb | 6 +- test/test_spec.rb | 10 +- test/test_tasklists.rb | 20 ++-- test/test_xml.rb | 6 +- 32 files changed, 465 insertions(+), 474 deletions(-) diff --git a/Gemfile b/Gemfile index 9d9521fd..36ca595a 100644 --- a/Gemfile +++ b/Gemfile @@ -1,11 +1,11 @@ # frozen_string_literal: true -source 'https://rubygems.org/' +source "https://rubygems.org/" gemspec group :benchmark do - gem 'benchmark-ips' - gem 'kramdown' - gem 'redcarpet' + gem "benchmark-ips" + gem "kramdown" + gem "redcarpet" end diff --git a/Rakefile b/Rakefile index d0143e5b..4daed669 100644 --- a/Rakefile +++ b/Rakefile @@ -1,108 +1,109 @@ # frozen_string_literal: true -require 'date' -require 'rake/clean' -require 'rake/extensiontask' -require 'digest/md5' +require "date" +require "rake/clean" +require "rake/extensiontask" +require "digest/md5" -host_os = RbConfig::CONFIG['host_os'] -require 'devkit' if host_os == 'mingw32' +host_os = RbConfig::CONFIG["host_os"] +require "devkit" if host_os == "mingw32" task default: [:test] # Gem Spec -gem_spec = Gem::Specification.load('commonmarker.gemspec') +gem_spec = Gem::Specification.load("commonmarker.gemspec") # Ruby Extension -Rake::ExtensionTask.new('commonmarker', gem_spec) do |ext| - ext.lib_dir = File.join('lib', 'commonmarker') +Rake::ExtensionTask.new("commonmarker", gem_spec) do |ext| + ext.lib_dir = File.join("lib", "commonmarker") end # Packaging -require 'bundler/gem_tasks' +require "bundler/gem_tasks" # Testing -require 'rake/testtask' +require "rake/testtask" -Rake::TestTask.new('test:unit') do |t| - t.libs << 'lib' - t.libs << 'test' - t.pattern = 'test/test_*.rb' +Rake::TestTask.new("test:unit") do |t| + t.libs << "lib" + t.libs << "test" + t.pattern = "test/test_*.rb" t.verbose = true t.warning = false end -task 'test:unit' => :compile +desc "Run unit tests" +task "test:unit" => :compile -desc 'Run unit and conformance tests' -task test: %w[test:unit] +desc "Run unit and conformance tests" +task test: ["test:unit"] -require 'rubocop/rake_task' +require "rubocop/rake_task" RuboCop::RakeTask.new(:rubocop) -desc 'Run benchmarks' +desc "Run benchmarks" task :benchmark do - if ENV['FETCH_PROGIT'] - `rm -rf test/progit` - `git clone https://github.com/progit/progit.git test/progit` - langs = %w[ar az be ca cs de en eo es es-ni fa fi fr hi hu id it ja ko mk nl no-nb pl pt-br ro ru sr th tr uk vi zh zh-tw] + if ENV["FETCH_PROGIT"] + %x(rm -rf test/progit) + %x(git clone https://github.com/progit/progit.git test/progit) + langs = ["ar", "az", "be", "ca", "cs", "de", "en", "eo", "es", "es-ni", "fa", "fi", "fr", "hi", "hu", "id", "it", "ja", "ko", "mk", "nl", "no-nb", "pl", "pt-br", "ro", "ru", "sr", "th", "tr", "uk", "vi", "zh", "zh-tw"] langs.each do |lang| - `cat test/progit/#{lang}/*/*.markdown >> test/benchinput.md` + %x(cat test/progit/#{lang}/*/*.markdown >> test/benchinput.md) end end - $LOAD_PATH.unshift 'lib' - load 'test/benchmark.rb' + $LOAD_PATH.unshift("lib") + load "test/benchmark.rb" end -desc 'Match C style of cmark' +desc "Match C style of cmark" task :format do - sh 'clang-format -style llvm -i ext/commonmarker/*.c ext/commonmarker/*.h' + sh "clang-format -style llvm -i ext/commonmarker/*.c ext/commonmarker/*.h" end # Documentation -require 'rdoc/task' +require "rdoc/task" -desc 'Generate API documentation' +desc "Generate API documentation" RDoc::Task.new do |rd| - rd.rdoc_dir = 'docs' - rd.main = 'README.md' - rd.rdoc_files.include 'README.md', 'lib/**/*.rb', 'ext/commonmarker/commonmarker.c' - - rd.options << '--markup tomdoc' - rd.options << '--inline-source' - rd.options << '--line-numbers' - rd.options << '--all' - rd.options << '--fileboxes' + rd.rdoc_dir = "docs" + rd.main = "README.md" + rd.rdoc_files.include("README.md", "lib/**/*.rb", "ext/commonmarker/commonmarker.c") + + rd.options << "--markup tomdoc" + rd.options << "--inline-source" + rd.options << "--line-numbers" + rd.options << "--all" + rd.options << "--fileboxes" end -desc 'Generate the documentation and run a web server' +desc "Generate the documentation and run a web server" task serve: [:rdoc] do - require 'webrick' + require "webrick" - puts 'Navigate to http://localhost:3000 to see the docs' + puts "Navigate to http://localhost:3000 to see the docs" - server = WEBrick::HTTPServer.new Port: 3000 - server.mount '/', WEBrick::HTTPServlet::FileHandler, 'docs' - trap('INT') { server.stop } + server = WEBrick::HTTPServer.new(Port: 3000) + server.mount("/", WEBrick::HTTPServlet::FileHandler, "docs") + trap("INT") { server.stop } server.start end -desc 'Generate and publish docs to gh-pages' +desc "Generate and publish docs to gh-pages" task publish: [:rdoc] do - require 'tmpdir' - require 'shellwords' + require "tmpdir" + require "shellwords" Dir.mktmpdir do |tmp| system "mv docs/* #{tmp}" - system 'git checkout origin/gh-pages' - system 'rm -rf *' + system "git checkout origin/gh-pages" + system "rm -rf *" system "mv #{tmp}/* ." message = Shellwords.escape("Site updated at #{Time.now.utc}") - system 'git add .' + system "git add ." system "git commit -am #{message}" - system 'git push origin gh-pages --force' - system 'git checkout master' - system 'echo yolo' + system "git push origin gh-pages --force" + system "git checkout master" + system "echo yolo" end end diff --git a/commonmarker.gemspec b/commonmarker.gemspec index 36b66d6f..b2d58847 100644 --- a/commonmarker.gemspec +++ b/commonmarker.gemspec @@ -1,39 +1,38 @@ # frozen_string_literal: true -lib = File.expand_path('lib', __dir__) +lib = File.expand_path("lib", __dir__) $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib) -require 'commonmarker/version' +require "commonmarker/version" Gem::Specification.new do |s| - s.name = 'commonmarker' + s.name = "commonmarker" s.version = CommonMarker::VERSION - s.summary = 'CommonMark parser and renderer. Written in C, wrapped in Ruby.' - s.description = 'A fast, safe, extensible parser for CommonMark. This wraps the official libcmark library.' - s.authors = ['Garen Torikian', 'Ashe Connor'] - s.homepage = 'https://github.com/gjtorikian/commonmarker' - s.license = 'MIT' + s.summary = "CommonMark parser and renderer. Written in C, wrapped in Ruby." + s.description = "A fast, safe, extensible parser for CommonMark. This wraps the official libcmark library." + s.authors = ["Garen Torikian", "Ashe Connor"] + s.homepage = "https://github.com/gjtorikian/commonmarker" + s.license = "MIT" - s.files = %w[LICENSE.txt README.md Rakefile commonmarker.gemspec bin/commonmarker] - s.files += Dir.glob('lib/**/*.rb') - s.files += Dir.glob('ext/commonmarker/*.*') - s.test_files = Dir.glob('test/**/*').reject { |f| f == 'test/benchinput.md' || f.start_with?('test/progit/') } - s.extensions = ['ext/commonmarker/extconf.rb'] + s.files = ["LICENSE.txt", "README.md", "Rakefile", "commonmarker.gemspec", "bin/commonmarker"] + s.files += Dir.glob("lib/**/*.rb") + s.files += Dir.glob("ext/commonmarker/*.*") + s.extensions = ["ext/commonmarker/extconf.rb"] - s.executables = ['commonmarker'] - s.require_paths = %w[lib ext] - s.required_ruby_version = ['>= 2.6', '< 4.0'] + s.executables = ["commonmarker"] + s.require_paths = ["lib", "ext"] + s.required_ruby_version = [">= 2.6", "< 4.0"] - s.metadata['rubygems_mfa_required'] = 'true' + s.metadata["rubygems_mfa_required"] = "true" - s.rdoc_options += ['-x', 'ext/commonmarker/cmark/.*'] + s.rdoc_options += ["-x", "ext/commonmarker/cmark/.*"] - s.add_development_dependency 'awesome_print' - s.add_development_dependency 'json', '~> 2.3' - s.add_development_dependency 'minitest', '~> 5.6' - s.add_development_dependency 'minitest-focus', '~> 1.1' - s.add_development_dependency 'rake' - s.add_development_dependency 'rake-compiler', '~> 0.9' - s.add_development_dependency 'rdoc', '~> 6.2' - s.add_development_dependency 'rubocop' - s.add_development_dependency 'rubocop-standard' + s.add_development_dependency("awesome_print") + s.add_development_dependency("json", "~> 2.3") + s.add_development_dependency("minitest", "~> 5.6") + s.add_development_dependency("minitest-focus", "~> 1.1") + s.add_development_dependency("rake") + s.add_development_dependency("rake-compiler", "~> 0.9") + s.add_development_dependency("rdoc", "~> 6.2") + s.add_development_dependency("rubocop") + s.add_development_dependency("rubocop-standard") end diff --git a/lib/commonmarker.rb b/lib/commonmarker.rb index d4efa7d3..edfc0e57 100755 --- a/lib/commonmarker.rb +++ b/lib/commonmarker.rb @@ -1,15 +1,15 @@ #!/usr/bin/env ruby # frozen_string_literal: true -require 'commonmarker/commonmarker' -require 'commonmarker/config' -require 'commonmarker/node' -require 'commonmarker/renderer' -require 'commonmarker/renderer/html_renderer' -require 'commonmarker/version' +require "commonmarker/commonmarker" +require "commonmarker/config" +require "commonmarker/node" +require "commonmarker/renderer" +require "commonmarker/renderer/html_renderer" +require "commonmarker/version" begin - require 'awesome_print' + require "awesome_print" rescue LoadError; end # rubocop:disable Lint/SuppressedException module CommonMarker # Public: Parses a Markdown string into an HTML string. @@ -23,7 +23,7 @@ def self.render_html(text, options = :DEFAULT, extensions = []) raise TypeError, "text must be a String; got a #{text.class}!" unless text.is_a?(String) opts = Config.process_options(options, :render) - Node.markdown_to_html(text.encode('UTF-8'), opts, extensions) + Node.markdown_to_html(text.encode("UTF-8"), opts, extensions) end # Public: Parses a Markdown string into a `document` node. @@ -37,7 +37,7 @@ def self.render_doc(text, options = :DEFAULT, extensions = []) raise TypeError, "text must be a String; got a #{text.class}!" unless text.is_a?(String) opts = Config.process_options(options, :parse) - text = text.encode('UTF-8') + text = text.encode("UTF-8") Node.parse_document(text, text.bytesize, opts, extensions) end end diff --git a/lib/commonmarker/config.rb b/lib/commonmarker/config.rb index 15d05a9a..59f02790 100644 --- a/lib/commonmarker/config.rb +++ b/lib/commonmarker/config.rb @@ -13,7 +13,7 @@ module Config SMART: (1 << 10), LIBERAL_HTML_TAG: (1 << 12), FOOTNOTES: (1 << 13), - STRIKETHROUGH_DOUBLE_TILDE: (1 << 14) + STRIKETHROUGH_DOUBLE_TILDE: (1 << 14), }.freeze, render: { DEFAULT: 0, @@ -28,9 +28,9 @@ module Config FOOTNOTES: (1 << 13), STRIKETHROUGH_DOUBLE_TILDE: (1 << 14), TABLE_PREFER_STYLE_ATTRIBUTES: (1 << 15), - FULL_INFO_STRING: (1 << 16) + FULL_INFO_STRING: (1 << 16), }.freeze, - format: %i[html xml commonmark plaintext].freeze + format: [:html, :xml, :commonmark, :plaintext].freeze, }.freeze def self.process_options(option, type) diff --git a/lib/commonmarker/node.rb b/lib/commonmarker/node.rb index c4c0dcc4..ea2a1995 100644 --- a/lib/commonmarker/node.rb +++ b/lib/commonmarker/node.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'commonmarker/node/inspect' +require "commonmarker/node/inspect" module CommonMarker class Node @@ -27,7 +27,7 @@ def walk(&block) # Returns a {String}. def to_html(options = :DEFAULT, extensions = []) opts = Config.process_options(options, :render) - _render_html(opts, extensions).force_encoding('utf-8') + _render_html(opts, extensions).force_encoding("utf-8") end # Public: Convert the node to an XML string. @@ -37,7 +37,7 @@ def to_html(options = :DEFAULT, extensions = []) # Returns a {String}. def to_xml(options = :DEFAULT) opts = Config.process_options(options, :render) - _render_xml(opts).force_encoding('utf-8') + _render_xml(opts).force_encoding("utf-8") end # Public: Convert the node to a CommonMark string. @@ -48,7 +48,7 @@ def to_xml(options = :DEFAULT) # Returns a {String}. def to_commonmark(options = :DEFAULT, width = 120) opts = Config.process_options(options, :render) - _render_commonmark(opts, width).force_encoding('utf-8') + _render_commonmark(opts, width).force_encoding("utf-8") end # Public: Convert the node to a plain text string. @@ -59,7 +59,7 @@ def to_commonmark(options = :DEFAULT, width = 120) # Returns a {String}. def to_plaintext(options = :DEFAULT, width = 120) opts = Config.process_options(options, :render) - _render_plaintext(opts, width).force_encoding('utf-8') + _render_plaintext(opts, width).force_encoding("utf-8") end # Public: Iterate over the children (if any) of the current pointer. @@ -76,7 +76,7 @@ def each # Deprecated: Please use `each` instead def each_child(&block) - warn '[DEPRECATION] `each_child` is deprecated. Please use `each` instead.' + warn("[DEPRECATION] `each_child` is deprecated. Please use `each` instead.") each(&block) end end diff --git a/lib/commonmarker/node/inspect.rb b/lib/commonmarker/node/inspect.rb index 08b5c66e..f80f3db5 100644 --- a/lib/commonmarker/node/inspect.rb +++ b/lib/commonmarker/node/inspect.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'pp' +require "pp" module CommonMarker class Node @@ -8,33 +8,23 @@ module Inspect PP_INDENT_SIZE = 2 def inspect - PP.pp(self, +'', Float::INFINITY) + PP.pp(self, +"", Float::INFINITY) end # @param printer [PrettyPrint] pp def pretty_print(printer) - printer.group(PP_INDENT_SIZE, "#<#{self.class}(#{type}):", '>') do + printer.group(PP_INDENT_SIZE, "#<#{self.class}(#{type}):", ">") do printer.breakable - attrs = %i[ - sourcepos - string_content - url - title - header_level - list_type - list_start - list_tight - fence_info - ].map do |name| + attrs = [:sourcepos, :string_content, :url, :title, :header_level, :list_type, :list_start, :list_tight, :fence_info].map do |name| [name, __send__(name)] rescue NodeError nil end.compact printer.seplist(attrs) do |name, value| - printer.text "#{name}=" - printer.pp value + printer.text("#{name}=") + printer.pp(value) end if first_child @@ -46,8 +36,8 @@ def pretty_print(printer) children << node node = node.next end - printer.text 'children=' - printer.pp children + printer.text("children=") + printer.pp(children) end end end diff --git a/lib/commonmarker/renderer.rb b/lib/commonmarker/renderer.rb index 42e19cab..3be353e6 100644 --- a/lib/commonmarker/renderer.rb +++ b/lib/commonmarker/renderer.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'set' -require 'stringio' +require "set" +require "stringio" module CommonMarker class Renderer @@ -9,9 +9,9 @@ class Renderer def initialize(options: :DEFAULT, extensions: []) @opts = Config.process_options(options, :render) - @stream = StringIO.new(+'') + @stream = StringIO.new(+"") @need_blocksep = false - @warnings = Set.new [] + @warnings = Set.new([]) @in_tight = false @in_plain = false @tagfilter = extensions.include?(:tagfilter) @@ -121,7 +121,7 @@ def tagfilter(str) end def sourcepos(node) - return '' unless option_enabled?(:SOURCEPOS) + return "" unless option_enabled?(:SOURCEPOS) s = node.sourcepos " data-sourcepos=\"#{s[:start_line]}:#{s[:start_column]}-" \ diff --git a/lib/commonmarker/renderer/html_renderer.rb b/lib/commonmarker/renderer/html_renderer.rb index 9aef413c..df10042d 100644 --- a/lib/commonmarker/renderer/html_renderer.rb +++ b/lib/commonmarker/renderer/html_renderer.rb @@ -9,8 +9,8 @@ def document(_) def header(node) block do - out('", :children, - '') + out("", :children, + "") end end @@ -19,10 +19,10 @@ def paragraph(node) out(:children) else block do - container("", '

') do + container("", "

") do out(:children) if node.parent.type == :footnote_definition && node.next.nil? - out(' ') + out(" ") out_footnote_backref end end @@ -36,16 +36,16 @@ def list(node) block do if node.list_type == :bullet_list - container("\n", '') do + container("\n", "") do out(:children) end else start = if node.list_start == 1 - "\n" - else - "
    \n" - end - container(start, '
') do + "\n" + else + "
    \n" + end + container(start, "
") do out(:children) end end @@ -57,26 +57,26 @@ def list(node) def list_item(node) block do tasklist_data = tasklist(node) - container("#{' ' if tasklist?(node)}", '') do + container("#{" " if tasklist?(node)}", "") do out(:children) end end end def tasklist(node) - return '' unless tasklist?(node) + return "" unless tasklist?(node) state = if checked?(node) - 'checked="" disabled=""' - else - 'disabled=""' - end + 'checked="" disabled=""' + else + 'disabled=""' + end ">\n", '') do + container("\n", "") do out(:children) end end @@ -93,17 +93,17 @@ def code_block(node) if option_enabled?(:GITHUB_PRE_LANG) out("') + out(">") else out("') else - out('>') + out(">") end end out(escape_html(node.string_content)) - out('') + out("") end end @@ -112,7 +112,7 @@ def html(node) if option_enabled?(:UNSAFE) out(tagfilter(node.string_content)) else - out('') + out("") end end end @@ -121,22 +121,22 @@ def inline_html(node) if option_enabled?(:UNSAFE) out(tagfilter(node.string_content)) else - out('') + out("") end end def emph(_) - out('', :children, '') + out("", :children, "") end def strong(_) - out('', :children, '') + out("", :children, "") end def link(node) - out('', :children, '') + out(">", :children, "") end def image(node) @@ -145,7 +145,7 @@ def image(node) out(' alt="', :children, '"') end out(' title="', escape_html(node.title), '"') if node.title && !node.title.empty? - out(' />') + out(" />") end def text(node) @@ -153,9 +153,9 @@ def text(node) end def code(node) - out('') + out("") out(escape_html(node.string_content)) - out('') + out("") end def linebreak(_node) @@ -166,7 +166,7 @@ def softbreak(_) if option_enabled?(:HARDBREAKS) out("
\n") elsif option_enabled?(:NOBREAKS) - out(' ') + out(" ") else out("\n") end @@ -199,17 +199,17 @@ def table_row(node) def table_cell(node) align = case @alignments[@column_index] - when :left then ' align="left"' - when :right then ' align="right"' - when :center then ' align="center"' - else; '' - end + when :left then ' align="left"' + when :right then ' align="right"' + when :center then ' align="center"' + else; "" + end out(@in_header ? "" : "", :children, @in_header ? "\n" : "\n") @column_index += 1 end def strikethrough(_) - out('', :children, '') + out("", :children, "") end def footnote_reference(node) @@ -242,7 +242,7 @@ def out_footnote_backref end def tasklist?(node) - node.type_string == 'tasklist' + node.type_string == "tasklist" end def checked?(node) diff --git a/lib/commonmarker/version.rb b/lib/commonmarker/version.rb index c0123a52..cd93b468 100644 --- a/lib/commonmarker/version.rb +++ b/lib/commonmarker/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module CommonMarker - VERSION = '0.23.4' + VERSION = "0.23.4" end diff --git a/test/benchmark.rb b/test/benchmark.rb index 46849ad7..e51eda58 100644 --- a/test/benchmark.rb +++ b/test/benchmark.rb @@ -1,37 +1,37 @@ # frozen_string_literal: true -require 'benchmark/ips' -require 'commonmarker' -require 'redcarpet' -require 'kramdown' -require 'benchmark' +require "benchmark/ips" +require "commonmarker" +require "redcarpet" +require "kramdown" +require "benchmark" -benchinput = File.read('test/benchinput.md').freeze +benchinput = File.read("test/benchinput.md").freeze printf("input size = %d bytes\n\n", { bytes: benchinput.bytesize }) Benchmark.ips do |x| - x.report('redcarpet') do + x.report("redcarpet") do Redcarpet::Markdown.new(Redcarpet::Render::HTML, autolink: false, tables: false).render(benchinput) end - x.report('commonmarker with to_html') do + x.report("commonmarker with to_html") do CommonMarker.render_html(benchinput) end - x.report('commonmarker with to_xml') do + x.report("commonmarker with to_xml") do CommonMarker.render_html(benchinput) end - x.report('commonmarker with ruby HtmlRenderer') do + x.report("commonmarker with ruby HtmlRenderer") do CommonMarker::HtmlRenderer.new.render(CommonMarker.render_doc(benchinput)) end - x.report('commonmarker with render_doc.to_html') do + x.report("commonmarker with render_doc.to_html") do CommonMarker.render_doc(benchinput, :DEFAULT, [:autolink]).to_html(:DEFAULT, [:autolink]) end - x.report('kramdown') do + x.report("kramdown") do Kramdown::Document.new(benchinput).to_html(benchinput) end diff --git a/test/test_attributes.rb b/test/test_attributes.rb index ac7de579..e5e3c903 100644 --- a/test/test_attributes.rb +++ b/test/test_attributes.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestAttributes < Minitest::Test def setup - contents = fixtures_file('dingus.md') + contents = fixtures_file("dingus.md") @doc = CommonMarker.render_doc(contents.strip) end @@ -19,6 +19,6 @@ def test_sourcepos result = [{ start_line: 1, start_column: 1, end_line: 10, end_column: 12 }, { start_line: 1, start_column: 1, end_line: 1, end_column: 17 }, { start_line: 1, start_column: 4, end_line: 1, end_column: 17 }, { start_line: 3, start_column: 1, end_line: 5, end_column: 36 }, { start_line: 3, start_column: 1, end_line: 3, end_column: 55 }, { start_line: 4, start_column: 1, end_line: 4, end_column: 53 }, { start_line: 4, start_column: 2, end_line: 4, end_column: 14 }, { start_line: 4, start_column: 54, end_line: 4, end_column: 58 }, { start_line: 5, start_column: 1, end_line: 5, end_column: 36 }, { start_line: 7, start_column: 1, end_line: 10, end_column: 12 }, { start_line: 7, start_column: 1, end_line: 7, end_column: 11 }, { start_line: 7, start_column: 4, end_line: 7, end_column: 11 }, { start_line: 7, start_column: 4, end_line: 7, end_column: 11 }, { start_line: 8, start_column: 1, end_line: 10, end_column: 12 }, { start_line: 8, start_column: 4, end_line: 8, end_column: 11 }, { start_line: 8, start_column: 4, end_line: 8, end_column: 11 }, { start_line: 9, start_column: 4, end_line: 10, end_column: 12 }, { start_line: 9, start_column: 4, end_line: 9, end_column: 12 }, { start_line: 9, start_column: 6, end_line: 9, end_column: 12 }, { start_line: 9, start_column: 6, end_line: 9, end_column: 12 }, { start_line: 10, start_column: 4, end_line: 10, end_column: 12 }, { start_line: 10, start_column: 6, end_line: 10, end_column: 12 }, { start_line: 10, start_column: 6, end_line: 10, end_column: 12 }] - assert_equal result, sourcepos + assert_equal(result, sourcepos) end end diff --git a/test/test_basics.rb b/test/test_basics.rb index c291b544..70bbe76b 100644 --- a/test/test_basics.rb +++ b/test/test_basics.rb @@ -1,35 +1,35 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestBasics < Minitest::Test def setup - @doc = CommonMarker.render_doc('Hi *there*') + @doc = CommonMarker.render_doc("Hi *there*") end def test_to_html - assert_equal "

Hi there

\n", @doc.to_html + assert_equal("

Hi there

\n", @doc.to_html) end def test_markdown_to_html - html = CommonMarker.render_html('Hi *there*') - assert_equal "

Hi there

\n", html + html = CommonMarker.render_html("Hi *there*") + assert_equal("

Hi there

\n", html) end # basic test that just checks if every option is accepted & no errors are thrown def test_accept_every_option text = "Hello **world** -- how are _you_ today? I'm ~~fine~~, ~yourself~?" - parse_opt = %i[SOURCEPOS UNSAFE VALIDATE_UTF8 SMART LIBERAL_HTML_TAG FOOTNOTES STRIKETHROUGH_DOUBLE_TILDE] - render_opt = parse_opt + %i[HARDBREAKS NOBREAKS GITHUB_PRE_LANG TABLE_PREFER_STYLE_ATTRIBUTES FULL_INFO_STRING] + parse_opt = [:SOURCEPOS, :UNSAFE, :VALIDATE_UTF8, :SMART, :LIBERAL_HTML_TAG, :FOOTNOTES, :STRIKETHROUGH_DOUBLE_TILDE] + render_opt = parse_opt + [:HARDBREAKS, :NOBREAKS, :GITHUB_PRE_LANG, :TABLE_PREFER_STYLE_ATTRIBUTES, :FULL_INFO_STRING] - extensions = %i[table tasklist strikethrough autolink tagfilter] + extensions = [:table, :tasklist, :strikethrough, :autolink, :tagfilter] - assert_equal "

Hello world – how are you today? I’m fine, ~yourself~?

\n", CommonMarker.render_doc(text, parse_opt, extensions).to_html + assert_equal("

Hello world – how are you today? I’m fine, ~yourself~?

\n", CommonMarker.render_doc(text, parse_opt, extensions).to_html) # NOTE: how tho the doc returned has sourcepos info, by default the renderer # won't emit it. for that we need to pass in the render opt - assert_equal "

Hello world – how are you today? I’m fine, ~yourself~?

\n", CommonMarker.render_doc(text, parse_opt, extensions).to_html(render_opt, extensions) + assert_equal("

Hello world – how are you today? I’m fine, ~yourself~?

\n", CommonMarker.render_doc(text, parse_opt, extensions).to_html(render_opt, extensions)) - assert_equal "

Hello world – how are you today? I’m fine, ~yourself~?

\n", CommonMarker.render_html(text, parse_opt, extensions) + assert_equal("

Hello world – how are you today? I’m fine, ~yourself~?

\n", CommonMarker.render_html(text, parse_opt, extensions)) end end diff --git a/test/test_commands.rb b/test/test_commands.rb index e61ffb7e..f26fe89f 100644 --- a/test/test_commands.rb +++ b/test/test_commands.rb @@ -1,72 +1,72 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestCommands < Minitest::Test def test_basic - out = make_bin('strong.md') - assert_equal('

I am strong

', out) + out = make_bin("strong.md") + assert_equal("

I am strong

", out) end def test_does_not_have_extensions - out = make_bin('table.md') - assert_includes out, '| a' - refute_includes out, '

hi' - refute_includes out, '' + out = make_bin("table.md") + assert_includes(out, "| a") + refute_includes(out, "

hi") + refute_includes(out, "

a c
") end def test_understands_extensions - out = make_bin('table.md', '--extension=table') - refute_includes out, '| a' - refute_includes out, '

hi' - %w[

a c
].each { |html| assert_includes out, html } + out = make_bin("table.md", "--extension=table") + refute_includes(out, "| a") + refute_includes(out, "

hi") + ["

a c
", "", "", ""].each { |html| assert_includes(out, html) } end def test_understands_multiple_extensions - out = make_bin('table.md', '--extension=table,strikethrough') - refute_includes out, '| a' - assert_includes out, '

hi' - %w[

", "a", "", "c", "
].each { |html| assert_includes out, html } + out = make_bin("table.md", "--extension=table,strikethrough") + refute_includes(out, "| a") + assert_includes(out, "

hi") + ["

a c
", "", "", ""].each { |html| assert_includes(out, html) } end def test_understands_html_format_with_renderer_and_extensions - out = make_bin('table.md', '--to=html --extension=table,strikethrough --html-renderer') - refute_includes out, '| a' - assert_includes out, '

hi' - %w[

", "a", "", "c", "
].each { |html| assert_includes out, html } + out = make_bin("table.md", "--to=html --extension=table,strikethrough --html-renderer") + refute_includes(out, "| a") + assert_includes(out, "

hi") + ["

a c
", "", "", ""].each { |html| assert_includes(out, html) } end def test_understands_xml_format - out = make_bin('strong.md', '--to=xml') - assert_includes out, '' - assert_includes out, 'strong' + out = make_bin("strong.md", "--to=xml") + assert_includes(out, '') + assert_includes(out, 'strong') end def test_understands_commonmark_format - out = make_bin('strong.md', '--to=commonmark') - assert_equal('I am **strong**', out) + out = make_bin("strong.md", "--to=commonmark") + assert_equal("I am **strong**", out) end def test_understands_plaintext_format - out = make_bin('strong.md', '--to=plaintext') - assert_equal('I am strong', out) + out = make_bin("strong.md", "--to=plaintext") + assert_equal("I am strong", out) end def test_aborts_invalid_format _out, err = capture_subprocess_io do - make_bin('strong.md', '--to=unknown') + make_bin("strong.md", "--to=unknown") end - assert_match "format 'unknown' not found", err + assert_match("format 'unknown' not found", err) end def test_aborts_format_and_html_renderer_combinations (CommonMarker::Config::OPTS[:format] - [:html]).each do |format| _out, err = capture_subprocess_io do - make_bin('strong.md', "--to=#{format} --html-renderer") + make_bin("strong.md", "--to=#{format} --html-renderer") end - assert_match "format '#{format}' does not support using the HtmlRenderer renderer", err + assert_match("format '#{format}' does not support using the HtmlRenderer renderer", err) end end end diff --git a/test/test_commonmark.rb b/test/test_commonmark.rb index 75980e03..0c8d00ca 100644 --- a/test/test_commonmark.rb +++ b/test/test_commonmark.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestCommonmark < Minitest::Test HTML_COMMENT = /\s?/.freeze @@ -23,14 +23,15 @@ def setup end def render_doc(doc) - CommonMarker.render_doc(doc, :DEFAULT, %i[table]) + CommonMarker.render_doc(doc, :DEFAULT, [:table]) end def test_to_commonmark compare = render_doc(@markdown).to_commonmark - assert_equal \ - render_doc(@markdown).to_html.squeeze(' ').gsub(HTML_COMMENT, ''), - render_doc(compare).to_html.squeeze(' ').gsub(HTML_COMMENT, '') + assert_equal(\ + render_doc(@markdown).to_html.squeeze(" ").gsub(HTML_COMMENT, ""), + render_doc(compare).to_html.squeeze(" ").gsub(HTML_COMMENT, "") + ) end end diff --git a/test/test_doc.rb b/test/test_doc.rb index c2a8649a..9b77a638 100644 --- a/test/test_doc.rb +++ b/test/test_doc.rb @@ -1,16 +1,16 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestDocNode < Minitest::Test def setup - @doc = CommonMarker.render_doc('Hi *there*. This has __many nodes__!') + @doc = CommonMarker.render_doc("Hi *there*. This has __many nodes__!") @first_child = @doc.first_child @last_child = @doc.last_child - @link = CommonMarker.render_doc('[GitHub](https://www.github.com)').first_child.first_child + @link = CommonMarker.render_doc("[GitHub](https://www.github.com)").first_child.first_child @image = CommonMarker.render_doc('![alt text](https://github.com/favicon.ico "Favicon")') @image = @image.first_child.first_child - @header = CommonMarker.render_doc('### Header Three').first_child + @header = CommonMarker.render_doc("### Header Three").first_child @ul_list = CommonMarker.render_doc("* Bullet\n*Bullet").first_child @ol_list = CommonMarker.render_doc("1. One\n2. Two").first_child @fence = CommonMarker.render_doc("``` ruby\nputs 'wow'\n```").first_child @@ -21,7 +21,7 @@ def test_get_type end def test_get_type_string - assert_equal('document', @doc.type_string) + assert_equal("document", @doc.type_string) end def test_get_first_child @@ -35,25 +35,25 @@ def test_get_next def test_insert_before paragraph = Node.new(:paragraph) assert(@first_child.insert_before(paragraph)) - assert_match "

\n

Hi there.", @doc.to_html + assert_match("

\n

Hi there.", @doc.to_html) end def test_insert_after paragraph = Node.new(:paragraph) assert(@first_child.insert_after(paragraph)) - assert_match "many nodes!

\n

\n", @doc.to_html + assert_match("many nodes!

\n

\n", @doc.to_html) end def test_prepend_child code = Node.new(:code) assert(@first_child.prepend_child(code)) - assert_match '

Hi there.', @doc.to_html + assert_match("

Hi there.", @doc.to_html) end def test_append_child strong = Node.new(:strong) assert(@first_child.append_child(strong)) - assert_match "!

\n", @doc.to_html + assert_match("!

\n", @doc.to_html) end def test_get_last_child @@ -69,19 +69,19 @@ def test_get_previous end def test_get_url - assert_equal('https://www.github.com', @link.url) + assert_equal("https://www.github.com", @link.url) end def test_set_url - assert_equal('https://www.mozilla.org', @link.url = 'https://www.mozilla.org') + assert_equal("https://www.mozilla.org", @link.url = "https://www.mozilla.org") end def test_get_title - assert_equal('Favicon', @image.title) + assert_equal("Favicon", @image.title) end def test_set_title - assert_equal('Octocat', @image.title = 'Octocat') + assert_equal("Octocat", @image.title = "Octocat") end def test_get_header_level @@ -121,10 +121,10 @@ def test_set_list_tight end def test_get_fence_info - assert_equal('ruby', @fence.fence_info) + assert_equal("ruby", @fence.fence_info) end def test_set_fence_info - assert_equal('javascript', @fence.fence_info = 'javascript') + assert_equal("javascript", @fence.fence_info = "javascript") end end diff --git a/test/test_encoding.rb b/test/test_encoding.rb index 2470bc6e..35d5c33c 100644 --- a/test/test_encoding.rb +++ b/test/test_encoding.rb @@ -1,23 +1,23 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestEncoding < Minitest::Test # see http://git.io/vq4FR def test_encoding - contents = fixtures_file('curly.md') + contents = fixtures_file("curly.md") doc = CommonMarker.render_doc(contents, :SMART) render = doc.to_html - assert_equal('

This curly quote “makes commonmarker throw an exception”.

', render.rstrip) + assert_equal("

This curly quote “makes commonmarker throw an exception”.

", render.rstrip) render = doc.to_xml assert_includes(render, 'This curly quote “makes commonmarker throw an exception”.') end def test_string_content_is_utf8 - doc = CommonMarker.render_doc('Hi *there*') + doc = CommonMarker.render_doc("Hi *there*") text = doc.first_child.last_child.first_child - assert_equal('there', text.string_content) - assert_equal('UTF-8', text.string_content.encoding.name) + assert_equal("there", text.string_content) + assert_equal("UTF-8", text.string_content.encoding.name) end end diff --git a/test/test_extensions.rb b/test/test_extensions.rb index 80327a36..ced40e34 100644 --- a/test/test_extensions.rb +++ b/test/test_extensions.rb @@ -1,76 +1,76 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestExtensions < Minitest::Test def setup - @markdown = fixtures_file('table.md') + @markdown = fixtures_file("table.md") end def test_uses_specified_extensions - CommonMarker.render_html(@markdown, :DEFAULT, %i[]).tap do |out| - assert_includes out, '| a' - assert_includes out, '| x' - assert_includes out, '~~hi~~' + CommonMarker.render_html(@markdown, :DEFAULT, []).tap do |out| + assert_includes(out, "| a") + assert_includes(out, "| x") + assert_includes(out, "~~hi~~") end - CommonMarker.render_html(@markdown, :DEFAULT, %i[table]).tap do |out| - refute_includes out, '| a' - %w[
", "a", "", "c", "
x].each { |html| assert_includes out, html } - assert_includes out, '~~hi~~' + CommonMarker.render_html(@markdown, :DEFAULT, [:table]).tap do |out| + refute_includes(out, "| a") + ["
a c
", "", "", "", "x"].each { |html| assert_includes(out, html) } + assert_includes(out, "~~hi~~") end - CommonMarker.render_html(@markdown, :DEFAULT, %i[strikethrough]).tap do |out| - assert_includes out, '| a' - refute_includes out, '~~hi~~' - assert_includes out, 'hi' + CommonMarker.render_html(@markdown, :DEFAULT, [:strikethrough]).tap do |out| + assert_includes(out, "| a") + refute_includes(out, "~~hi~~") + assert_includes(out, "hi") end - doc = CommonMarker.render_doc('~a~ ~~b~~ ~~~c~~~', :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) + doc = CommonMarker.render_doc("~a~ ~~b~~ ~~~c~~~", :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) assert_equal("

~a~ b ~~~c~~~

\n", doc.to_html) - html = CommonMarker.render_html('~a~ ~~b~~ ~~~c~~~', :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) + html = CommonMarker.render_html("~a~ ~~b~~ ~~~c~~~", :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) assert_equal("

~a~ b ~~~c~~~

\n", html) - CommonMarker.render_html(@markdown, :DEFAULT, %i[table strikethrough]).tap do |out| - refute_includes out, '| a' - refute_includes out, '| x' - refute_includes out, '~~hi~~' + CommonMarker.render_html(@markdown, :DEFAULT, [:table, :strikethrough]).tap do |out| + refute_includes(out, "| a") + refute_includes(out, "| x") + refute_includes(out, "~~hi~~") end end def test_extensions_with_renderers - doc = CommonMarker.render_doc(@markdown, :DEFAULT, %i[table]) + doc = CommonMarker.render_doc(@markdown, :DEFAULT, [:table]) doc.to_html.tap do |out| - refute_includes out, '| a' - %w[
", "a", "", "c", "
x].each { |html| assert_includes out, html } - assert_includes out, '~~hi~~' + refute_includes(out, "| a") + ["
a c
", "", "", "", "x"].each { |html| assert_includes(out, html) } + assert_includes(out, "~~hi~~") end HtmlRenderer.new.render(doc).tap do |out| - refute_includes out, '| a' - %w[
", "a", "", "c", "
x].each { |html| assert_includes out, html } - assert_includes out, '~~hi~~' + refute_includes(out, "| a") + ["
a c
", "", "", "", "x"].each { |html| assert_includes(out, html) } + assert_includes(out, "~~hi~~") end - doc = CommonMarker.render_doc('~a~ ~~b~~ ~~~c~~~', :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) + doc = CommonMarker.render_doc("~a~ ~~b~~ ~~~c~~~", :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) assert_equal("

~a~ b ~~~c~~~

\n", HtmlRenderer.new.render(doc)) end def test_bad_extension_specifications - assert_raises(TypeError) { CommonMarker.render_html(@markdown, :DEFAULT, 'nope') } - assert_raises(TypeError) { CommonMarker.render_html(@markdown, :DEFAULT, ['table']) } - assert_raises(ArgumentError) { CommonMarker.render_html(@markdown, :DEFAULT, %i[table bad]) } + assert_raises(TypeError) { CommonMarker.render_html(@markdown, :DEFAULT, "nope") } + assert_raises(TypeError) { CommonMarker.render_html(@markdown, :DEFAULT, ["table"]) } + assert_raises(ArgumentError) { CommonMarker.render_html(@markdown, :DEFAULT, [:table, :bad]) } end def test_comments_are_kept_as_expected - assert_equal " <xmp>\n", - CommonMarker.render_html(" \n", :UNSAFE, %i[tagfilter]) + assert_equal("<!--hello--> <blah> &lt;xmp>\n", + CommonMarker.render_html("<!--hello--> <blah> <xmp>\n", :UNSAFE, [:tagfilter])) end def test_table_prefer_style_attributes - assert_equal(<<~HTML, CommonMarker.render_html(<<~MD, :TABLE_PREFER_STYLE_ATTRIBUTES, %i[table])) + assert_equal(<<~HTML, CommonMarker.render_html(<<~MD, :TABLE_PREFER_STYLE_ATTRIBUTES, [:table])) <table> <thead> <tr> @@ -99,7 +99,7 @@ def test_table_prefer_style_attributes end def test_plaintext - assert_equal(<<~HTML, CommonMarker.render_doc(<<~MD, :DEFAULT, %i[table strikethrough]).to_plaintext) + assert_equal(<<~HTML, CommonMarker.render_doc(<<~MD, :DEFAULT, [:table, :strikethrough]).to_plaintext) Hello ~there~. | a | diff --git a/test/test_footnotes.rb b/test/test_footnotes.rb index c13df397..7cdfd93a 100644 --- a/test/test_footnotes.rb +++ b/test/test_footnotes.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestFootnotes < Minitest::Test def setup @@ -19,7 +19,7 @@ def test_to_html </section> HTML - assert_equal expected, @doc.to_html + assert_equal(expected, @doc.to_html) end def test_html_renderer @@ -34,7 +34,7 @@ def test_html_renderer </section> HTML - assert_equal expected, CommonMarker::HtmlRenderer.new.render(@doc) + assert_equal(expected, CommonMarker::HtmlRenderer.new.render(@doc)) end def test_render_html @@ -55,6 +55,6 @@ def test_render_html </ol> </section> HTML - assert_equal expected, CommonMarker.render_html(md, :FOOTNOTES) + assert_equal(expected, CommonMarker.render_html(md, :FOOTNOTES)) end end diff --git a/test/test_gc.rb b/test/test_gc.rb index c9919d4b..05456e45 100644 --- a/test/test_gc.rb +++ b/test/test_gc.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true # rubocop:disable Lint/UselessAssignment -require 'test_helper' +require "test_helper" class TestNode < Minitest::Test # These tests are somewhat fragile. It would be better to allocate lots @@ -9,26 +9,26 @@ class TestNode < Minitest::Test # isn't valid by accident. def test_drop_parent_reference - doc = CommonMarker.render_doc('Hi *there*') + doc = CommonMarker.render_doc("Hi *there*") text = doc.first_child.last_child.first_child doc = nil GC.start # Test that doc has not been freed. - assert_equal 'there', text.string_content + assert_equal("there", text.string_content) end def test_drop_child_reference - doc = CommonMarker.render_doc('Hi *there*') + doc = CommonMarker.render_doc("Hi *there*") text = doc.first_child.last_child.first_child text = nil GC.start # Test that the cached child object is still valid. text = doc.first_child.last_child.first_child - assert_equal 'there', text.string_content + assert_equal("there", text.string_content) end def test_remove_parent - doc = CommonMarker.render_doc('Hi *there*') + doc = CommonMarker.render_doc("Hi *there*") para = doc.first_child para.delete doc = nil diff --git a/test/test_helper.rb b/test/test_helper.rb index 5963982c..498d2be1 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -1,20 +1,20 @@ # frozen_string_literal: true -require 'commonmarker' -require 'minitest/autorun' -require 'minitest/pride' -require 'minitest/focus' +require "commonmarker" +require "minitest/autorun" +require "minitest/pride" +require "minitest/focus" -include CommonMarker # rubocop:disable Style/MixinUsage +include CommonMarker -FIXTURES_DIR = File.join(File.dirname(__FILE__), 'fixtures') +FIXTURES_DIR = File.join(File.dirname(__FILE__), "fixtures") def fixtures_file(file) - File.read(File.join(FIXTURES_DIR, file), encoding: 'utf-8') + File.read(File.join(FIXTURES_DIR, file), encoding: "utf-8") end -def make_bin(file, args = '') - `ruby bin/commonmarker #{File.join(FIXTURES_DIR, file)} #{args}`.chomp +def make_bin(file, args = "") + %x(ruby bin/commonmarker #{File.join(FIXTURES_DIR, file)} #{args}).chomp end def open_spec_file(filename) @@ -25,37 +25,37 @@ def open_spec_file(filename) markdown_lines = [] html_lines = [] state = 0 # 0 regular text, 1 markdown example, 2 html output - headertext = '' + headertext = "" tests = [] extensions = [] - header_re = Regexp.new('#+ ') - filepath = File.join('ext', 'commonmarker', 'cmark-upstream', 'test', filename) + header_re = Regexp.new("#+ ") + filepath = File.join("ext", "commonmarker", "cmark-upstream", "test", filename) - File.readlines(filepath, encoding: 'utf-8').each do |line| + File.readlines(filepath, encoding: "utf-8").each do |line| line_number += 1 l = line.strip if l =~ /^`{32} example(.*)$/ state = 1 extensions = Regexp.last_match(1).split - elsif l == '`' * 32 + elsif l == "`" * 32 state = 0 example_number += 1 end_line = line_number tests << { - markdown: markdown_lines.join.tr('→', "\t"), - html: html_lines.join.tr('→', "\t").rstrip, + markdown: markdown_lines.join.tr("→", "\t"), + html: html_lines.join.tr("→", "\t").rstrip, example: example_number, start_line: start_line, end_line: end_line, section: headertext, - extensions: extensions.map(&:to_sym) + extensions: extensions.map(&:to_sym), } start_line = 0 markdown_lines = [] html_lines = [] - elsif l == '.' + elsif l == "." state = 2 elsif state == 1 start_line = line_number - 1 if start_line.zero? @@ -63,7 +63,7 @@ def open_spec_file(filename) elsif state == 2 html_lines << line.to_s elsif state.zero? && header_re.match(line) - headertext = line.sub(header_re, '').strip + headertext = line.sub(header_re, "").strip end end diff --git a/test/test_linebreaks.rb b/test/test_linebreaks.rb index bad80e20..f81b049c 100644 --- a/test/test_linebreaks.rb +++ b/test/test_linebreaks.rb @@ -1,15 +1,15 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestLinebreaks < Minitest::Test def test_hardbreak_no_spaces doc = CommonMarker.render_doc("foo\nbaz") - assert_equal "<p>foo<br />\nbaz</p>\n", doc.to_html(:HARDBREAKS) + assert_equal("<p>foo<br />\nbaz</p>\n", doc.to_html(:HARDBREAKS)) end def test_hardbreak_with_spaces doc = CommonMarker.render_doc("foo \nbaz") - assert_equal "<p>foo<br />\nbaz</p>\n", doc.to_html(:HARDBREAKS) + assert_equal("<p>foo<br />\nbaz</p>\n", doc.to_html(:HARDBREAKS)) end end diff --git a/test/test_maliciousness.rb b/test/test_maliciousness.rb index 971ce15c..454cf50f 100644 --- a/test/test_maliciousness.rb +++ b/test/test_maliciousness.rb @@ -1,260 +1,260 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" module CommonMarker class TestMaliciousness < Minitest::Test def setup - @doc = CommonMarker.render_doc('Hi *there*') + @doc = CommonMarker.render_doc("Hi *there*") end def test_init_with_bad_type - assert_raises TypeError do + assert_raises(TypeError) do Node.new(123) end - assert_raises NodeError do + assert_raises(NodeError) do Node.new(:totes_fake) end - assert_raises TypeError do + assert_raises(TypeError) do Node.new([]) end - assert_raises TypeError do + assert_raises(TypeError) do Node.new([23]) end - assert_raises TypeError do + assert_raises(TypeError) do Node.new(nil) end end def test_rendering_with_bad_type - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_html("foo \n baz", 123) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_html("foo \n baz", :totes_fake) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_html("foo \n baz", []) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_html("foo \n baz", [23]) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_html("foo \n baz", nil) end - assert_raises TypeError do - CommonMarker.render_html("foo \n baz", [:SMART, 'totes_fake']) + assert_raises(TypeError) do + CommonMarker.render_html("foo \n baz", [:SMART, "totes_fake"]) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_html(123) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_html([123]) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_html(nil) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_doc("foo \n baz", 123) end - err = assert_raises TypeError do + err = assert_raises(TypeError) do CommonMarker.render_doc("foo \n baz", :safe) end - assert_equal('option \':safe\' does not exist for CommonMarker::Config::OPTS[:parse]', err.message) + assert_equal("option ':safe' does not exist for CommonMarker::Config::OPTS[:parse]", err.message) - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_doc("foo \n baz", :totes_fake) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_doc("foo \n baz", []) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_doc("foo \n baz", [23]) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_doc("foo \n baz", nil) end - assert_raises TypeError do - CommonMarker.render_doc("foo \n baz", [:SMART, 'totes_fake']) + assert_raises(TypeError) do + CommonMarker.render_doc("foo \n baz", [:SMART, "totes_fake"]) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_doc(123) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_doc([123]) end - assert_raises TypeError do + assert_raises(TypeError) do CommonMarker.render_doc(nil) end end def test_bad_set_string_content - assert_raises TypeError do + assert_raises(TypeError) do @doc.string_content = 123 end end def test_bad_walking - assert_nil @doc.parent - assert_nil @doc.previous + assert_nil(@doc.parent) + assert_nil(@doc.previous) end def test_bad_insertion code = Node.new(:code) - assert_raises NodeError do + assert_raises(NodeError) do @doc.insert_before(code) end paragraph = Node.new(:paragraph) - assert_raises NodeError do + assert_raises(NodeError) do @doc.insert_after(paragraph) end document = Node.new(:document) - assert_raises NodeError do + assert_raises(NodeError) do @doc.prepend_child(document) end - assert_raises NodeError do + assert_raises(NodeError) do @doc.append_child(document) end end def test_bad_url_get - assert_raises NodeError do + assert_raises(NodeError) do @doc.url end end def test_bad_url_set - assert_raises NodeError do - @doc.url = '123' + assert_raises(NodeError) do + @doc.url = "123" end - link = CommonMarker.render_doc('[GitHub](https://www.github.com)').first_child.first_child - assert_raises TypeError do + link = CommonMarker.render_doc("[GitHub](https://www.github.com)").first_child.first_child + assert_raises(TypeError) do link.url = 123 end end def test_bad_title_get - assert_raises NodeError do + assert_raises(NodeError) do @doc.title end end def test_bad_title_set - assert_raises NodeError do - @doc.title = '123' + assert_raises(NodeError) do + @doc.title = "123" end image = CommonMarker.render_doc('![alt text](https://github.com/favicon.ico "Favicon")') image = image.first_child.first_child - assert_raises TypeError do + assert_raises(TypeError) do image.title = 123 end end def test_bad_header_level_get - assert_raises NodeError do + assert_raises(NodeError) do @doc.header_level end end def test_bad_header_level_set - assert_raises NodeError do + assert_raises(NodeError) do @doc.header_level = 1 end - header = CommonMarker.render_doc('### Header Three').first_child - assert_raises TypeError do - header.header_level = '123' + header = CommonMarker.render_doc("### Header Three").first_child + assert_raises(TypeError) do + header.header_level = "123" end end def test_bad_list_type_get - assert_raises NodeError do + assert_raises(NodeError) do @doc.list_type end end def test_bad_list_type_set - assert_raises NodeError do + assert_raises(NodeError) do @doc.list_type = :bullet_list end ul_list = CommonMarker.render_doc("* Bullet\n*Bullet").first_child - assert_raises NodeError do + assert_raises(NodeError) do ul_list.list_type = :fake end - assert_raises TypeError do + assert_raises(TypeError) do ul_list.list_type = 1234 end end def test_bad_list_start_get - assert_raises NodeError do + assert_raises(NodeError) do @doc.list_start end end def test_bad_list_start_set - assert_raises NodeError do + assert_raises(NodeError) do @doc.list_start = 12 end ol_list = CommonMarker.render_doc("1. One\n2. Two").first_child - assert_raises TypeError do + assert_raises(TypeError) do ol_list.list_start = :fake end end def test_bad_list_tight_get - assert_raises NodeError do + assert_raises(NodeError) do @doc.list_tight end end def test_bad_list_tight_set - assert_raises NodeError do + assert_raises(NodeError) do @doc.list_tight = false end end def test_bad_fence_info_get - assert_raises NodeError do + assert_raises(NodeError) do @doc.fence_info end end def test_bad_fence_info_set - assert_raises NodeError do - @doc.fence_info = 'ruby' + assert_raises(NodeError) do + @doc.fence_info = "ruby" end fence = CommonMarker.render_doc("``` ruby\nputs 'wow'\n```").first_child - assert_raises TypeError do + assert_raises(TypeError) do fence.fence_info = 123 end end diff --git a/test/test_node.rb b/test/test_node.rb index a532a7bb..b21c4269 100644 --- a/test/test_node.rb +++ b/test/test_node.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestNode < Minitest::Test def setup - @doc = CommonMarker.render_doc('Hi *there*, I am mostly text!') + @doc = CommonMarker.render_doc("Hi *there*, I am mostly text!") end def test_walk @@ -12,7 +12,7 @@ def test_walk @doc.walk do |node| nodes << node.type end - assert_equal %i[document paragraph text emph text text], nodes + assert_equal([:document, :paragraph, :text, :emph, :text, :text], nodes) end def test_each @@ -20,7 +20,7 @@ def test_each @doc.first_child.each do |node| nodes << node.type end - assert_equal %i[text emph text], nodes + assert_equal([:text, :emph, :text], nodes) end def test_deprecated_each_child @@ -30,43 +30,43 @@ def test_deprecated_each_child nodes << node.type end end - assert_equal %i[text emph text], nodes + assert_equal([:text, :emph, :text], nodes) assert_match(/`each_child` is deprecated/, err) end def test_select nodes = @doc.first_child.select { |node| node.type == :text } - assert_equal CommonMarker::Node, nodes.first.class - assert_equal %i[text text], nodes.map(&:type) + assert_equal(CommonMarker::Node, nodes.first.class) + assert_equal([:text, :text], nodes.map(&:type)) end def test_map nodes = @doc.first_child.map(&:type) - assert_equal %i[text emph text], nodes + assert_equal([:text, :emph, :text], nodes) end def test_insert_illegal - assert_raises NodeError do + assert_raises(NodeError) do @doc.insert_before(@doc) end end def test_to_html - assert_equal "<p>Hi <em>there</em>, I am mostly text!</p>\n", @doc.to_html + assert_equal("<p>Hi <em>there</em>, I am mostly text!</p>\n", @doc.to_html) end def test_html_renderer renderer = HtmlRenderer.new result = renderer.render(@doc) - assert_equal "<p>Hi <em>there</em>, I am mostly text!</p>\n", result + assert_equal("<p>Hi <em>there</em>, I am mostly text!</p>\n", result) end def test_walk_and_set_string_content @doc.walk do |node| - node.string_content = 'world' if node.type == :text && node.string_content == 'there' + node.string_content = "world" if node.type == :text && node.string_content == "there" end result = HtmlRenderer.new.render(@doc) - assert_equal "<p>Hi <em>world</em>, I am mostly text!</p>\n", result + assert_equal("<p>Hi <em>world</em>, I am mostly text!</p>\n", result) end def test_walk_and_delete_node @@ -76,7 +76,7 @@ def test_walk_and_delete_node node.delete end end - assert_equal "<p>Hi there, I am mostly text!</p>\n", @doc.to_html + assert_equal("<p>Hi there, I am mostly text!</p>\n", @doc.to_html) end def test_inspect @@ -84,6 +84,6 @@ def test_inspect end def test_pretty_print - assert_match(/#<CommonMarker::Node\(document\):/, PP.pp(@doc, +'')) + assert_match(/#<CommonMarker::Node\(document\):/, PP.pp(@doc, +"")) end end diff --git a/test/test_options.rb b/test/test_options.rb index 850fface..82e8151d 100644 --- a/test/test_options.rb +++ b/test/test_options.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestExtensions < Minitest::Test def test_full_info_string @@ -11,7 +11,7 @@ module Foo MD CommonMarker.render_html(md, :FULL_INFO_STRING).tap do |out| - assert_includes out, '<pre><code class="language-ruby">' + assert_includes(out, '<pre><code class="language-ruby">') end md = <<~MD @@ -21,7 +21,7 @@ module Foo MD CommonMarker.render_html(md, :FULL_INFO_STRING).tap do |out| - assert_includes out, '<pre><code class="language-ruby" data-meta="my info string">' + assert_includes(out, '<pre><code class="language-ruby" data-meta="my info string">') end md = <<~MD @@ -31,7 +31,7 @@ module Foo MD CommonMarker.render_html(md, :FULL_INFO_STRING).tap do |out| - assert_includes out, %(<pre><code class="language-ruby" data-meta="my � string">) + assert_includes(out, %(<pre><code class="language-ruby" data-meta="my � string">)) end end end diff --git a/test/test_pathological_inputs.rb b/test/test_pathological_inputs.rb index b94e4575..eb8fca3e 100644 --- a/test/test_pathological_inputs.rb +++ b/test/test_pathological_inputs.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -require 'test_helper' -require 'minitest/benchmark' if ENV['BENCH'] +require "test_helper" +require "minitest/benchmark" if ENV["BENCH"] def markdown(str) CommonMarker.render_doc(str).to_html @@ -9,39 +9,39 @@ def markdown(str) # list of pairs consisting of input and a regex that must match the output. pathological = { - 'nested strong emph' => - ["#{'*a **a ' * 65_000}b#{' a** a*' * 65_000}", - Regexp.compile('(<em>a <strong>a ){65_000}b( a</strong> a</em>){65_000}')], - 'many emph closers with no openers' => - [('a_ ' * 65_000), - Regexp.compile('(a[_] ){64999}a_')], - 'many emph openers with no closers' => - [('_a ' * 65_000), - Regexp.compile('(_a ){64999}_a')], - 'many link closers with no openers' => - [('a]' * 65_000), - Regexp.compile('(a\]){65_000}')], - 'many link openers with no closers' => - [('[a' * 65_000), - Regexp.compile('(\[a){65_000}')], - 'mismatched openers and closers' => - [('*a_ ' * 50_000), - Regexp.compile('([*]a[_] ){49999}[*]a_')], - 'link openers and emph closers' => - [('[ a_' * 50_000), - Regexp.compile('(\[ a_){50000}')], - 'hard link/emph case' => - ['**x [a*b**c*](d)', - Regexp.compile('\\*\\*x <a href=\'d\'>a<em>b</em><em>c</em></a>')], - 'nested brackets' => - ["#{'[' * 50_000}a#{']' * 50_000}", - Regexp.compile('\[{50000}a\]{50000}')], - 'nested block quotes' => - ["#{'> ' * 50_000}a", - Regexp.compile('(<blockquote>\n){50000}')], - 'U+0000 in input' => + "nested strong emph" => + ["#{"*a **a " * 65_000}b#{" a** a*" * 65_000}", + Regexp.compile("(<em>a <strong>a ){65_000}b( a</strong> a</em>){65_000}"),], + "many emph closers with no openers" => + [("a_ " * 65_000), + Regexp.compile("(a[_] ){64999}a_"),], + "many emph openers with no closers" => + [("_a " * 65_000), + Regexp.compile("(_a ){64999}_a"),], + "many link closers with no openers" => + [("a]" * 65_000), + Regexp.compile('(a\]){65_000}'),], + "many link openers with no closers" => + [("[a" * 65_000), + Regexp.compile('(\[a){65_000}'),], + "mismatched openers and closers" => + [("*a_ " * 50_000), + Regexp.compile("([*]a[_] ){49999}[*]a_"),], + "link openers and emph closers" => + [("[ a_" * 50_000), + Regexp.compile('(\[ a_){50000}'),], + "hard link/emph case" => + ["**x [a*b**c*](d)", + Regexp.compile('\\*\\*x <a href=\'d\'>a<em>b</em><em>c</em></a>'),], + "nested brackets" => + ["#{"[" * 50_000}a#{"]" * 50_000}", + Regexp.compile('\[{50000}a\]{50000}'),], + "nested block quotes" => + ["#{"> " * 50_000}a", + Regexp.compile('(<blockquote>\n){50000}'),], + "U+0000 in input" => ['abc\u0000de\u0000', - Regexp.compile('abc\ufffd?de\ufffd?')] + Regexp.compile('abc\ufffd?de\ufffd?'),], } pathological.each_pair do |name, description| @@ -51,43 +51,43 @@ def markdown(str) end end -if ENV['BENCH'] +if ENV["BENCH"] class PathologicalInputsPerformanceTest < Minitest::Benchmark def test_bench_pathological_one - assert_performance_linear 0.99 do |n| - star = '*' * (n * 10) + assert_performance_linear(0.99) do |n| + star = "*" * (n * 10) markdown("#{star}#{star}hi#{star}#{star}") end end def test_bench_pathological_two - assert_performance_linear 0.99 do |n| - c = '`t`t`t`t`t`t' * (n * 10) + assert_performance_linear(0.99) do |n| + c = "`t`t`t`t`t`t" * (n * 10) markdown(c) end end def test_bench_pathological_three - assert_performance_linear 0.99 do |n| - markdown(" [a]: #{'A' * n}\n\n#{'[a][]' * n}\n") + assert_performance_linear(0.99) do |n| + markdown(" [a]: #{"A" * n}\n\n#{"[a][]" * n}\n") end end def test_bench_pathological_four - assert_performance_linear 0.5 do |n| - markdown("#{'[' * n}a#{']' * n}") + assert_performance_linear(0.5) do |n| + markdown("#{"[" * n}a#{"]" * n}") end end def test_bench_pathological_five - assert_performance_linear 0.99 do |n| - markdown("#{'**a *a ' * n}#{'a* a**' * n}") + assert_performance_linear(0.99) do |n| + markdown("#{"**a *a " * n}#{"a* a**" * n}") end end def test_bench_unbound_recursion - assert_performance_linear 0.99 do |n| - markdown("#{'[' * n}foo#{'](bar)' * n}") + assert_performance_linear(0.99) do |n| + markdown("#{"[" * n}foo#{"](bar)" * n}") end end end diff --git a/test/test_plaintext.rb b/test/test_plaintext.rb index cc47c680..3ac425df 100644 --- a/test/test_plaintext.rb +++ b/test/test_plaintext.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestPlaintext < Minitest::Test def setup @@ -21,13 +21,13 @@ def setup end def render_doc(doc) - CommonMarker.render_doc(doc, :DEFAULT, %i[table]) + CommonMarker.render_doc(doc, :DEFAULT, [:table]) end def test_to_commonmark compare = render_doc(@markdown).to_plaintext - assert_equal <<~PLAINTEXT, compare + assert_equal(<<~PLAINTEXT, compare) Hi there! 1. I am a numeric list. diff --git a/test/test_renderer.rb b/test/test_renderer.rb index eaec3936..d3209a29 100644 --- a/test/test_renderer.rb +++ b/test/test_renderer.rb @@ -1,16 +1,16 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestRenderer < Minitest::Test def setup - @doc = CommonMarker.render_doc('Hi *there*') + @doc = CommonMarker.render_doc("Hi *there*") end def test_html_renderer renderer = HtmlRenderer.new result = renderer.render(@doc) - assert_equal "<p>Hi <em>there</em></p>\n", result + assert_equal("<p>Hi <em>there</em></p>\n", result) end def test_multiple_tables @@ -23,9 +23,9 @@ def test_multiple_tables | :------: | ---: | :------ | | Foo | Bar | Baz | DOC - doc = CommonMarker.render_doc(content, :DEFAULT, %i[autolink table tagfilter]) + doc = CommonMarker.render_doc(content, :DEFAULT, [:autolink, :table, :tagfilter]) results = CommonMarker::HtmlRenderer.new.render(doc) - assert_equal 2, results.scan(/<tbody>/).size + assert_equal(2, results.scan(/<tbody>/).size) end def test_escape_html_encoding @@ -41,7 +41,7 @@ def text(node) end renderer = my_renderer.new - assert_equal Encoding::UTF_8, renderer.render(@doc).encoding - assert_equal renderer.input_encoding, renderer.output_encoding + assert_equal(Encoding::UTF_8, renderer.render(@doc).encoding) + assert_equal(renderer.input_encoding, renderer.output_encoding) end end diff --git a/test/test_smartpunct.rb b/test/test_smartpunct.rb index a8a7cec1..c2e308ee 100644 --- a/test/test_smartpunct.rb +++ b/test/test_smartpunct.rb @@ -1,9 +1,9 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class SmartPunctTest < Minitest::Test - smart_punct = open_spec_file('smart_punct.txt') + smart_punct = open_spec_file("smart_punct.txt") smart_punct.each do |testcase| doc = CommonMarker.render_doc(testcase[:markdown], :SMART) @@ -22,6 +22,6 @@ def test_smart_hardbreak_no_spaces_render_doc markdown = "\"foo\"\nbaz" result = "<p>“foo”<br />\nbaz</p>\n" doc = CommonMarker.render_doc(markdown, :SMART) - assert_equal result, doc.to_html([:HARDBREAKS]) + assert_equal(result, doc.to_html([:HARDBREAKS])) end end diff --git a/test/test_spec.rb b/test/test_spec.rb index f2d7a8f2..9ef865aa 100644 --- a/test/test_spec.rb +++ b/test/test_spec.rb @@ -1,10 +1,10 @@ # frozen_string_literal: true -require 'test_helper' -require 'json' +require "test_helper" +require "json" class TestSpec < Minitest::Test - spec = open_spec_file('spec.txt') + spec = open_spec_file("spec.txt") spec.each do |testcase| next if testcase[:extensions].include?(:disabled) @@ -22,8 +22,8 @@ class TestSpec < Minitest::Test end define_method("test_sourcepos_example_#{testcase[:example]}") do - lhs = doc.to_html(%i[UNSAFE SOURCEPOS], testcase[:extensions]).rstrip - rhs = HtmlRenderer.new(options: %i[UNSAFE SOURCEPOS], extensions: testcase[:extensions]).render(doc).rstrip + lhs = doc.to_html([:UNSAFE, :SOURCEPOS], testcase[:extensions]).rstrip + rhs = HtmlRenderer.new(options: [:UNSAFE, :SOURCEPOS], extensions: testcase[:extensions]).render(doc).rstrip assert_equal lhs, rhs, testcase[:markdown] end end diff --git a/test/test_tasklists.rb b/test/test_tasklists.rb index f9db26a1..a135376a 100644 --- a/test/test_tasklists.rb +++ b/test/test_tasklists.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestTasklists < Minitest::Test def setup @@ -8,7 +8,7 @@ def setup - [x] Add task list - [ ] Define task list MD - @doc = CommonMarker.render_doc(text, :DEFAULT, %i[tasklist]) + @doc = CommonMarker.render_doc(text, :DEFAULT, [:tasklist]) @expected = <<~HTML <ul> <li><input type="checkbox" checked="" disabled="" /> Add task list</li> @@ -18,26 +18,26 @@ def setup end def test_to_html - assert_equal @expected, @doc.to_html + assert_equal(@expected, @doc.to_html) end def test_html_renderer - assert_equal @expected, CommonMarker::HtmlRenderer.new.render(@doc) + assert_equal(@expected, CommonMarker::HtmlRenderer.new.render(@doc)) end def test_tasklist_state list = @doc.first_child - assert_equal 'checked', list.first_child.tasklist_state - assert list.first_child.tasklist_item_checked? - assert_equal 'unchecked', list.first_child.next.tasklist_state - refute list.first_child.next.tasklist_item_checked? + assert_equal("checked", list.first_child.tasklist_state) + assert_predicate(list.first_child, :tasklist_item_checked?) + assert_equal("unchecked", list.first_child.next.tasklist_state) + refute_predicate(list.first_child.next, :tasklist_item_checked?) end def test_set_tasklist_state list = @doc.first_child list.first_child.tasklist_item_checked = false - refute list.first_child.tasklist_item_checked? + refute_predicate(list.first_child, :tasklist_item_checked?) list.first_child.next.tasklist_item_checked = true - assert list.first_child.next.tasklist_item_checked? + assert_predicate(list.first_child.next, :tasklist_item_checked?) end end diff --git a/test/test_xml.rb b/test/test_xml.rb index c22176a7..89848904 100644 --- a/test/test_xml.rb +++ b/test/test_xml.rb @@ -1,6 +1,6 @@ # frozen_string_literal: true -require 'test_helper' +require "test_helper" class TestXml < Minitest::Test def setup @@ -27,7 +27,7 @@ def render_doc(doc) def test_to_xml compare = render_doc(@markdown).to_xml(:SOURCEPOS) - assert_equal <<~XML, compare + assert_equal(<<~XML, compare) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE document SYSTEM "CommonMark.dtd"> <document sourcepos="1:1-12:13" xmlns="http://commonmark.org/xml/1.0"> @@ -94,7 +94,7 @@ def test_to_xml def test_to_xml_with_quotes compare = render_doc('"quotes" should be escaped').to_xml(:DEFAULT) - assert_equal <<~XML, compare + assert_equal(<<~XML, compare) <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE document SYSTEM "CommonMark.dtd"> <document xmlns="http://commonmark.org/xml/1.0"> From 558c7275b18a7ae16136c0fc55f444458dd8cc58 Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" <gjtorikian@users.noreply.github.com> Date: Tue, 31 May 2022 16:53:37 -0700 Subject: [PATCH 06/20] Bump to 0.23.5 --- lib/commonmarker/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/commonmarker/version.rb b/lib/commonmarker/version.rb index cd93b468..7b7fb291 100644 --- a/lib/commonmarker/version.rb +++ b/lib/commonmarker/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module CommonMarker - VERSION = "0.23.4" + VERSION = "0.23.5" end From 63b7bf89ee1be857c5a5757d6ea678c5c759b8b9 Mon Sep 17 00:00:00 2001 From: Garen Torikian <gjtorikian@users.noreply.github.com> Date: Sat, 30 Jul 2022 20:12:34 -0400 Subject: [PATCH 07/20] Update FUNDING.yml --- .github/FUNDING.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index e07c3fcb..d79c7a6e 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,12 +1,12 @@ # These are supported funding model platforms github: gjtorikian -patreon: gjtorikian -open_collective: garen-torikian +#patreon: gjtorikian +#open_collective: garen-torikian #ko_fi: # Replace with a single Ko-fi username #tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel #community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry #liberapay: # Replace with a single Liberapay username -issuehunt: gjtorikian +#issuehunt: gjtorikian #otechie: # Replace with a single Otechie username #custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] From 39d19d65300c5735efcc77b2a57b65c207c013e7 Mon Sep 17 00:00:00 2001 From: Steven Laidlaw <steven@stevenlaidlaw.com> Date: Thu, 25 Aug 2022 14:33:41 +0800 Subject: [PATCH 08/20] Update cmark-upstream to https://github.com/github/cmark-gfm/commit/766f161ef6d61019acf3a69f5099489e7d14cd49 --- ext/commonmarker/cmark-gfm_version.h | 4 +- ext/commonmarker/cmark-upstream | 2 +- ext/commonmarker/scanners.c | 4888 +++++++++++++------------- ext/commonmarker/table.c | 30 +- 4 files changed, 2455 insertions(+), 2469 deletions(-) diff --git a/ext/commonmarker/cmark-gfm_version.h b/ext/commonmarker/cmark-gfm_version.h index ac403d4d..3296e25a 100644 --- a/ext/commonmarker/cmark-gfm_version.h +++ b/ext/commonmarker/cmark-gfm_version.h @@ -1,7 +1,7 @@ #ifndef CMARK_GFM_VERSION_H #define CMARK_GFM_VERSION_H -#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 4) -#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.4" +#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 2) +#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.2" #endif diff --git a/ext/commonmarker/cmark-upstream b/ext/commonmarker/cmark-upstream index ef1cfcb8..766f161e 160000 --- a/ext/commonmarker/cmark-upstream +++ b/ext/commonmarker/cmark-upstream @@ -1 +1 @@ -Subproject commit ef1cfcb8a31de72bb951d9259bc4ac89e266975b +Subproject commit 766f161ef6d61019acf3a69f5099489e7d14cd49 diff --git a/ext/commonmarker/scanners.c b/ext/commonmarker/scanners.c index 285b7a31..dfa6e5c1 100644 --- a/ext/commonmarker/scanners.c +++ b/ext/commonmarker/scanners.c @@ -1,4 +1,4 @@ -/* Generated by re2c 1.3 */ +/* Generated by re2c 1.1.1 */ #include <stdlib.h> #include "chunk.h" #include "scanners.h" @@ -5089,45 +5089,36 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } yy374: yych = *++p; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'C') goto yy413; - goto yy358; - } else { - if (yych <= 'E') goto yy414; - if (yych <= 'S') goto yy358; - if (yych <= 'T') goto yy415; - goto yy416; - } - } else { - if (yych <= 'e') { - if (yych == 'c') goto yy413; - if (yych <= 'd') goto yy358; - goto yy414; - } else { - if (yych <= 's') goto yy358; - if (yych <= 't') goto yy415; - if (yych <= 'u') goto yy416; - goto yy358; - } + switch (yych) { + case 'C': + case 'c': goto yy413; + case 'E': + case 'e': goto yy414; + case 'O': + case 'o': goto yy415; + case 'T': + case 't': goto yy416; + case 'U': + case 'u': goto yy417; + default: goto yy358; } yy375: yych = *++p; switch (yych) { case 'A': - case 'a': goto yy417; + case 'a': goto yy418; case 'B': - case 'b': goto yy418; + case 'b': goto yy419; case 'D': case 'd': goto yy392; case 'F': - case 'f': goto yy419; + case 'f': goto yy420; case 'H': - case 'h': goto yy420; + case 'h': goto yy421; case 'I': - case 'i': goto yy421; + case 'i': goto yy422; case 'R': - case 'r': goto yy422; + case 'r': goto yy423; default: goto yy358; } yy376: @@ -5137,15 +5128,15 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy377: yych = *++p; - if (yych == '-') goto yy423; + if (yych == '-') goto yy424; goto yy358; yy378: ++p; { return 4; } yy380: yych = *++p; - if (yych == 'C') goto yy425; - if (yych == 'c') goto yy425; + if (yych == 'C') goto yy426; + if (yych == 'c') goto yy426; goto yy358; yy381: yych = *++p; @@ -5172,62 +5163,68 @@ bufsize_t _scan_html_block_start(const unsigned char *p) yy382: yych = *++p; if (yych <= 'U') { - if (yych == 'E') goto yy414; - if (yych <= 'T') goto yy358; - goto yy416; + if (yych <= 'N') { + if (yych == 'E') goto yy414; + goto yy358; + } else { + if (yych <= 'O') goto yy415; + if (yych <= 'T') goto yy358; + goto yy417; + } } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy414; + if (yych <= 'n') { + if (yych == 'e') goto yy414; + goto yy358; } else { - if (yych == 'u') goto yy416; + if (yych <= 'o') goto yy415; + if (yych == 'u') goto yy417; goto yy358; } } yy383: yych = *++p; - if (yych == 'D') goto yy426; - if (yych == 'd') goto yy426; + if (yych == 'D') goto yy427; + if (yych == 'd') goto yy427; goto yy358; yy384: yych = *++p; - if (yych == 'T') goto yy427; - if (yych == 't') goto yy427; + if (yych == 'T') goto yy428; + if (yych == 't') goto yy428; goto yy358; yy385: yych = *++p; - if (yych == 'I') goto yy428; - if (yych == 'i') goto yy428; + if (yych == 'I') goto yy429; + if (yych == 'i') goto yy429; goto yy358; yy386: yych = *++p; - if (yych == 'S') goto yy429; - if (yych == 's') goto yy429; + if (yych == 'S') goto yy430; + if (yych == 's') goto yy430; goto yy358; yy387: yych = *++p; - if (yych == 'O') goto yy430; - if (yych == 'o') goto yy430; + if (yych == 'O') goto yy431; + if (yych == 'o') goto yy431; goto yy358; yy388: yych = *++p; - if (yych == 'D') goto yy431; - if (yych == 'd') goto yy431; + if (yych == 'D') goto yy432; + if (yych == 'd') goto yy432; goto yy358; yy389: yych = *++p; - if (yych == 'P') goto yy432; - if (yych == 'p') goto yy432; + if (yych == 'P') goto yy433; + if (yych == 'p') goto yy433; goto yy358; yy390: yych = *++p; - if (yych == 'N') goto yy433; - if (yych == 'n') goto yy433; + if (yych == 'N') goto yy434; + if (yych == 'n') goto yy434; goto yy358; yy391: yych = *++p; - if (yych == 'L') goto yy434; - if (yych == 'l') goto yy434; + if (yych == 'L') goto yy435; + if (yych == 'l') goto yy435; goto yy358; yy392: yych = *++p; @@ -5247,14 +5244,14 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } yy393: yych = *++p; - if (yych == 'T') goto yy435; - if (yych == 't') goto yy435; + if (yych == 'T') goto yy436; + if (yych == 't') goto yy436; goto yy358; yy394: yych = *++p; if (yych <= 'V') { if (yych <= 'Q') { - if (yych == 'A') goto yy436; + if (yych == 'A') goto yy437; goto yy358; } else { if (yych <= 'R') goto yy392; @@ -5263,7 +5260,7 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } } else { if (yych <= 'q') { - if (yych == 'a') goto yy436; + if (yych == 'a') goto yy437; goto yy358; } else { if (yych <= 'r') goto yy392; @@ -5274,42 +5271,42 @@ bufsize_t _scan_html_block_start(const unsigned char *p) yy395: yych = *++p; if (yych <= 'G') { - if (yych == 'E') goto yy437; + if (yych == 'E') goto yy438; if (yych <= 'F') goto yy358; - goto yy438; + goto yy439; } else { if (yych <= 'e') { if (yych <= 'd') goto yy358; - goto yy437; + goto yy438; } else { - if (yych == 'g') goto yy438; + if (yych == 'g') goto yy439; goto yy358; } } yy396: yych = *++p; if (yych <= 'R') { - if (yych == 'O') goto yy433; + if (yych == 'O') goto yy434; if (yych <= 'Q') goto yy358; - goto yy439; + goto yy440; } else { if (yych <= 'o') { if (yych <= 'n') goto yy358; - goto yy433; + goto yy434; } else { - if (yych == 'r') goto yy439; + if (yych == 'r') goto yy440; goto yy358; } } yy397: yych = *++p; - if (yych == 'A') goto yy440; - if (yych == 'a') goto yy440; + if (yych == 'A') goto yy441; + if (yych == 'a') goto yy441; goto yy358; yy398: yych = *++p; - if (yych == 'A') goto yy441; - if (yych == 'a') goto yy441; + if (yych == 'A') goto yy442; + if (yych == 'a') goto yy442; goto yy358; yy399: yych = *++p; @@ -5318,13 +5315,13 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy400: yych = *++p; - if (yych == 'R') goto yy442; - if (yych == 'r') goto yy442; + if (yych == 'R') goto yy443; + if (yych == 'r') goto yy443; goto yy358; yy401: yych = *++p; - if (yych == 'G') goto yy443; - if (yych == 'g') goto yy443; + if (yych == 'G') goto yy444; + if (yych == 'g') goto yy444; goto yy358; yy402: yych = *++p; @@ -5343,20 +5340,20 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'N') goto yy444; - if (yych == 'n') goto yy444; + if (yych <= 'N') goto yy445; + if (yych == 'n') goto yy445; goto yy358; } } yy403: yych = *++p; - if (yych == 'I') goto yy445; - if (yych == 'i') goto yy445; + if (yych == 'I') goto yy446; + if (yych == 'i') goto yy446; goto yy358; yy404: yych = *++p; - if (yych == 'N') goto yy446; - if (yych == 'n') goto yy446; + if (yych == 'N') goto yy447; + if (yych == 'n') goto yy447; goto yy358; yy405: yych = *++p; @@ -5365,13 +5362,13 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy406: yych = *++p; - if (yych == 'F') goto yy447; - if (yych == 'f') goto yy447; + if (yych == 'F') goto yy448; + if (yych == 'f') goto yy448; goto yy358; yy407: yych = *++p; - if (yych == 'T') goto yy448; - if (yych == 't') goto yy448; + if (yych == 'T') goto yy449; + if (yych == 't') goto yy449; goto yy358; yy408: ++p; @@ -5382,50 +5379,55 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy411: yych = *++p; - if (yych == 'R') goto yy449; - if (yych == 'r') goto yy449; + if (yych == 'R') goto yy450; + if (yych == 'r') goto yy450; goto yy358; yy412: yych = *++p; - if (yych == 'E') goto yy450; - if (yych == 'e') goto yy450; + if (yych == 'E') goto yy451; + if (yych == 'e') goto yy451; goto yy358; yy413: yych = *++p; - if (yych == 'R') goto yy451; - if (yych == 'r') goto yy451; + if (yych == 'R') goto yy452; + if (yych == 'r') goto yy452; goto yy358; yy414: yych = *++p; - if (yych == 'C') goto yy432; - if (yych == 'c') goto yy432; + if (yych == 'C') goto yy433; + if (yych == 'c') goto yy433; goto yy358; yy415: yych = *++p; - if (yych == 'Y') goto yy452; - if (yych == 'y') goto yy452; + if (yych == 'U') goto yy453; + if (yych == 'u') goto yy453; goto yy358; yy416: yych = *++p; - if (yych == 'M') goto yy453; - if (yych == 'm') goto yy453; + if (yych == 'Y') goto yy454; + if (yych == 'y') goto yy454; goto yy358; yy417: yych = *++p; - if (yych == 'B') goto yy454; - if (yych == 'b') goto yy454; + if (yych == 'M') goto yy455; + if (yych == 'm') goto yy455; goto yy358; yy418: yych = *++p; - if (yych == 'O') goto yy388; - if (yych == 'o') goto yy388; + if (yych == 'B') goto yy456; + if (yych == 'b') goto yy456; goto yy358; yy419: yych = *++p; - if (yych == 'O') goto yy455; - if (yych == 'o') goto yy455; + if (yych == 'O') goto yy388; + if (yych == 'o') goto yy388; goto yy358; yy420: + yych = *++p; + if (yych == 'O') goto yy457; + if (yych == 'o') goto yy457; + goto yy358; +yy421: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5442,17 +5444,17 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'E') goto yy456; - if (yych == 'e') goto yy456; + if (yych <= 'E') goto yy458; + if (yych == 'e') goto yy458; goto yy358; } } -yy421: +yy422: yych = *++p; - if (yych == 'T') goto yy454; - if (yych == 't') goto yy454; + if (yych == 'T') goto yy456; + if (yych == 't') goto yy456; goto yy358; -yy422: +yy423: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5469,60 +5471,60 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'A') goto yy457; - if (yych == 'a') goto yy457; + if (yych <= 'A') goto yy459; + if (yych == 'a') goto yy459; goto yy358; } } -yy423: +yy424: ++p; { return 2; } -yy425: - yych = *++p; - if (yych == 'D') goto yy458; - if (yych == 'd') goto yy458; - goto yy358; yy426: yych = *++p; - if (yych == 'R') goto yy459; - if (yych == 'r') goto yy459; + if (yych == 'D') goto yy460; + if (yych == 'd') goto yy460; goto yy358; yy427: yych = *++p; - if (yych == 'I') goto yy460; - if (yych == 'i') goto yy460; + if (yych == 'R') goto yy461; + if (yych == 'r') goto yy461; goto yy358; yy428: yych = *++p; - if (yych == 'D') goto yy461; - if (yych == 'd') goto yy461; + if (yych == 'I') goto yy462; + if (yych == 'i') goto yy462; goto yy358; yy429: yych = *++p; - if (yych == 'E') goto yy462; - if (yych == 'e') goto yy462; + if (yych == 'D') goto yy463; + if (yych == 'd') goto yy463; goto yy358; yy430: yych = *++p; - if (yych == 'C') goto yy463; - if (yych == 'c') goto yy463; + if (yych == 'E') goto yy464; + if (yych == 'e') goto yy464; goto yy358; yy431: yych = *++p; - if (yych == 'Y') goto yy392; - if (yych == 'y') goto yy392; + if (yych == 'C') goto yy465; + if (yych == 'c') goto yy465; goto yy358; yy432: yych = *++p; - if (yych == 'T') goto yy464; - if (yych == 't') goto yy464; + if (yych == 'Y') goto yy392; + if (yych == 'y') goto yy392; goto yy358; yy433: yych = *++p; - if (yych == 'T') goto yy465; - if (yych == 't') goto yy465; + if (yych == 'T') goto yy466; + if (yych == 't') goto yy466; goto yy358; yy434: + yych = *++p; + if (yych == 'T') goto yy467; + if (yych == 't') goto yy467; + goto yy358; +yy435: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5539,173 +5541,178 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'G') goto yy466; - if (yych == 'g') goto yy466; + if (yych <= 'G') goto yy468; + if (yych == 'g') goto yy468; goto yy358; } } -yy435: - yych = *++p; - if (yych == 'A') goto yy467; - if (yych == 'a') goto yy467; - goto yy358; yy436: yych = *++p; - if (yych == 'L') goto yy468; - if (yych == 'l') goto yy468; + if (yych == 'A') goto yy469; + if (yych == 'a') goto yy469; goto yy358; yy437: yych = *++p; - if (yych == 'L') goto yy469; - if (yych == 'l') goto yy469; + if (yych == 'L') goto yy470; + if (yych == 'l') goto yy470; goto yy358; yy438: + yych = *++p; + if (yych == 'L') goto yy471; + if (yych == 'l') goto yy471; + goto yy358; +yy439: yych = *++p; if (yych <= 'U') { - if (yych == 'C') goto yy470; + if (yych == 'C') goto yy472; if (yych <= 'T') goto yy358; - goto yy471; + goto yy473; } else { if (yych <= 'c') { if (yych <= 'b') goto yy358; - goto yy470; + goto yy472; } else { - if (yych == 'u') goto yy471; + if (yych == 'u') goto yy473; goto yy358; } } -yy439: +yy440: yych = *++p; if (yych == 'M') goto yy392; if (yych == 'm') goto yy392; goto yy358; -yy440: - yych = *++p; - if (yych == 'M') goto yy472; - if (yych == 'm') goto yy472; - goto yy358; yy441: yych = *++p; - if (yych == 'D') goto yy473; - if (yych == 'd') goto yy473; + if (yych == 'M') goto yy474; + if (yych == 'm') goto yy474; goto yy358; yy442: yych = *++p; - if (yych == 'A') goto yy474; - if (yych == 'a') goto yy474; + if (yych == 'D') goto yy475; + if (yych == 'd') goto yy475; goto yy358; yy443: yych = *++p; - if (yych == 'E') goto yy475; - if (yych == 'e') goto yy475; + if (yych == 'A') goto yy476; + if (yych == 'a') goto yy476; goto yy358; yy444: yych = *++p; - if (yych == 'K') goto yy392; - if (yych == 'k') goto yy392; + if (yych == 'E') goto yy477; + if (yych == 'e') goto yy477; goto yy358; yy445: yych = *++p; - if (yych == 'N') goto yy392; - if (yych == 'n') goto yy392; + if (yych == 'K') goto yy392; + if (yych == 'k') goto yy392; goto yy358; yy446: yych = *++p; - if (yych == 'U') goto yy476; - if (yych == 'u') goto yy476; + if (yych == 'N') goto yy392; + if (yych == 'n') goto yy392; goto yy358; yy447: yych = *++p; - if (yych == 'R') goto yy477; - if (yych == 'r') goto yy477; + if (yych == 'U') goto yy478; + if (yych == 'u') goto yy478; goto yy358; yy448: + yych = *++p; + if (yych == 'R') goto yy479; + if (yych == 'r') goto yy479; + goto yy358; +yy449: yych = *++p; if (yych <= 'I') { - if (yych == 'G') goto yy466; + if (yych == 'G') goto yy468; if (yych <= 'H') goto yy358; - goto yy478; + goto yy480; } else { if (yych <= 'g') { if (yych <= 'f') goto yy358; - goto yy466; + goto yy468; } else { - if (yych == 'i') goto yy478; + if (yych == 'i') goto yy480; goto yy358; } } -yy449: +yy450: yych = *++p; - if (yych == 'A') goto yy439; - if (yych == 'a') goto yy439; + if (yych == 'A') goto yy440; + if (yych == 'a') goto yy440; goto yy358; -yy450: +yy451: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy479; + if (yych <= '\r') goto yy481; goto yy358; } else { - if (yych <= ' ') goto yy479; - if (yych == '>') goto yy479; + if (yych <= ' ') goto yy481; + if (yych == '>') goto yy481; goto yy358; } -yy451: - yych = *++p; - if (yych == 'I') goto yy481; - if (yych == 'i') goto yy481; - goto yy358; yy452: yych = *++p; - if (yych == 'L') goto yy412; - if (yych == 'l') goto yy412; + if (yych == 'I') goto yy483; + if (yych == 'i') goto yy483; goto yy358; yy453: yych = *++p; - if (yych == 'M') goto yy482; - if (yych == 'm') goto yy482; + if (yych == 'R') goto yy484; + if (yych == 'r') goto yy484; goto yy358; yy454: yych = *++p; - if (yych == 'L') goto yy461; - if (yych == 'l') goto yy461; + if (yych == 'L') goto yy412; + if (yych == 'l') goto yy412; goto yy358; yy455: yych = *++p; - if (yych == 'O') goto yy483; - if (yych == 'o') goto yy483; + if (yych == 'M') goto yy485; + if (yych == 'm') goto yy485; goto yy358; yy456: yych = *++p; - if (yych == 'A') goto yy484; - if (yych == 'a') goto yy484; + if (yych == 'L') goto yy463; + if (yych == 'l') goto yy463; goto yy358; yy457: yych = *++p; - if (yych == 'C') goto yy444; - if (yych == 'c') goto yy444; + if (yych == 'O') goto yy486; + if (yych == 'o') goto yy486; goto yy358; yy458: yych = *++p; - if (yych == 'A') goto yy485; - if (yych == 'a') goto yy485; + if (yych == 'A') goto yy487; + if (yych == 'a') goto yy487; goto yy358; yy459: yych = *++p; - if (yych == 'E') goto yy486; - if (yych == 'e') goto yy486; + if (yych == 'C') goto yy445; + if (yych == 'c') goto yy445; goto yy358; yy460: yych = *++p; - if (yych == 'C') goto yy454; - if (yych == 'c') goto yy454; + if (yych == 'A') goto yy488; + if (yych == 'a') goto yy488; goto yy358; yy461: + yych = *++p; + if (yych == 'E') goto yy489; + if (yych == 'e') goto yy489; + goto yy358; +yy462: + yych = *++p; + if (yych == 'C') goto yy456; + if (yych == 'c') goto yy456; + goto yy358; +yy463: yych = *++p; if (yych == 'E') goto yy392; if (yych == 'e') goto yy392; goto yy358; -yy462: +yy464: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5722,62 +5729,62 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'F') goto yy487; - if (yych == 'f') goto yy487; + if (yych <= 'F') goto yy490; + if (yych == 'f') goto yy490; goto yy358; } } -yy463: - yych = *++p; - if (yych == 'K') goto yy488; - if (yych == 'k') goto yy488; - goto yy358; -yy464: - yych = *++p; - if (yych == 'I') goto yy478; - if (yych == 'i') goto yy478; - goto yy358; yy465: yych = *++p; - if (yych == 'E') goto yy489; - if (yych == 'e') goto yy489; + if (yych == 'K') goto yy491; + if (yych == 'k') goto yy491; goto yy358; yy466: yych = *++p; - if (yych == 'R') goto yy490; - if (yych == 'r') goto yy490; + if (yych == 'I') goto yy480; + if (yych == 'i') goto yy480; goto yy358; yy467: yych = *++p; - if (yych == 'I') goto yy491; - if (yych == 'i') goto yy491; + if (yych == 'E') goto yy492; + if (yych == 'e') goto yy492; goto yy358; yy468: yych = *++p; - if (yych == 'O') goto yy492; - if (yych == 'o') goto yy492; + if (yych == 'R') goto yy493; + if (yych == 'r') goto yy493; goto yy358; yy469: yych = *++p; - if (yych == 'D') goto yy493; - if (yych == 'd') goto yy493; + if (yych == 'I') goto yy494; + if (yych == 'i') goto yy494; goto yy358; yy470: yych = *++p; - if (yych == 'A') goto yy389; - if (yych == 'a') goto yy389; + if (yych == 'O') goto yy495; + if (yych == 'o') goto yy495; goto yy358; yy471: yych = *++p; - if (yych == 'R') goto yy461; - if (yych == 'r') goto yy461; + if (yych == 'D') goto yy496; + if (yych == 'd') goto yy496; goto yy358; yy472: yych = *++p; - if (yych == 'E') goto yy494; - if (yych == 'e') goto yy494; + if (yych == 'A') goto yy389; + if (yych == 'a') goto yy389; goto yy358; yy473: + yych = *++p; + if (yych == 'R') goto yy463; + if (yych == 'r') goto yy463; + goto yy358; +yy474: + yych = *++p; + if (yych == 'E') goto yy497; + if (yych == 'e') goto yy497; + goto yy358; +yy475: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5794,22 +5801,22 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'E') goto yy489; - if (yych == 'e') goto yy489; + if (yych <= 'E') goto yy492; + if (yych == 'e') goto yy492; goto yy358; } } -yy474: +yy476: yych = *++p; - if (yych == 'M') goto yy461; - if (yych == 'm') goto yy461; + if (yych == 'M') goto yy463; + if (yych == 'm') goto yy463; goto yy358; -yy475: +yy477: yych = *++p; - if (yych == 'N') goto yy484; - if (yych == 'n') goto yy484; + if (yych == 'N') goto yy487; + if (yych == 'n') goto yy487; goto yy358; -yy476: +yy478: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5826,90 +5833,95 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'I') goto yy495; - if (yych == 'i') goto yy495; + if (yych <= 'I') goto yy498; + if (yych == 'i') goto yy498; goto yy358; } } -yy477: +yy479: yych = *++p; - if (yych == 'A') goto yy496; - if (yych == 'a') goto yy496; + if (yych == 'A') goto yy499; + if (yych == 'a') goto yy499; goto yy358; -yy478: +yy480: yych = *++p; - if (yych == 'O') goto yy445; - if (yych == 'o') goto yy445; + if (yych == 'O') goto yy446; + if (yych == 'o') goto yy446; goto yy358; -yy479: +yy481: ++p; { return 1; } -yy481: - yych = *++p; - if (yych == 'P') goto yy497; - if (yych == 'p') goto yy497; - goto yy358; -yy482: - yych = *++p; - if (yych == 'A') goto yy498; - if (yych == 'a') goto yy498; - goto yy358; yy483: yych = *++p; - if (yych == 'T') goto yy392; - if (yych == 't') goto yy392; + if (yych == 'P') goto yy500; + if (yych == 'p') goto yy500; goto yy358; yy484: yych = *++p; - if (yych == 'D') goto yy392; - if (yych == 'd') goto yy392; + if (yych == 'C') goto yy463; + if (yych == 'c') goto yy463; goto yy358; yy485: yych = *++p; - if (yych == 'T') goto yy499; - if (yych == 't') goto yy499; + if (yych == 'A') goto yy501; + if (yych == 'a') goto yy501; goto yy358; yy486: yych = *++p; - if (yych == 'S') goto yy500; - if (yych == 's') goto yy500; + if (yych == 'T') goto yy392; + if (yych == 't') goto yy392; goto yy358; yy487: yych = *++p; - if (yych == 'O') goto yy501; - if (yych == 'o') goto yy501; + if (yych == 'D') goto yy392; + if (yych == 'd') goto yy392; goto yy358; yy488: yych = *++p; - if (yych == 'Q') goto yy502; - if (yych == 'q') goto yy502; + if (yych == 'T') goto yy502; + if (yych == 't') goto yy502; goto yy358; yy489: yych = *++p; - if (yych == 'R') goto yy392; - if (yych == 'r') goto yy392; + if (yych == 'S') goto yy503; + if (yych == 's') goto yy503; goto yy358; yy490: yych = *++p; - if (yych == 'O') goto yy503; - if (yych == 'o') goto yy503; + if (yych == 'O') goto yy504; + if (yych == 'o') goto yy504; goto yy358; yy491: yych = *++p; - if (yych == 'L') goto yy500; - if (yych == 'l') goto yy500; + if (yych == 'Q') goto yy505; + if (yych == 'q') goto yy505; goto yy358; yy492: yych = *++p; - if (yych == 'G') goto yy392; - if (yych == 'g') goto yy392; + if (yych == 'R') goto yy392; + if (yych == 'r') goto yy392; goto yy358; yy493: yych = *++p; - if (yych == 'S') goto yy504; - if (yych == 's') goto yy504; + if (yych == 'O') goto yy506; + if (yych == 'o') goto yy506; goto yy358; yy494: + yych = *++p; + if (yych == 'L') goto yy503; + if (yych == 'l') goto yy503; + goto yy358; +yy495: + yych = *++p; + if (yych == 'G') goto yy392; + if (yych == 'g') goto yy392; + goto yy358; +yy496: + yych = *++p; + if (yych == 'S') goto yy507; + if (yych == 's') goto yy507; + goto yy358; +yy497: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5926,92 +5938,92 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'S') goto yy504; - if (yych == 's') goto yy504; + if (yych <= 'S') goto yy507; + if (yych == 's') goto yy507; goto yy358; } } -yy495: - yych = *++p; - if (yych == 'T') goto yy505; - if (yych == 't') goto yy505; - goto yy358; -yy496: - yych = *++p; - if (yych == 'M') goto yy506; - if (yych == 'm') goto yy506; - goto yy358; -yy497: - yych = *++p; - if (yych == 'T') goto yy450; - if (yych == 't') goto yy450; - goto yy358; yy498: yych = *++p; - if (yych == 'R') goto yy431; - if (yych == 'r') goto yy431; + if (yych == 'T') goto yy508; + if (yych == 't') goto yy508; goto yy358; yy499: yych = *++p; - if (yych == 'A') goto yy507; - if (yych == 'a') goto yy507; + if (yych == 'M') goto yy509; + if (yych == 'm') goto yy509; goto yy358; yy500: yych = *++p; - if (yych == 'S') goto yy392; - if (yych == 's') goto yy392; + if (yych == 'T') goto yy451; + if (yych == 't') goto yy451; goto yy358; yy501: yych = *++p; - if (yych == 'N') goto yy483; - if (yych == 'n') goto yy483; + if (yych == 'R') goto yy432; + if (yych == 'r') goto yy432; goto yy358; yy502: yych = *++p; - if (yych == 'U') goto yy508; - if (yych == 'u') goto yy508; + if (yych == 'A') goto yy510; + if (yych == 'a') goto yy510; goto yy358; yy503: yych = *++p; - if (yych == 'U') goto yy509; - if (yych == 'u') goto yy509; + if (yych == 'S') goto yy392; + if (yych == 's') goto yy392; goto yy358; yy504: yych = *++p; - if (yych == 'E') goto yy483; - if (yych == 'e') goto yy483; + if (yych == 'N') goto yy486; + if (yych == 'n') goto yy486; goto yy358; yy505: yych = *++p; - if (yych == 'E') goto yy439; - if (yych == 'e') goto yy439; + if (yych == 'U') goto yy511; + if (yych == 'u') goto yy511; goto yy358; yy506: yych = *++p; - if (yych == 'E') goto yy500; - if (yych == 'e') goto yy500; + if (yych == 'U') goto yy512; + if (yych == 'u') goto yy512; goto yy358; yy507: yych = *++p; - if (yych == '[') goto yy510; + if (yych == 'E') goto yy486; + if (yych == 'e') goto yy486; goto yy358; yy508: yych = *++p; - if (yych == 'O') goto yy512; - if (yych == 'o') goto yy512; + if (yych == 'E') goto yy440; + if (yych == 'e') goto yy440; goto yy358; yy509: + yych = *++p; + if (yych == 'E') goto yy503; + if (yych == 'e') goto yy503; + goto yy358; +yy510: + yych = *++p; + if (yych == '[') goto yy513; + goto yy358; +yy511: + yych = *++p; + if (yych == 'O') goto yy515; + if (yych == 'o') goto yy515; + goto yy358; +yy512: yych = *++p; if (yych == 'P') goto yy392; if (yych == 'p') goto yy392; goto yy358; -yy510: +yy513: ++p; { return 5; } -yy512: +yy515: yych = *++p; - if (yych == 'T') goto yy461; - if (yych == 't') goto yy461; + if (yych == 'T') goto yy463; + if (yych == 't') goto yy463; goto yy358; } @@ -6061,421 +6073,421 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '<') goto yy517; + if (yych == '<') goto yy520; ++p; -yy516: +yy519: { return 0; } -yy517: +yy520: yyaccept = 0; yych = *(marker = ++p); if (yych <= '@') { - if (yych != '/') goto yy516; + if (yych != '/') goto yy519; } else { - if (yych <= 'Z') goto yy520; - if (yych <= '`') goto yy516; - if (yych <= 'z') goto yy520; - goto yy516; + if (yych <= 'Z') goto yy523; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy523; + goto yy519; } yych = *++p; - if (yych <= '@') goto yy519; - if (yych <= 'Z') goto yy522; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy522; -yy519: + if (yych <= '@') goto yy522; + if (yych <= 'Z') goto yy525; + if (yych <= '`') goto yy522; + if (yych <= 'z') goto yy525; +yy522: p = marker; if (yyaccept == 0) { - goto yy516; + goto yy519; } else { - goto yy535; + goto yy538; } -yy520: +yy523: yych = *++p; if (yybm[0+yych] & 2) { - goto yy524; + goto yy527; } if (yych <= '=') { if (yych <= '.') { - if (yych == '-') goto yy520; - goto yy519; + if (yych == '-') goto yy523; + goto yy522; } else { - if (yych <= '/') goto yy526; - if (yych <= '9') goto yy520; - goto yy519; + if (yych <= '/') goto yy529; + if (yych <= '9') goto yy523; + goto yy522; } } else { if (yych <= 'Z') { - if (yych <= '>') goto yy527; - if (yych <= '@') goto yy519; - goto yy520; + if (yych <= '>') goto yy530; + if (yych <= '@') goto yy522; + goto yy523; } else { - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy520; - goto yy519; + if (yych <= '`') goto yy522; + if (yych <= 'z') goto yy523; + goto yy522; } } -yy522: +yy525: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy529; - goto yy519; + if (yych <= 0x08) goto yy522; + if (yych <= '\r') goto yy532; + goto yy522; } else { - if (yych <= ' ') goto yy529; - if (yych == '-') goto yy522; - goto yy519; + if (yych <= ' ') goto yy532; + if (yych == '-') goto yy525; + goto yy522; } } else { if (yych <= '@') { - if (yych <= '9') goto yy522; - if (yych == '>') goto yy527; - goto yy519; + if (yych <= '9') goto yy525; + if (yych == '>') goto yy530; + goto yy522; } else { - if (yych <= 'Z') goto yy522; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy522; - goto yy519; + if (yych <= 'Z') goto yy525; + if (yych <= '`') goto yy522; + if (yych <= 'z') goto yy525; + goto yy522; } } -yy524: +yy527: yych = *++p; if (yybm[0+yych] & 2) { - goto yy524; + goto yy527; } if (yych <= '>') { if (yych <= '9') { - if (yych != '/') goto yy519; + if (yych != '/') goto yy522; } else { - if (yych <= ':') goto yy531; - if (yych <= '=') goto yy519; - goto yy527; + if (yych <= ':') goto yy534; + if (yych <= '=') goto yy522; + goto yy530; } } else { if (yych <= '^') { - if (yych <= '@') goto yy519; - if (yych <= 'Z') goto yy531; - goto yy519; + if (yych <= '@') goto yy522; + if (yych <= 'Z') goto yy534; + goto yy522; } else { - if (yych == '`') goto yy519; - if (yych <= 'z') goto yy531; - goto yy519; + if (yych == '`') goto yy522; + if (yych <= 'z') goto yy534; + goto yy522; } } -yy526: +yy529: yych = *++p; - if (yych != '>') goto yy519; -yy527: + if (yych != '>') goto yy522; +yy530: yych = *++p; if (yybm[0+yych] & 4) { - goto yy527; + goto yy530; } - if (yych <= 0x08) goto yy519; - if (yych <= '\n') goto yy533; - if (yych <= '\v') goto yy519; - if (yych <= '\r') goto yy536; - goto yy519; -yy529: + if (yych <= 0x08) goto yy522; + if (yych <= '\n') goto yy536; + if (yych <= '\v') goto yy522; + if (yych <= '\r') goto yy539; + goto yy522; +yy532: yych = *++p; if (yych <= 0x1F) { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy529; - goto yy519; + if (yych <= 0x08) goto yy522; + if (yych <= '\r') goto yy532; + goto yy522; } else { - if (yych <= ' ') goto yy529; - if (yych == '>') goto yy527; - goto yy519; + if (yych <= ' ') goto yy532; + if (yych == '>') goto yy530; + goto yy522; } -yy531: +yy534: yych = *++p; if (yybm[0+yych] & 8) { - goto yy531; + goto yy534; } if (yych <= ',') { if (yych <= '\r') { - if (yych <= 0x08) goto yy519; - goto yy537; + if (yych <= 0x08) goto yy522; + goto yy540; } else { - if (yych == ' ') goto yy537; - goto yy519; + if (yych == ' ') goto yy540; + goto yy522; } } else { if (yych <= '<') { - if (yych <= '/') goto yy526; - goto yy519; + if (yych <= '/') goto yy529; + goto yy522; } else { - if (yych <= '=') goto yy539; - if (yych <= '>') goto yy527; - goto yy519; + if (yych <= '=') goto yy542; + if (yych <= '>') goto yy530; + goto yy522; } } -yy533: +yy536: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 4) { - goto yy527; + goto yy530; } - if (yych <= 0x08) goto yy535; - if (yych <= '\n') goto yy533; - if (yych <= '\v') goto yy535; - if (yych <= '\r') goto yy536; -yy535: + if (yych <= 0x08) goto yy538; + if (yych <= '\n') goto yy536; + if (yych <= '\v') goto yy538; + if (yych <= '\r') goto yy539; +yy538: { return 7; } -yy536: +yy539: ++p; - goto yy535; -yy537: + goto yy538; +yy540: yych = *++p; if (yych <= '<') { if (yych <= ' ') { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy537; - if (yych <= 0x1F) goto yy519; - goto yy537; + if (yych <= 0x08) goto yy522; + if (yych <= '\r') goto yy540; + if (yych <= 0x1F) goto yy522; + goto yy540; } else { if (yych <= '/') { - if (yych <= '.') goto yy519; - goto yy526; + if (yych <= '.') goto yy522; + goto yy529; } else { - if (yych == ':') goto yy531; - goto yy519; + if (yych == ':') goto yy534; + goto yy522; } } } else { if (yych <= 'Z') { - if (yych <= '=') goto yy539; - if (yych <= '>') goto yy527; - if (yych <= '@') goto yy519; - goto yy531; + if (yych <= '=') goto yy542; + if (yych <= '>') goto yy530; + if (yych <= '@') goto yy522; + goto yy534; } else { if (yych <= '_') { - if (yych <= '^') goto yy519; - goto yy531; + if (yych <= '^') goto yy522; + goto yy534; } else { - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy531; - goto yy519; + if (yych <= '`') goto yy522; + if (yych <= 'z') goto yy534; + goto yy522; } } } -yy539: +yy542: yych = *++p; if (yybm[0+yych] & 32) { - goto yy541; + goto yy544; } if (yych <= 0xE0) { if (yych <= '"') { - if (yych <= 0x00) goto yy519; - if (yych <= ' ') goto yy539; - goto yy543; + if (yych <= 0x00) goto yy522; + if (yych <= ' ') goto yy542; + goto yy546; } else { - if (yych <= '\'') goto yy545; - if (yych <= 0xC1) goto yy519; - if (yych <= 0xDF) goto yy547; - goto yy548; + if (yych <= '\'') goto yy548; + if (yych <= 0xC1) goto yy522; + if (yych <= 0xDF) goto yy550; + goto yy551; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy550; - goto yy549; + if (yych == 0xED) goto yy553; + goto yy552; } else { - if (yych <= 0xF0) goto yy551; - if (yych <= 0xF3) goto yy552; - if (yych <= 0xF4) goto yy553; - goto yy519; + if (yych <= 0xF0) goto yy554; + if (yych <= 0xF3) goto yy555; + if (yych <= 0xF4) goto yy556; + goto yy522; } } -yy541: +yy544: yych = *++p; if (yybm[0+yych] & 32) { - goto yy541; + goto yy544; } if (yych <= 0xE0) { if (yych <= '=') { - if (yych <= 0x00) goto yy519; - if (yych <= ' ') goto yy524; - goto yy519; + if (yych <= 0x00) goto yy522; + if (yych <= ' ') goto yy527; + goto yy522; } else { - if (yych <= '>') goto yy527; - if (yych <= 0xC1) goto yy519; - if (yych <= 0xDF) goto yy547; - goto yy548; + if (yych <= '>') goto yy530; + if (yych <= 0xC1) goto yy522; + if (yych <= 0xDF) goto yy550; + goto yy551; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy550; - goto yy549; + if (yych == 0xED) goto yy553; + goto yy552; } else { - if (yych <= 0xF0) goto yy551; - if (yych <= 0xF3) goto yy552; - if (yych <= 0xF4) goto yy553; - goto yy519; + if (yych <= 0xF0) goto yy554; + if (yych <= 0xF3) goto yy555; + if (yych <= 0xF4) goto yy556; + goto yy522; } } -yy543: +yy546: yych = *++p; if (yybm[0+yych] & 64) { - goto yy543; + goto yy546; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy519; - if (yych <= '"') goto yy554; - goto yy519; + if (yych <= 0x00) goto yy522; + if (yych <= '"') goto yy557; + goto yy522; } else { - if (yych <= 0xDF) goto yy555; - if (yych <= 0xE0) goto yy556; - goto yy557; + if (yych <= 0xDF) goto yy558; + if (yych <= 0xE0) goto yy559; + goto yy560; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy558; - if (yych <= 0xEF) goto yy557; - goto yy559; + if (yych <= 0xED) goto yy561; + if (yych <= 0xEF) goto yy560; + goto yy562; } else { - if (yych <= 0xF3) goto yy560; - if (yych <= 0xF4) goto yy561; - goto yy519; + if (yych <= 0xF3) goto yy563; + if (yych <= 0xF4) goto yy564; + goto yy522; } } -yy545: +yy548: yych = *++p; if (yybm[0+yych] & 128) { - goto yy545; + goto yy548; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy519; - if (yych <= '\'') goto yy554; - goto yy519; + if (yych <= 0x00) goto yy522; + if (yych <= '\'') goto yy557; + goto yy522; } else { - if (yych <= 0xDF) goto yy562; - if (yych <= 0xE0) goto yy563; - goto yy564; + if (yych <= 0xDF) goto yy565; + if (yych <= 0xE0) goto yy566; + goto yy567; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy565; - if (yych <= 0xEF) goto yy564; - goto yy566; + if (yych <= 0xED) goto yy568; + if (yych <= 0xEF) goto yy567; + goto yy569; } else { - if (yych <= 0xF3) goto yy567; - if (yych <= 0xF4) goto yy568; - goto yy519; + if (yych <= 0xF3) goto yy570; + if (yych <= 0xF4) goto yy571; + goto yy522; } } -yy547: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy541; - goto yy519; -yy548: - yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy547; - goto yy519; -yy549: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy547; - goto yy519; yy550: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy547; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy544; + goto yy522; yy551: yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy549; - goto yy519; + if (yych <= 0x9F) goto yy522; + if (yych <= 0xBF) goto yy550; + goto yy522; yy552: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy549; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy550; + goto yy522; yy553: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy549; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0x9F) goto yy550; + goto yy522; yy554: yych = *++p; - if (yybm[0+yych] & 2) { - goto yy524; - } - if (yych == '/') goto yy526; - if (yych == '>') goto yy527; - goto yy519; + if (yych <= 0x8F) goto yy522; + if (yych <= 0xBF) goto yy552; + goto yy522; yy555: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy543; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy552; + goto yy522; yy556: yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy555; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0x8F) goto yy552; + goto yy522; yy557: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy555; - goto yy519; + if (yybm[0+yych] & 2) { + goto yy527; + } + if (yych == '/') goto yy529; + if (yych == '>') goto yy530; + goto yy522; yy558: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy555; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy546; + goto yy522; yy559: yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy557; - goto yy519; + if (yych <= 0x9F) goto yy522; + if (yych <= 0xBF) goto yy558; + goto yy522; yy560: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy557; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy558; + goto yy522; yy561: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy557; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0x9F) goto yy558; + goto yy522; yy562: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy545; - goto yy519; + if (yych <= 0x8F) goto yy522; + if (yych <= 0xBF) goto yy560; + goto yy522; yy563: yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy562; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy560; + goto yy522; yy564: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy562; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0x8F) goto yy560; + goto yy522; yy565: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy562; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy548; + goto yy522; yy566: yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy564; - goto yy519; + if (yych <= 0x9F) goto yy522; + if (yych <= 0xBF) goto yy565; + goto yy522; yy567: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy564; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy565; + goto yy522; yy568: yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy564; - goto yy519; + if (yych <= 0x7F) goto yy522; + if (yych <= 0x9F) goto yy565; + goto yy522; +yy569: + yych = *++p; + if (yych <= 0x8F) goto yy522; + if (yych <= 0xBF) goto yy567; + goto yy522; +yy570: + yych = *++p; + if (yych <= 0x7F) goto yy522; + if (yych <= 0xBF) goto yy567; + goto yy522; +yy571: + yych = *++p; + if (yych <= 0x7F) goto yy522; + if (yych <= 0x8F) goto yy567; + goto yy522; } } @@ -6526,634 +6538,634 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= ';') { - if (yych <= 0x00) goto yy571; - if (yych != '\n') goto yy573; + if (yych <= 0x00) goto yy574; + if (yych != '\n') goto yy576; } else { - if (yych <= '<') goto yy574; - if (yych <= 0x7F) goto yy573; - if (yych >= 0xC2) goto yy575; + if (yych <= '<') goto yy577; + if (yych <= 0x7F) goto yy576; + if (yych >= 0xC2) goto yy578; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy576; - if (yych == 0xED) goto yy578; - goto yy577; + if (yych <= 0xE0) goto yy579; + if (yych == 0xED) goto yy581; + goto yy580; } else { - if (yych <= 0xF0) goto yy579; - if (yych <= 0xF3) goto yy580; - if (yych <= 0xF4) goto yy581; + if (yych <= 0xF0) goto yy582; + if (yych <= 0xF3) goto yy583; + if (yych <= 0xF4) goto yy584; } } -yy571: +yy574: ++p; -yy572: +yy575: { return 0; } -yy573: +yy576: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy572; - if (yych <= '\t') goto yy583; - goto yy572; + if (yych <= 0x00) goto yy575; + if (yych <= '\t') goto yy586; + goto yy575; } else { - if (yych <= 0x7F) goto yy583; - if (yych <= 0xC1) goto yy572; - if (yych <= 0xF4) goto yy583; - goto yy572; + if (yych <= 0x7F) goto yy586; + if (yych <= 0xC1) goto yy575; + if (yych <= 0xF4) goto yy586; + goto yy575; } -yy574: +yy577: yyaccept = 0; yych = *(marker = ++p); if (yych <= '.') { - if (yych <= 0x00) goto yy572; - if (yych == '\n') goto yy572; - goto yy583; + if (yych <= 0x00) goto yy575; + if (yych == '\n') goto yy575; + goto yy586; } else { if (yych <= 0x7F) { - if (yych <= '/') goto yy594; - goto yy583; + if (yych <= '/') goto yy597; + goto yy586; } else { - if (yych <= 0xC1) goto yy572; - if (yych <= 0xF4) goto yy583; - goto yy572; + if (yych <= 0xC1) goto yy575; + if (yych <= 0xF4) goto yy586; + goto yy575; } } -yy575: +yy578: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy582; - goto yy572; -yy576: + if (yych <= 0x7F) goto yy575; + if (yych <= 0xBF) goto yy585; + goto yy575; +yy579: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy572; - if (yych <= 0xBF) goto yy587; - goto yy572; -yy577: + if (yych <= 0x9F) goto yy575; + if (yych <= 0xBF) goto yy590; + goto yy575; +yy580: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy587; - goto yy572; -yy578: + if (yych <= 0x7F) goto yy575; + if (yych <= 0xBF) goto yy590; + goto yy575; +yy581: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0x9F) goto yy587; - goto yy572; -yy579: + if (yych <= 0x7F) goto yy575; + if (yych <= 0x9F) goto yy590; + goto yy575; +yy582: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy572; - if (yych <= 0xBF) goto yy589; - goto yy572; -yy580: + if (yych <= 0x8F) goto yy575; + if (yych <= 0xBF) goto yy592; + goto yy575; +yy583: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy589; - goto yy572; -yy581: + if (yych <= 0x7F) goto yy575; + if (yych <= 0xBF) goto yy592; + goto yy575; +yy584: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0x8F) goto yy589; - goto yy572; -yy582: + if (yych <= 0x7F) goto yy575; + if (yych <= 0x8F) goto yy592; + goto yy575; +yy585: yych = *++p; -yy583: +yy586: if (yybm[0+yych] & 64) { - goto yy582; + goto yy585; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy584; - if (yych <= '<') goto yy585; + if (yych <= '\n') goto yy587; + if (yych <= '<') goto yy588; } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + goto yy592; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xED) goto yy593; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; } } -yy584: +yy587: p = marker; if (yyaccept == 0) { - goto yy572; + goto yy575; } else { - goto yy604; + goto yy607; } -yy585: +yy588: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xDF) { if (yych <= '.') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { - if (yych <= '/') goto yy594; - if (yych <= 0x7F) goto yy582; - if (yych <= 0xC1) goto yy584; + if (yych <= '/') goto yy597; + if (yych <= 0x7F) goto yy585; + if (yych <= 0xC1) goto yy587; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy588; - if (yych == 0xED) goto yy590; - goto yy589; + if (yych <= 0xE0) goto yy591; + if (yych == 0xED) goto yy593; + goto yy592; } else { - if (yych <= 0xF0) goto yy591; - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF0) goto yy594; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } -yy587: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy582; - goto yy584; -yy588: - yych = *++p; - if (yych <= 0x9F) goto yy584; - if (yych <= 0xBF) goto yy587; - goto yy584; -yy589: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy587; - goto yy584; yy590: yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0x9F) goto yy587; - goto yy584; + if (yych <= 0x7F) goto yy587; + if (yych <= 0xBF) goto yy585; + goto yy587; yy591: yych = *++p; - if (yych <= 0x8F) goto yy584; - if (yych <= 0xBF) goto yy589; - goto yy584; + if (yych <= 0x9F) goto yy587; + if (yych <= 0xBF) goto yy590; + goto yy587; yy592: yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy589; - goto yy584; + if (yych <= 0x7F) goto yy587; + if (yych <= 0xBF) goto yy590; + goto yy587; yy593: yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0x8F) goto yy589; - goto yy584; + if (yych <= 0x7F) goto yy587; + if (yych <= 0x9F) goto yy590; + goto yy587; yy594: + yych = *++p; + if (yych <= 0x8F) goto yy587; + if (yych <= 0xBF) goto yy592; + goto yy587; +yy595: + yych = *++p; + if (yych <= 0x7F) goto yy587; + if (yych <= 0xBF) goto yy592; + goto yy587; +yy596: + yych = *++p; + if (yych <= 0x7F) goto yy587; + if (yych <= 0x8F) goto yy592; + goto yy587; +yy597: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 's') { if (yych <= 'P') { if (yych <= '\t') { - if (yych <= 0x00) goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + goto yy585; } else { - if (yych <= '\n') goto yy584; - if (yych <= 'O') goto yy582; + if (yych <= '\n') goto yy587; + if (yych <= 'O') goto yy585; } } else { if (yych <= 'o') { - if (yych == 'S') goto yy596; - goto yy582; + if (yych == 'S') goto yy599; + goto yy585; } else { - if (yych <= 'p') goto yy595; - if (yych <= 'r') goto yy582; - goto yy596; + if (yych <= 'p') goto yy598; + if (yych <= 'r') goto yy585; + goto yy599; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 0x7F) goto yy585; + goto yy587; } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + goto yy592; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xED) goto yy593; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy595: +yy598: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xC1) { if (yych <= 'Q') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { if (yych <= 'q') { - if (yych <= 'R') goto yy597; - goto yy582; + if (yych <= 'R') goto yy600; + goto yy585; } else { - if (yych <= 'r') goto yy597; - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 'r') goto yy600; + if (yych <= 0x7F) goto yy585; + goto yy587; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + if (yych <= 0xEC) goto yy592; + goto yy593; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy596: +yy599: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 't') { if (yych <= 'C') { if (yych <= '\t') { - if (yych <= 0x00) goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + goto yy585; } else { - if (yych <= '\n') goto yy584; - if (yych <= 'B') goto yy582; - goto yy598; + if (yych <= '\n') goto yy587; + if (yych <= 'B') goto yy585; + goto yy601; } } else { if (yych <= 'b') { - if (yych == 'T') goto yy599; - goto yy582; + if (yych == 'T') goto yy602; + goto yy585; } else { - if (yych <= 'c') goto yy598; - if (yych <= 's') goto yy582; - goto yy599; + if (yych <= 'c') goto yy601; + if (yych <= 's') goto yy585; + goto yy602; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 0x7F) goto yy585; + goto yy587; } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + goto yy592; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xED) goto yy593; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy597: +yy600: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xC1) { if (yych <= 'D') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { if (yych <= 'd') { - if (yych <= 'E') goto yy600; - goto yy582; + if (yych <= 'E') goto yy603; + goto yy585; } else { - if (yych <= 'e') goto yy600; - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 'e') goto yy603; + if (yych <= 0x7F) goto yy585; + goto yy587; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + if (yych <= 0xEC) goto yy592; + goto yy593; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy598: +yy601: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xC1) { if (yych <= 'Q') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { if (yych <= 'q') { - if (yych <= 'R') goto yy601; - goto yy582; + if (yych <= 'R') goto yy604; + goto yy585; } else { - if (yych <= 'r') goto yy601; - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 'r') goto yy604; + if (yych <= 0x7F) goto yy585; + goto yy587; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + if (yych <= 0xEC) goto yy592; + goto yy593; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy599: +yy602: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xC1) { if (yych <= 'X') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { if (yych <= 'x') { - if (yych <= 'Y') goto yy602; - goto yy582; + if (yych <= 'Y') goto yy605; + goto yy585; } else { - if (yych <= 'y') goto yy602; - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 'y') goto yy605; + if (yych <= 0x7F) goto yy585; + goto yy587; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + if (yych <= 0xEC) goto yy592; + goto yy593; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy600: +yy603: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { - if (yych <= '>') goto yy603; - if (yych <= 0x7F) goto yy582; - if (yych <= 0xC1) goto yy584; - goto yy587; + if (yych <= '>') goto yy606; + if (yych <= 0x7F) goto yy585; + if (yych <= 0xC1) goto yy587; + goto yy590; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy588; - if (yych == 0xED) goto yy590; - goto yy589; + if (yych <= 0xE0) goto yy591; + if (yych == 0xED) goto yy593; + goto yy592; } else { - if (yych <= 0xF0) goto yy591; - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF0) goto yy594; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } -yy601: +yy604: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xC1) { if (yych <= 'H') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { if (yych <= 'h') { - if (yych <= 'I') goto yy605; - goto yy582; + if (yych <= 'I') goto yy608; + goto yy585; } else { - if (yych <= 'i') goto yy605; - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 'i') goto yy608; + if (yych <= 0x7F) goto yy585; + goto yy587; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + if (yych <= 0xEC) goto yy592; + goto yy593; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy602: +yy605: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xC1) { if (yych <= 'K') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { if (yych <= 'k') { - if (yych <= 'L') goto yy597; - goto yy582; + if (yych <= 'L') goto yy600; + goto yy585; } else { - if (yych <= 'l') goto yy597; - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 'l') goto yy600; + if (yych <= 0x7F) goto yy585; + goto yy587; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + if (yych <= 0xEC) goto yy592; + goto yy593; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy603: +yy606: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy582; + goto yy585; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy604; - if (yych <= '<') goto yy585; + if (yych <= '\n') goto yy607; + if (yych <= '<') goto yy588; } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + goto yy592; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xED) goto yy593; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; } } -yy604: +yy607: { return (bufsize_t)(p - start); } -yy605: +yy608: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xC1) { if (yych <= 'O') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { if (yych <= 'o') { - if (yych >= 'Q') goto yy582; + if (yych >= 'Q') goto yy585; } else { - if (yych <= 'p') goto yy606; - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 'p') goto yy609; + if (yych <= 0x7F) goto yy585; + goto yy587; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + if (yych <= 0xEC) goto yy592; + goto yy593; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } -yy606: +yy609: yych = *++p; if (yybm[0+yych] & 128) { - goto yy585; + goto yy588; } if (yych <= 0xC1) { if (yych <= 'S') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; + if (yych <= 0x00) goto yy587; + if (yych == '\n') goto yy587; + goto yy585; } else { if (yych <= 's') { - if (yych <= 'T') goto yy600; - goto yy582; + if (yych <= 'T') goto yy603; + goto yy585; } else { - if (yych <= 't') goto yy600; - if (yych <= 0x7F) goto yy582; - goto yy584; + if (yych <= 't') goto yy603; + if (yych <= 0x7F) goto yy585; + goto yy587; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; + if (yych <= 0xDF) goto yy590; + if (yych <= 0xE0) goto yy591; + if (yych <= 0xEC) goto yy592; + goto yy593; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; + if (yych <= 0xEF) goto yy592; + goto yy594; } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; + if (yych <= 0xF3) goto yy595; + if (yych <= 0xF4) goto yy596; + goto yy587; } } } @@ -7207,246 +7219,246 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= ',') { - if (yych <= 0x00) goto yy609; - if (yych != '\n') goto yy611; + if (yych <= 0x00) goto yy612; + if (yych != '\n') goto yy614; } else { - if (yych <= '-') goto yy612; - if (yych <= 0x7F) goto yy611; - if (yych >= 0xC2) goto yy613; + if (yych <= '-') goto yy615; + if (yych <= 0x7F) goto yy614; + if (yych >= 0xC2) goto yy616; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy614; - if (yych == 0xED) goto yy616; - goto yy615; + if (yych <= 0xE0) goto yy617; + if (yych == 0xED) goto yy619; + goto yy618; } else { - if (yych <= 0xF0) goto yy617; - if (yych <= 0xF3) goto yy618; - if (yych <= 0xF4) goto yy619; + if (yych <= 0xF0) goto yy620; + if (yych <= 0xF3) goto yy621; + if (yych <= 0xF4) goto yy622; } } -yy609: +yy612: ++p; -yy610: +yy613: { return 0; } -yy611: +yy614: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy610; - if (yych <= '\t') goto yy621; - goto yy610; + if (yych <= 0x00) goto yy613; + if (yych <= '\t') goto yy624; + goto yy613; } else { - if (yych <= 0x7F) goto yy621; - if (yych <= 0xC1) goto yy610; - if (yych <= 0xF4) goto yy621; - goto yy610; + if (yych <= 0x7F) goto yy624; + if (yych <= 0xC1) goto yy613; + if (yych <= 0xF4) goto yy624; + goto yy613; } -yy612: +yy615: yyaccept = 0; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy631; + goto yy634; } if (yych <= '\n') { - if (yych <= 0x00) goto yy610; - if (yych <= '\t') goto yy621; - goto yy610; + if (yych <= 0x00) goto yy613; + if (yych <= '\t') goto yy624; + goto yy613; } else { - if (yych <= 0x7F) goto yy621; - if (yych <= 0xC1) goto yy610; - if (yych <= 0xF4) goto yy621; - goto yy610; + if (yych <= 0x7F) goto yy624; + if (yych <= 0xC1) goto yy613; + if (yych <= 0xF4) goto yy624; + goto yy613; } -yy613: +yy616: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy620; - goto yy610; -yy614: + if (yych <= 0x7F) goto yy613; + if (yych <= 0xBF) goto yy623; + goto yy613; +yy617: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy610; - if (yych <= 0xBF) goto yy624; - goto yy610; -yy615: + if (yych <= 0x9F) goto yy613; + if (yych <= 0xBF) goto yy627; + goto yy613; +yy618: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy624; - goto yy610; -yy616: + if (yych <= 0x7F) goto yy613; + if (yych <= 0xBF) goto yy627; + goto yy613; +yy619: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0x9F) goto yy624; - goto yy610; -yy617: + if (yych <= 0x7F) goto yy613; + if (yych <= 0x9F) goto yy627; + goto yy613; +yy620: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy610; - if (yych <= 0xBF) goto yy626; - goto yy610; -yy618: + if (yych <= 0x8F) goto yy613; + if (yych <= 0xBF) goto yy629; + goto yy613; +yy621: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy626; - goto yy610; -yy619: + if (yych <= 0x7F) goto yy613; + if (yych <= 0xBF) goto yy629; + goto yy613; +yy622: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0x8F) goto yy626; - goto yy610; -yy620: + if (yych <= 0x7F) goto yy613; + if (yych <= 0x8F) goto yy629; + goto yy613; +yy623: yych = *++p; -yy621: +yy624: if (yybm[0+yych] & 64) { - goto yy620; + goto yy623; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy622; - if (yych <= '-') goto yy623; + if (yych <= '\n') goto yy625; + if (yych <= '-') goto yy626; } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; + if (yych <= 0xDF) goto yy627; + if (yych <= 0xE0) goto yy628; + goto yy629; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; + if (yych <= 0xED) goto yy630; + if (yych <= 0xEF) goto yy629; + goto yy631; } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; + if (yych <= 0xF3) goto yy632; + if (yych <= 0xF4) goto yy633; } } -yy622: +yy625: p = marker; if (yyaccept == 0) { - goto yy610; + goto yy613; } else { - goto yy634; + goto yy637; } -yy623: +yy626: yych = *++p; if (yybm[0+yych] & 64) { - goto yy620; + goto yy623; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy622; - if (yych <= '-') goto yy631; - goto yy622; + if (yych <= '\n') goto yy625; + if (yych <= '-') goto yy634; + goto yy625; } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; + if (yych <= 0xDF) goto yy627; + if (yych <= 0xE0) goto yy628; + goto yy629; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; + if (yych <= 0xED) goto yy630; + if (yych <= 0xEF) goto yy629; + goto yy631; } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - goto yy622; + if (yych <= 0xF3) goto yy632; + if (yych <= 0xF4) goto yy633; + goto yy625; } } -yy624: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy620; - goto yy622; -yy625: - yych = *++p; - if (yych <= 0x9F) goto yy622; - if (yych <= 0xBF) goto yy624; - goto yy622; -yy626: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy624; - goto yy622; yy627: yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0x9F) goto yy624; - goto yy622; + if (yych <= 0x7F) goto yy625; + if (yych <= 0xBF) goto yy623; + goto yy625; yy628: yych = *++p; - if (yych <= 0x8F) goto yy622; - if (yych <= 0xBF) goto yy626; - goto yy622; + if (yych <= 0x9F) goto yy625; + if (yych <= 0xBF) goto yy627; + goto yy625; yy629: yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy626; - goto yy622; + if (yych <= 0x7F) goto yy625; + if (yych <= 0xBF) goto yy627; + goto yy625; yy630: yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0x8F) goto yy626; - goto yy622; + if (yych <= 0x7F) goto yy625; + if (yych <= 0x9F) goto yy627; + goto yy625; yy631: + yych = *++p; + if (yych <= 0x8F) goto yy625; + if (yych <= 0xBF) goto yy629; + goto yy625; +yy632: + yych = *++p; + if (yych <= 0x7F) goto yy625; + if (yych <= 0xBF) goto yy629; + goto yy625; +yy633: + yych = *++p; + if (yych <= 0x7F) goto yy625; + if (yych <= 0x8F) goto yy629; + goto yy625; +yy634: yych = *++p; if (yybm[0+yych] & 128) { - goto yy631; + goto yy634; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy622; - if (yych == '\n') goto yy622; - goto yy620; + if (yych <= 0x00) goto yy625; + if (yych == '\n') goto yy625; + goto yy623; } else { - if (yych <= '>') goto yy633; - if (yych <= 0x7F) goto yy620; - if (yych <= 0xC1) goto yy622; - goto yy624; + if (yych <= '>') goto yy636; + if (yych <= 0x7F) goto yy623; + if (yych <= 0xC1) goto yy625; + goto yy627; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy625; - if (yych == 0xED) goto yy627; - goto yy626; + if (yych <= 0xE0) goto yy628; + if (yych == 0xED) goto yy630; + goto yy629; } else { - if (yych <= 0xF0) goto yy628; - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - goto yy622; + if (yych <= 0xF0) goto yy631; + if (yych <= 0xF3) goto yy632; + if (yych <= 0xF4) goto yy633; + goto yy625; } } -yy633: +yy636: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy620; + goto yy623; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy634; - if (yych <= '-') goto yy623; + if (yych <= '\n') goto yy637; + if (yych <= '-') goto yy626; } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; + if (yych <= 0xDF) goto yy627; + if (yych <= 0xE0) goto yy628; + goto yy629; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; + if (yych <= 0xED) goto yy630; + if (yych <= 0xEF) goto yy629; + goto yy631; } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; + if (yych <= 0xF3) goto yy632; + if (yych <= 0xF4) goto yy633; } } -yy634: +yy637: { return (bufsize_t)(p - start); } } @@ -7498,220 +7510,220 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= '>') { - if (yych <= 0x00) goto yy637; - if (yych != '\n') goto yy639; + if (yych <= 0x00) goto yy640; + if (yych != '\n') goto yy642; } else { - if (yych <= '?') goto yy640; - if (yych <= 0x7F) goto yy639; - if (yych >= 0xC2) goto yy641; + if (yych <= '?') goto yy643; + if (yych <= 0x7F) goto yy642; + if (yych >= 0xC2) goto yy644; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy642; - if (yych == 0xED) goto yy644; - goto yy643; + if (yych <= 0xE0) goto yy645; + if (yych == 0xED) goto yy647; + goto yy646; } else { - if (yych <= 0xF0) goto yy645; - if (yych <= 0xF3) goto yy646; - if (yych <= 0xF4) goto yy647; + if (yych <= 0xF0) goto yy648; + if (yych <= 0xF3) goto yy649; + if (yych <= 0xF4) goto yy650; } } -yy637: +yy640: ++p; -yy638: +yy641: { return 0; } -yy639: +yy642: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy638; - if (yych <= '\t') goto yy649; - goto yy638; + if (yych <= 0x00) goto yy641; + if (yych <= '\t') goto yy652; + goto yy641; } else { - if (yych <= 0x7F) goto yy649; - if (yych <= 0xC1) goto yy638; - if (yych <= 0xF4) goto yy649; - goto yy638; + if (yych <= 0x7F) goto yy652; + if (yych <= 0xC1) goto yy641; + if (yych <= 0xF4) goto yy652; + goto yy641; } -yy640: +yy643: yyaccept = 0; yych = *(marker = ++p); if (yych <= '=') { - if (yych <= 0x00) goto yy638; - if (yych == '\n') goto yy638; - goto yy649; + if (yych <= 0x00) goto yy641; + if (yych == '\n') goto yy641; + goto yy652; } else { if (yych <= 0x7F) { - if (yych <= '>') goto yy660; - goto yy649; + if (yych <= '>') goto yy663; + goto yy652; } else { - if (yych <= 0xC1) goto yy638; - if (yych <= 0xF4) goto yy649; - goto yy638; + if (yych <= 0xC1) goto yy641; + if (yych <= 0xF4) goto yy652; + goto yy641; } } -yy641: +yy644: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy648; - goto yy638; -yy642: + if (yych <= 0x7F) goto yy641; + if (yych <= 0xBF) goto yy651; + goto yy641; +yy645: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy638; - if (yych <= 0xBF) goto yy653; - goto yy638; -yy643: + if (yych <= 0x9F) goto yy641; + if (yych <= 0xBF) goto yy656; + goto yy641; +yy646: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy653; - goto yy638; -yy644: + if (yych <= 0x7F) goto yy641; + if (yych <= 0xBF) goto yy656; + goto yy641; +yy647: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0x9F) goto yy653; - goto yy638; -yy645: + if (yych <= 0x7F) goto yy641; + if (yych <= 0x9F) goto yy656; + goto yy641; +yy648: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy638; - if (yych <= 0xBF) goto yy655; - goto yy638; -yy646: + if (yych <= 0x8F) goto yy641; + if (yych <= 0xBF) goto yy658; + goto yy641; +yy649: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy655; - goto yy638; -yy647: + if (yych <= 0x7F) goto yy641; + if (yych <= 0xBF) goto yy658; + goto yy641; +yy650: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0x8F) goto yy655; - goto yy638; -yy648: + if (yych <= 0x7F) goto yy641; + if (yych <= 0x8F) goto yy658; + goto yy641; +yy651: yych = *++p; -yy649: +yy652: if (yybm[0+yych] & 64) { - goto yy648; + goto yy651; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy650; - if (yych <= '?') goto yy651; + if (yych <= '\n') goto yy653; + if (yych <= '?') goto yy654; } else { - if (yych <= 0xDF) goto yy653; - if (yych <= 0xE0) goto yy654; - goto yy655; + if (yych <= 0xDF) goto yy656; + if (yych <= 0xE0) goto yy657; + goto yy658; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy656; - if (yych <= 0xEF) goto yy655; - goto yy657; + if (yych <= 0xED) goto yy659; + if (yych <= 0xEF) goto yy658; + goto yy660; } else { - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; + if (yych <= 0xF3) goto yy661; + if (yych <= 0xF4) goto yy662; } } -yy650: +yy653: p = marker; if (yyaccept == 0) { - goto yy638; + goto yy641; } else { - goto yy661; + goto yy664; } -yy651: +yy654: yych = *++p; if (yybm[0+yych] & 128) { - goto yy651; + goto yy654; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy650; - if (yych == '\n') goto yy650; - goto yy648; + if (yych <= 0x00) goto yy653; + if (yych == '\n') goto yy653; + goto yy651; } else { - if (yych <= '>') goto yy660; - if (yych <= 0x7F) goto yy648; - if (yych <= 0xC1) goto yy650; + if (yych <= '>') goto yy663; + if (yych <= 0x7F) goto yy651; + if (yych <= 0xC1) goto yy653; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy654; - if (yych == 0xED) goto yy656; - goto yy655; + if (yych <= 0xE0) goto yy657; + if (yych == 0xED) goto yy659; + goto yy658; } else { - if (yych <= 0xF0) goto yy657; - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; - goto yy650; + if (yych <= 0xF0) goto yy660; + if (yych <= 0xF3) goto yy661; + if (yych <= 0xF4) goto yy662; + goto yy653; } } -yy653: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy648; - goto yy650; -yy654: - yych = *++p; - if (yych <= 0x9F) goto yy650; - if (yych <= 0xBF) goto yy653; - goto yy650; -yy655: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy653; - goto yy650; yy656: yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0x9F) goto yy653; - goto yy650; + if (yych <= 0x7F) goto yy653; + if (yych <= 0xBF) goto yy651; + goto yy653; yy657: yych = *++p; - if (yych <= 0x8F) goto yy650; - if (yych <= 0xBF) goto yy655; - goto yy650; + if (yych <= 0x9F) goto yy653; + if (yych <= 0xBF) goto yy656; + goto yy653; yy658: yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy655; - goto yy650; + if (yych <= 0x7F) goto yy653; + if (yych <= 0xBF) goto yy656; + goto yy653; yy659: yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0x8F) goto yy655; - goto yy650; + if (yych <= 0x7F) goto yy653; + if (yych <= 0x9F) goto yy656; + goto yy653; yy660: + yych = *++p; + if (yych <= 0x8F) goto yy653; + if (yych <= 0xBF) goto yy658; + goto yy653; +yy661: + yych = *++p; + if (yych <= 0x7F) goto yy653; + if (yych <= 0xBF) goto yy658; + goto yy653; +yy662: + yych = *++p; + if (yych <= 0x7F) goto yy653; + if (yych <= 0x8F) goto yy658; + goto yy653; +yy663: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy648; + goto yy651; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy661; - if (yych <= '?') goto yy651; + if (yych <= '\n') goto yy664; + if (yych <= '?') goto yy654; } else { - if (yych <= 0xDF) goto yy653; - if (yych <= 0xE0) goto yy654; - goto yy655; + if (yych <= 0xDF) goto yy656; + if (yych <= 0xE0) goto yy657; + goto yy658; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy656; - if (yych <= 0xEF) goto yy655; - goto yy657; + if (yych <= 0xED) goto yy659; + if (yych <= 0xEF) goto yy658; + goto yy660; } else { - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; + if (yych <= 0xF3) goto yy661; + if (yych <= 0xF4) goto yy662; } } -yy661: +yy664: { return (bufsize_t)(p - start); } } @@ -7762,181 +7774,181 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) }; yych = *p; if (yybm[0+yych] & 64) { - goto yy667; + goto yy670; } if (yych <= 0xE0) { if (yych <= '\n') { - if (yych <= 0x00) goto yy664; - if (yych <= '\t') goto yy666; + if (yych <= 0x00) goto yy667; + if (yych <= '\t') goto yy669; } else { - if (yych <= 0x7F) goto yy666; - if (yych <= 0xC1) goto yy664; - if (yych <= 0xDF) goto yy670; - goto yy671; + if (yych <= 0x7F) goto yy669; + if (yych <= 0xC1) goto yy667; + if (yych <= 0xDF) goto yy673; + goto yy674; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy673; - goto yy672; + if (yych == 0xED) goto yy676; + goto yy675; } else { - if (yych <= 0xF0) goto yy674; - if (yych <= 0xF3) goto yy675; - if (yych <= 0xF4) goto yy676; + if (yych <= 0xF0) goto yy677; + if (yych <= 0xF3) goto yy678; + if (yych <= 0xF4) goto yy679; } } -yy664: +yy667: ++p; -yy665: +yy668: { return 0; } -yy666: +yy669: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy665; - if (yych <= '\t') goto yy678; - goto yy665; + if (yych <= 0x00) goto yy668; + if (yych <= '\t') goto yy681; + goto yy668; } else { - if (yych <= 0x7F) goto yy678; - if (yych <= 0xC1) goto yy665; - if (yych <= 0xF4) goto yy678; - goto yy665; + if (yych <= 0x7F) goto yy681; + if (yych <= 0xC1) goto yy668; + if (yych <= 0xF4) goto yy681; + goto yy668; } -yy667: +yy670: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy677; + goto yy680; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy669; - if (yych <= '>') goto yy667; + if (yych <= '\n') goto yy672; + if (yych <= '>') goto yy670; } else { - if (yych <= 0xDF) goto yy680; - if (yych <= 0xE0) goto yy681; - goto yy682; + if (yych <= 0xDF) goto yy683; + if (yych <= 0xE0) goto yy684; + goto yy685; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy683; - if (yych <= 0xEF) goto yy682; - goto yy684; + if (yych <= 0xED) goto yy686; + if (yych <= 0xEF) goto yy685; + goto yy687; } else { - if (yych <= 0xF3) goto yy685; - if (yych <= 0xF4) goto yy686; + if (yych <= 0xF3) goto yy688; + if (yych <= 0xF4) goto yy689; } } -yy669: +yy672: { return (bufsize_t)(p - start); } -yy670: +yy673: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy677; - goto yy665; -yy671: + if (yych <= 0x7F) goto yy668; + if (yych <= 0xBF) goto yy680; + goto yy668; +yy674: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy665; - if (yych <= 0xBF) goto yy680; - goto yy665; -yy672: + if (yych <= 0x9F) goto yy668; + if (yych <= 0xBF) goto yy683; + goto yy668; +yy675: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy680; - goto yy665; -yy673: + if (yych <= 0x7F) goto yy668; + if (yych <= 0xBF) goto yy683; + goto yy668; +yy676: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0x9F) goto yy680; - goto yy665; -yy674: + if (yych <= 0x7F) goto yy668; + if (yych <= 0x9F) goto yy683; + goto yy668; +yy677: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy665; - if (yych <= 0xBF) goto yy682; - goto yy665; -yy675: + if (yych <= 0x8F) goto yy668; + if (yych <= 0xBF) goto yy685; + goto yy668; +yy678: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy682; - goto yy665; -yy676: + if (yych <= 0x7F) goto yy668; + if (yych <= 0xBF) goto yy685; + goto yy668; +yy679: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0x8F) goto yy682; - goto yy665; -yy677: + if (yych <= 0x7F) goto yy668; + if (yych <= 0x8F) goto yy685; + goto yy668; +yy680: yych = *++p; -yy678: +yy681: if (yybm[0+yych] & 128) { - goto yy677; + goto yy680; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy679; - if (yych <= '>') goto yy667; + if (yych <= '\n') goto yy682; + if (yych <= '>') goto yy670; } else { - if (yych <= 0xDF) goto yy680; - if (yych <= 0xE0) goto yy681; - goto yy682; + if (yych <= 0xDF) goto yy683; + if (yych <= 0xE0) goto yy684; + goto yy685; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy683; - if (yych <= 0xEF) goto yy682; - goto yy684; + if (yych <= 0xED) goto yy686; + if (yych <= 0xEF) goto yy685; + goto yy687; } else { - if (yych <= 0xF3) goto yy685; - if (yych <= 0xF4) goto yy686; + if (yych <= 0xF3) goto yy688; + if (yych <= 0xF4) goto yy689; } } -yy679: +yy682: p = marker; if (yyaccept == 0) { - goto yy665; + goto yy668; } else { - goto yy669; + goto yy672; } -yy680: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy677; - goto yy679; -yy681: - yych = *++p; - if (yych <= 0x9F) goto yy679; - if (yych <= 0xBF) goto yy680; - goto yy679; -yy682: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy680; - goto yy679; yy683: yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0x9F) goto yy680; - goto yy679; + if (yych <= 0x7F) goto yy682; + if (yych <= 0xBF) goto yy680; + goto yy682; yy684: yych = *++p; - if (yych <= 0x8F) goto yy679; - if (yych <= 0xBF) goto yy682; - goto yy679; + if (yych <= 0x9F) goto yy682; + if (yych <= 0xBF) goto yy683; + goto yy682; yy685: yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy682; - goto yy679; + if (yych <= 0x7F) goto yy682; + if (yych <= 0xBF) goto yy683; + goto yy682; yy686: yych = *++p; - if (yych <= 0x7F) goto yy679; + if (yych <= 0x7F) goto yy682; + if (yych <= 0x9F) goto yy683; + goto yy682; +yy687: + yych = *++p; if (yych <= 0x8F) goto yy682; - goto yy679; + if (yych <= 0xBF) goto yy685; + goto yy682; +yy688: + yych = *++p; + if (yych <= 0x7F) goto yy682; + if (yych <= 0xBF) goto yy685; + goto yy682; +yy689: + yych = *++p; + if (yych <= 0x7F) goto yy682; + if (yych <= 0x8F) goto yy685; + goto yy682; } } @@ -7987,246 +7999,246 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= '\\') { - if (yych <= 0x00) goto yy689; - if (yych != '\n') goto yy691; + if (yych <= 0x00) goto yy692; + if (yych != '\n') goto yy694; } else { - if (yych <= ']') goto yy692; - if (yych <= 0x7F) goto yy691; - if (yych >= 0xC2) goto yy693; + if (yych <= ']') goto yy695; + if (yych <= 0x7F) goto yy694; + if (yych >= 0xC2) goto yy696; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy694; - if (yych == 0xED) goto yy696; - goto yy695; + if (yych <= 0xE0) goto yy697; + if (yych == 0xED) goto yy699; + goto yy698; } else { - if (yych <= 0xF0) goto yy697; - if (yych <= 0xF3) goto yy698; - if (yych <= 0xF4) goto yy699; + if (yych <= 0xF0) goto yy700; + if (yych <= 0xF3) goto yy701; + if (yych <= 0xF4) goto yy702; } } -yy689: +yy692: ++p; -yy690: +yy693: { return 0; } -yy691: +yy694: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy690; - if (yych <= '\t') goto yy701; - goto yy690; + if (yych <= 0x00) goto yy693; + if (yych <= '\t') goto yy704; + goto yy693; } else { - if (yych <= 0x7F) goto yy701; - if (yych <= 0xC1) goto yy690; - if (yych <= 0xF4) goto yy701; - goto yy690; + if (yych <= 0x7F) goto yy704; + if (yych <= 0xC1) goto yy693; + if (yych <= 0xF4) goto yy704; + goto yy693; } -yy692: +yy695: yyaccept = 0; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy711; + goto yy714; } if (yych <= '\n') { - if (yych <= 0x00) goto yy690; - if (yych <= '\t') goto yy701; - goto yy690; + if (yych <= 0x00) goto yy693; + if (yych <= '\t') goto yy704; + goto yy693; } else { - if (yych <= 0x7F) goto yy701; - if (yych <= 0xC1) goto yy690; - if (yych <= 0xF4) goto yy701; - goto yy690; + if (yych <= 0x7F) goto yy704; + if (yych <= 0xC1) goto yy693; + if (yych <= 0xF4) goto yy704; + goto yy693; } -yy693: +yy696: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy700; - goto yy690; -yy694: + if (yych <= 0x7F) goto yy693; + if (yych <= 0xBF) goto yy703; + goto yy693; +yy697: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy690; - if (yych <= 0xBF) goto yy704; - goto yy690; -yy695: + if (yych <= 0x9F) goto yy693; + if (yych <= 0xBF) goto yy707; + goto yy693; +yy698: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy704; - goto yy690; -yy696: + if (yych <= 0x7F) goto yy693; + if (yych <= 0xBF) goto yy707; + goto yy693; +yy699: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0x9F) goto yy704; - goto yy690; -yy697: + if (yych <= 0x7F) goto yy693; + if (yych <= 0x9F) goto yy707; + goto yy693; +yy700: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy690; - if (yych <= 0xBF) goto yy706; - goto yy690; -yy698: + if (yych <= 0x8F) goto yy693; + if (yych <= 0xBF) goto yy709; + goto yy693; +yy701: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy706; - goto yy690; -yy699: + if (yych <= 0x7F) goto yy693; + if (yych <= 0xBF) goto yy709; + goto yy693; +yy702: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0x8F) goto yy706; - goto yy690; -yy700: + if (yych <= 0x7F) goto yy693; + if (yych <= 0x8F) goto yy709; + goto yy693; +yy703: yych = *++p; -yy701: +yy704: if (yybm[0+yych] & 64) { - goto yy700; + goto yy703; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy702; - if (yych <= ']') goto yy703; + if (yych <= '\n') goto yy705; + if (yych <= ']') goto yy706; } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; + if (yych <= 0xDF) goto yy707; + if (yych <= 0xE0) goto yy708; + goto yy709; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; + if (yych <= 0xED) goto yy710; + if (yych <= 0xEF) goto yy709; + goto yy711; } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; + if (yych <= 0xF3) goto yy712; + if (yych <= 0xF4) goto yy713; } } -yy702: +yy705: p = marker; if (yyaccept == 0) { - goto yy690; + goto yy693; } else { - goto yy714; + goto yy717; } -yy703: +yy706: yych = *++p; if (yybm[0+yych] & 64) { - goto yy700; + goto yy703; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy702; - if (yych <= ']') goto yy711; - goto yy702; + if (yych <= '\n') goto yy705; + if (yych <= ']') goto yy714; + goto yy705; } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; + if (yych <= 0xDF) goto yy707; + if (yych <= 0xE0) goto yy708; + goto yy709; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; + if (yych <= 0xED) goto yy710; + if (yych <= 0xEF) goto yy709; + goto yy711; } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - goto yy702; + if (yych <= 0xF3) goto yy712; + if (yych <= 0xF4) goto yy713; + goto yy705; } } -yy704: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy700; - goto yy702; -yy705: - yych = *++p; - if (yych <= 0x9F) goto yy702; - if (yych <= 0xBF) goto yy704; - goto yy702; -yy706: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy704; - goto yy702; yy707: yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0x9F) goto yy704; - goto yy702; + if (yych <= 0x7F) goto yy705; + if (yych <= 0xBF) goto yy703; + goto yy705; yy708: yych = *++p; - if (yych <= 0x8F) goto yy702; - if (yych <= 0xBF) goto yy706; - goto yy702; + if (yych <= 0x9F) goto yy705; + if (yych <= 0xBF) goto yy707; + goto yy705; yy709: yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy706; - goto yy702; + if (yych <= 0x7F) goto yy705; + if (yych <= 0xBF) goto yy707; + goto yy705; yy710: yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0x8F) goto yy706; - goto yy702; + if (yych <= 0x7F) goto yy705; + if (yych <= 0x9F) goto yy707; + goto yy705; yy711: + yych = *++p; + if (yych <= 0x8F) goto yy705; + if (yych <= 0xBF) goto yy709; + goto yy705; +yy712: + yych = *++p; + if (yych <= 0x7F) goto yy705; + if (yych <= 0xBF) goto yy709; + goto yy705; +yy713: + yych = *++p; + if (yych <= 0x7F) goto yy705; + if (yych <= 0x8F) goto yy709; + goto yy705; +yy714: yych = *++p; if (yybm[0+yych] & 128) { - goto yy711; + goto yy714; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy702; - if (yych == '\n') goto yy702; - goto yy700; + if (yych <= 0x00) goto yy705; + if (yych == '\n') goto yy705; + goto yy703; } else { - if (yych <= '>') goto yy713; - if (yych <= 0x7F) goto yy700; - if (yych <= 0xC1) goto yy702; - goto yy704; + if (yych <= '>') goto yy716; + if (yych <= 0x7F) goto yy703; + if (yych <= 0xC1) goto yy705; + goto yy707; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy705; - if (yych == 0xED) goto yy707; - goto yy706; + if (yych <= 0xE0) goto yy708; + if (yych == 0xED) goto yy710; + goto yy709; } else { - if (yych <= 0xF0) goto yy708; - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - goto yy702; + if (yych <= 0xF0) goto yy711; + if (yych <= 0xF3) goto yy712; + if (yych <= 0xF4) goto yy713; + goto yy705; } } -yy713: +yy716: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy700; + goto yy703; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy714; - if (yych <= ']') goto yy703; + if (yych <= '\n') goto yy717; + if (yych <= ']') goto yy706; } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; + if (yych <= 0xDF) goto yy707; + if (yych <= 0xE0) goto yy708; + goto yy709; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; + if (yych <= 0xED) goto yy710; + if (yych <= 0xEF) goto yy709; + goto yy711; } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; + if (yych <= 0xF3) goto yy712; + if (yych <= 0xF4) goto yy713; } } -yy714: +yy717: { return (bufsize_t)(p - start); } } @@ -8279,406 +8291,406 @@ bufsize_t _scan_link_title(const unsigned char *p) }; yych = *p; if (yych <= '&') { - if (yych == '"') goto yy719; + if (yych == '"') goto yy722; } else { - if (yych <= '\'') goto yy720; - if (yych <= '(') goto yy721; + if (yych <= '\'') goto yy723; + if (yych <= '(') goto yy724; } ++p; -yy718: +yy721: { return 0; } -yy719: +yy722: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x00) goto yy718; - if (yych <= 0x7F) goto yy723; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy723; - goto yy718; -yy720: + if (yych <= 0x00) goto yy721; + if (yych <= 0x7F) goto yy726; + if (yych <= 0xC1) goto yy721; + if (yych <= 0xF4) goto yy726; + goto yy721; +yy723: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x00) goto yy718; - if (yych <= 0x7F) goto yy737; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy737; - goto yy718; -yy721: + if (yych <= 0x00) goto yy721; + if (yych <= 0x7F) goto yy740; + if (yych <= 0xC1) goto yy721; + if (yych <= 0xF4) goto yy740; + goto yy721; +yy724: yyaccept = 0; yych = *(marker = ++p); if (yych <= '(') { - if (yych <= 0x00) goto yy718; - if (yych <= '\'') goto yy750; - goto yy718; + if (yych <= 0x00) goto yy721; + if (yych <= '\'') goto yy753; + goto yy721; } else { - if (yych <= 0x7F) goto yy750; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy750; - goto yy718; + if (yych <= 0x7F) goto yy753; + if (yych <= 0xC1) goto yy721; + if (yych <= 0xF4) goto yy753; + goto yy721; } -yy722: +yy725: yych = *++p; -yy723: +yy726: if (yybm[0+yych] & 16) { - goto yy722; + goto yy725; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '"') goto yy725; - goto yy727; - } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy729; + if (yych <= 0x00) goto yy727; + if (yych <= '"') goto yy728; goto yy730; + } else { + if (yych <= 0xC1) goto yy727; + if (yych <= 0xDF) goto yy732; + goto yy733; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; + if (yych == 0xED) goto yy735; + goto yy734; } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; + if (yych <= 0xF0) goto yy736; + if (yych <= 0xF3) goto yy737; + if (yych <= 0xF4) goto yy738; } } -yy724: +yy727: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { - goto yy718; + goto yy721; } else { - goto yy726; + goto yy729; } } else { if (yyaccept == 2) { - goto yy739; + goto yy742; } else { - goto yy752; + goto yy755; } } -yy725: +yy728: ++p; -yy726: +yy729: { return (bufsize_t)(p - start); } -yy727: +yy730: yych = *++p; if (yybm[0+yych] & 16) { - goto yy722; + goto yy725; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '"') goto yy762; - goto yy727; + if (yych <= 0x00) goto yy727; + if (yych <= '"') goto yy765; + goto yy730; } else { - if (yych <= 0xC1) goto yy724; - if (yych >= 0xE0) goto yy730; + if (yych <= 0xC1) goto yy727; + if (yych >= 0xE0) goto yy733; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; + if (yych == 0xED) goto yy735; + goto yy734; } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; - goto yy724; + if (yych <= 0xF0) goto yy736; + if (yych <= 0xF3) goto yy737; + if (yych <= 0xF4) goto yy738; + goto yy727; } } -yy729: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy722; - goto yy724; -yy730: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy729; - goto yy724; -yy731: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy729; - goto yy724; yy732: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy729; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy725; + goto yy727; yy733: yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy731; - goto yy724; + if (yych <= 0x9F) goto yy727; + if (yych <= 0xBF) goto yy732; + goto yy727; yy734: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy731; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy732; + goto yy727; yy735: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy731; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0x9F) goto yy732; + goto yy727; yy736: yych = *++p; + if (yych <= 0x8F) goto yy727; + if (yych <= 0xBF) goto yy734; + goto yy727; yy737: + yych = *++p; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy734; + goto yy727; +yy738: + yych = *++p; + if (yych <= 0x7F) goto yy727; + if (yych <= 0x8F) goto yy734; + goto yy727; +yy739: + yych = *++p; +yy740: if (yybm[0+yych] & 64) { - goto yy736; + goto yy739; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych >= '(') goto yy740; + if (yych <= 0x00) goto yy727; + if (yych >= '(') goto yy743; } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy742; - goto yy743; + if (yych <= 0xC1) goto yy727; + if (yych <= 0xDF) goto yy745; + goto yy746; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; + if (yych == 0xED) goto yy748; + goto yy747; } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy724; + if (yych <= 0xF0) goto yy749; + if (yych <= 0xF3) goto yy750; + if (yych <= 0xF4) goto yy751; + goto yy727; } } -yy738: +yy741: ++p; -yy739: +yy742: { return (bufsize_t)(p - start); } -yy740: +yy743: yych = *++p; if (yybm[0+yych] & 64) { - goto yy736; + goto yy739; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '\'') goto yy763; - goto yy740; + if (yych <= 0x00) goto yy727; + if (yych <= '\'') goto yy766; + goto yy743; } else { - if (yych <= 0xC1) goto yy724; - if (yych >= 0xE0) goto yy743; + if (yych <= 0xC1) goto yy727; + if (yych >= 0xE0) goto yy746; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; + if (yych == 0xED) goto yy748; + goto yy747; } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy724; + if (yych <= 0xF0) goto yy749; + if (yych <= 0xF3) goto yy750; + if (yych <= 0xF4) goto yy751; + goto yy727; } } -yy742: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy736; - goto yy724; -yy743: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy742; - goto yy724; -yy744: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy742; - goto yy724; yy745: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy742; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy739; + goto yy727; yy746: yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy744; - goto yy724; + if (yych <= 0x9F) goto yy727; + if (yych <= 0xBF) goto yy745; + goto yy727; yy747: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy744; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy745; + goto yy727; yy748: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy744; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0x9F) goto yy745; + goto yy727; yy749: yych = *++p; + if (yych <= 0x8F) goto yy727; + if (yych <= 0xBF) goto yy747; + goto yy727; yy750: + yych = *++p; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy747; + goto yy727; +yy751: + yych = *++p; + if (yych <= 0x7F) goto yy727; + if (yych <= 0x8F) goto yy747; + goto yy727; +yy752: + yych = *++p; +yy753: if (yybm[0+yych] & 128) { - goto yy749; + goto yy752; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= '(') goto yy724; - if (yych >= '*') goto yy753; + if (yych <= '(') goto yy727; + if (yych >= '*') goto yy756; } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy755; - goto yy756; + if (yych <= 0xC1) goto yy727; + if (yych <= 0xDF) goto yy758; + goto yy759; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy758; - goto yy757; + if (yych == 0xED) goto yy761; + goto yy760; } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy724; + if (yych <= 0xF0) goto yy762; + if (yych <= 0xF3) goto yy763; + if (yych <= 0xF4) goto yy764; + goto yy727; } } -yy751: +yy754: ++p; -yy752: +yy755: { return (bufsize_t)(p - start); } -yy753: +yy756: yych = *++p; if (yych <= 0xDF) { if (yych <= '[') { - if (yych <= 0x00) goto yy724; - if (yych == ')') goto yy764; - goto yy749; + if (yych <= 0x00) goto yy727; + if (yych == ')') goto yy767; + goto yy752; } else { - if (yych <= '\\') goto yy753; - if (yych <= 0x7F) goto yy749; - if (yych <= 0xC1) goto yy724; + if (yych <= '\\') goto yy756; + if (yych <= 0x7F) goto yy752; + if (yych <= 0xC1) goto yy727; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy756; - if (yych == 0xED) goto yy758; - goto yy757; + if (yych <= 0xE0) goto yy759; + if (yych == 0xED) goto yy761; + goto yy760; } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy724; + if (yych <= 0xF0) goto yy762; + if (yych <= 0xF3) goto yy763; + if (yych <= 0xF4) goto yy764; + goto yy727; } } -yy755: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy749; - goto yy724; -yy756: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy755; - goto yy724; -yy757: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy755; - goto yy724; yy758: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy755; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy752; + goto yy727; yy759: yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy757; - goto yy724; + if (yych <= 0x9F) goto yy727; + if (yych <= 0xBF) goto yy758; + goto yy727; yy760: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy757; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy758; + goto yy727; yy761: yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy757; - goto yy724; + if (yych <= 0x7F) goto yy727; + if (yych <= 0x9F) goto yy758; + goto yy727; yy762: + yych = *++p; + if (yych <= 0x8F) goto yy727; + if (yych <= 0xBF) goto yy760; + goto yy727; +yy763: + yych = *++p; + if (yych <= 0x7F) goto yy727; + if (yych <= 0xBF) goto yy760; + goto yy727; +yy764: + yych = *++p; + if (yych <= 0x7F) goto yy727; + if (yych <= 0x8F) goto yy760; + goto yy727; +yy765: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 16) { - goto yy722; + goto yy725; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy726; - if (yych <= '"') goto yy725; - goto yy727; - } else { - if (yych <= 0xC1) goto yy726; - if (yych <= 0xDF) goto yy729; + if (yych <= 0x00) goto yy729; + if (yych <= '"') goto yy728; goto yy730; + } else { + if (yych <= 0xC1) goto yy729; + if (yych <= 0xDF) goto yy732; + goto yy733; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; + if (yych == 0xED) goto yy735; + goto yy734; } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; - goto yy726; + if (yych <= 0xF0) goto yy736; + if (yych <= 0xF3) goto yy737; + if (yych <= 0xF4) goto yy738; + goto yy729; } } -yy763: +yy766: yyaccept = 2; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy736; + goto yy739; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy739; - if (yych <= '\'') goto yy738; - goto yy740; - } else { - if (yych <= 0xC1) goto yy739; - if (yych <= 0xDF) goto yy742; + if (yych <= 0x00) goto yy742; + if (yych <= '\'') goto yy741; goto yy743; + } else { + if (yych <= 0xC1) goto yy742; + if (yych <= 0xDF) goto yy745; + goto yy746; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; + if (yych == 0xED) goto yy748; + goto yy747; } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy739; + if (yych <= 0xF0) goto yy749; + if (yych <= 0xF3) goto yy750; + if (yych <= 0xF4) goto yy751; + goto yy742; } } -yy764: +yy767: yyaccept = 3; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy749; + goto yy752; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= '(') goto yy752; - if (yych <= ')') goto yy751; - goto yy753; - } else { - if (yych <= 0xC1) goto yy752; - if (yych <= 0xDF) goto yy755; + if (yych <= '(') goto yy755; + if (yych <= ')') goto yy754; goto yy756; + } else { + if (yych <= 0xC1) goto yy755; + if (yych <= 0xDF) goto yy758; + goto yy759; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy758; - goto yy757; + if (yych == 0xED) goto yy761; + goto yy760; } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy752; + if (yych <= 0xF0) goto yy762; + if (yych <= 0xF3) goto yy763; + if (yych <= 0xF4) goto yy764; + goto yy755; } } } @@ -8728,14 +8740,14 @@ bufsize_t _scan_spacechars(const unsigned char *p) }; yych = *p; if (yybm[0+yych] & 128) { - goto yy769; + goto yy772; } ++p; { return 0; } -yy769: +yy772: yych = *++p; if (yybm[0+yych] & 128) { - goto yy769; + goto yy772; } { return (bufsize_t)(p - start); } } @@ -8785,94 +8797,94 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '#') goto yy776; + if (yych == '#') goto yy779; ++p; -yy775: +yy778: { return 0; } -yy776: +yy779: yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy777; + goto yy780; } if (yych <= '\f') { - if (yych <= 0x08) goto yy775; - if (yych <= '\n') goto yy780; - goto yy775; + if (yych <= 0x08) goto yy778; + if (yych <= '\n') goto yy783; + goto yy778; } else { - if (yych <= '\r') goto yy780; - if (yych == '#') goto yy781; - goto yy775; + if (yych <= '\r') goto yy783; + if (yych == '#') goto yy784; + goto yy778; } -yy777: +yy780: yych = *++p; if (yybm[0+yych] & 128) { - goto yy777; + goto yy780; } -yy779: +yy782: { return (bufsize_t)(p - start); } -yy780: +yy783: ++p; - goto yy779; -yy781: + goto yy782; +yy784: yych = *++p; if (yybm[0+yych] & 128) { - goto yy777; + goto yy780; } if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; + if (yych <= 0x08) goto yy785; + if (yych <= '\n') goto yy783; } else { - if (yych <= '\r') goto yy780; - if (yych == '#') goto yy783; + if (yych <= '\r') goto yy783; + if (yych == '#') goto yy786; } -yy782: +yy785: p = marker; - goto yy775; -yy783: + goto yy778; +yy786: yych = *++p; if (yybm[0+yych] & 128) { - goto yy777; + goto yy780; } if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; + if (yych <= 0x08) goto yy785; + if (yych <= '\n') goto yy783; + goto yy785; } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; + if (yych <= '\r') goto yy783; + if (yych != '#') goto yy785; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy777; + goto yy780; } if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; + if (yych <= 0x08) goto yy785; + if (yych <= '\n') goto yy783; + goto yy785; } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; + if (yych <= '\r') goto yy783; + if (yych != '#') goto yy785; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy777; + goto yy780; } if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; + if (yych <= 0x08) goto yy785; + if (yych <= '\n') goto yy783; + goto yy785; } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; + if (yych <= '\r') goto yy783; + if (yych != '#') goto yy785; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy777; + goto yy780; } - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - if (yych == '\r') goto yy780; - goto yy782; + if (yych <= 0x08) goto yy785; + if (yych <= '\n') goto yy783; + if (yych == '\r') goto yy783; + goto yy785; } } @@ -8920,97 +8932,97 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '-') goto yy791; - if (yych == '=') goto yy792; + if (yych == '-') goto yy794; + if (yych == '=') goto yy795; ++p; -yy790: +yy793: { return 0; } -yy791: +yy794: yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy798; + goto yy801; } if (yych <= '\f') { - if (yych <= 0x08) goto yy790; - if (yych <= '\n') goto yy794; - goto yy790; + if (yych <= 0x08) goto yy793; + if (yych <= '\n') goto yy797; + goto yy793; } else { - if (yych <= '\r') goto yy794; - if (yych == ' ') goto yy794; - goto yy790; + if (yych <= '\r') goto yy797; + if (yych == ' ') goto yy797; + goto yy793; } -yy792: +yy795: yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy804; + goto yy807; } if (yych <= '\f') { - if (yych <= 0x08) goto yy790; - if (yych <= '\n') goto yy801; - goto yy790; + if (yych <= 0x08) goto yy793; + if (yych <= '\n') goto yy804; + goto yy793; } else { - if (yych <= '\r') goto yy801; - if (yych == ' ') goto yy801; - goto yy790; + if (yych <= '\r') goto yy804; + if (yych == ' ') goto yy804; + goto yy793; } -yy793: +yy796: yych = *++p; -yy794: +yy797: if (yybm[0+yych] & 32) { - goto yy793; + goto yy796; } - if (yych <= 0x08) goto yy795; - if (yych <= '\n') goto yy796; - if (yych == '\r') goto yy796; -yy795: + if (yych <= 0x08) goto yy798; + if (yych <= '\n') goto yy799; + if (yych == '\r') goto yy799; +yy798: p = marker; - goto yy790; -yy796: + goto yy793; +yy799: ++p; { return 2; } -yy798: +yy801: yych = *++p; if (yybm[0+yych] & 32) { - goto yy793; + goto yy796; } if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\n') goto yy796; - goto yy795; + if (yych <= 0x08) goto yy798; + if (yych <= '\n') goto yy799; + goto yy798; } else { - if (yych <= '\r') goto yy796; - if (yych == '-') goto yy798; - goto yy795; + if (yych <= '\r') goto yy799; + if (yych == '-') goto yy801; + goto yy798; } -yy800: +yy803: yych = *++p; -yy801: +yy804: if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\t') goto yy800; - if (yych >= '\v') goto yy795; + if (yych <= 0x08) goto yy798; + if (yych <= '\t') goto yy803; + if (yych >= '\v') goto yy798; } else { - if (yych <= '\r') goto yy802; - if (yych == ' ') goto yy800; - goto yy795; + if (yych <= '\r') goto yy805; + if (yych == ' ') goto yy803; + goto yy798; } -yy802: +yy805: ++p; { return 1; } -yy804: +yy807: yych = *++p; if (yybm[0+yych] & 128) { - goto yy804; + goto yy807; } if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\t') goto yy800; - if (yych <= '\n') goto yy802; - goto yy795; + if (yych <= 0x08) goto yy798; + if (yych <= '\t') goto yy803; + if (yych <= '\n') goto yy805; + goto yy798; } else { - if (yych <= '\r') goto yy802; - if (yych == ' ') goto yy800; - goto yy795; + if (yych <= '\r') goto yy805; + if (yych == ' ') goto yy803; + goto yy798; } } @@ -9059,271 +9071,271 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '`') goto yy810; - if (yych == '~') goto yy811; + if (yych == '`') goto yy813; + if (yych == '~') goto yy814; ++p; -yy809: +yy812: { return 0; } -yy810: +yy813: yych = *(marker = ++p); - if (yych == '`') goto yy812; - goto yy809; -yy811: + if (yych == '`') goto yy815; + goto yy812; +yy814: yych = *(marker = ++p); - if (yych == '~') goto yy814; - goto yy809; -yy812: + if (yych == '~') goto yy817; + goto yy812; +yy815: yych = *++p; if (yybm[0+yych] & 16) { - goto yy815; + goto yy818; } -yy813: +yy816: p = marker; - goto yy809; -yy814: + goto yy812; +yy817: yych = *++p; if (yybm[0+yych] & 32) { - goto yy817; + goto yy820; } - goto yy813; -yy815: + goto yy816; +yy818: yych = *++p; if (yybm[0+yych] & 16) { - goto yy815; + goto yy818; } if (yych <= 0xDF) { if (yych <= '\f') { - if (yych <= 0x00) goto yy813; + if (yych <= 0x00) goto yy816; if (yych == '\n') { marker = p; - goto yy821; + goto yy824; } marker = p; - goto yy819; + goto yy822; } else { if (yych <= '\r') { marker = p; - goto yy821; + goto yy824; } if (yych <= 0x7F) { marker = p; - goto yy819; + goto yy822; } - if (yych <= 0xC1) goto yy813; + if (yych <= 0xC1) goto yy816; marker = p; - goto yy823; + goto yy826; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; - goto yy824; + goto yy827; } if (yych == 0xED) { marker = p; - goto yy826; + goto yy829; } marker = p; - goto yy825; + goto yy828; } else { if (yych <= 0xF0) { marker = p; - goto yy827; + goto yy830; } if (yych <= 0xF3) { marker = p; - goto yy828; + goto yy831; } if (yych <= 0xF4) { marker = p; - goto yy829; + goto yy832; } - goto yy813; + goto yy816; } } -yy817: +yy820: yych = *++p; if (yybm[0+yych] & 32) { - goto yy817; + goto yy820; } if (yych <= 0xDF) { if (yych <= '\f') { - if (yych <= 0x00) goto yy813; + if (yych <= 0x00) goto yy816; if (yych == '\n') { marker = p; - goto yy832; + goto yy835; } marker = p; - goto yy830; + goto yy833; } else { if (yych <= '\r') { marker = p; - goto yy832; + goto yy835; } if (yych <= 0x7F) { marker = p; - goto yy830; + goto yy833; } - if (yych <= 0xC1) goto yy813; + if (yych <= 0xC1) goto yy816; marker = p; - goto yy834; + goto yy837; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; - goto yy835; + goto yy838; } if (yych == 0xED) { marker = p; - goto yy837; + goto yy840; } marker = p; - goto yy836; + goto yy839; } else { if (yych <= 0xF0) { marker = p; - goto yy838; + goto yy841; } if (yych <= 0xF3) { marker = p; - goto yy839; + goto yy842; } if (yych <= 0xF4) { marker = p; - goto yy840; + goto yy843; } - goto yy813; + goto yy816; } } -yy819: +yy822: yych = *++p; if (yybm[0+yych] & 64) { - goto yy819; + goto yy822; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy813; - if (yych >= 0x0E) goto yy813; + if (yych <= 0x00) goto yy816; + if (yych >= 0x0E) goto yy816; } else { - if (yych <= 0xDF) goto yy823; - if (yych <= 0xE0) goto yy824; - goto yy825; + if (yych <= 0xDF) goto yy826; + if (yych <= 0xE0) goto yy827; + goto yy828; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy826; - if (yych <= 0xEF) goto yy825; - goto yy827; + if (yych <= 0xED) goto yy829; + if (yych <= 0xEF) goto yy828; + goto yy830; } else { - if (yych <= 0xF3) goto yy828; - if (yych <= 0xF4) goto yy829; - goto yy813; + if (yych <= 0xF3) goto yy831; + if (yych <= 0xF4) goto yy832; + goto yy816; } } -yy821: +yy824: ++p; p = marker; { return (bufsize_t)(p - start); } -yy823: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy819; - goto yy813; -yy824: - yych = *++p; - if (yych <= 0x9F) goto yy813; - if (yych <= 0xBF) goto yy823; - goto yy813; -yy825: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy823; - goto yy813; yy826: yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x9F) goto yy823; - goto yy813; + if (yych <= 0x7F) goto yy816; + if (yych <= 0xBF) goto yy822; + goto yy816; yy827: yych = *++p; - if (yych <= 0x8F) goto yy813; - if (yych <= 0xBF) goto yy825; - goto yy813; + if (yych <= 0x9F) goto yy816; + if (yych <= 0xBF) goto yy826; + goto yy816; yy828: yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy825; - goto yy813; + if (yych <= 0x7F) goto yy816; + if (yych <= 0xBF) goto yy826; + goto yy816; yy829: yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x8F) goto yy825; - goto yy813; + if (yych <= 0x7F) goto yy816; + if (yych <= 0x9F) goto yy826; + goto yy816; yy830: + yych = *++p; + if (yych <= 0x8F) goto yy816; + if (yych <= 0xBF) goto yy828; + goto yy816; +yy831: + yych = *++p; + if (yych <= 0x7F) goto yy816; + if (yych <= 0xBF) goto yy828; + goto yy816; +yy832: + yych = *++p; + if (yych <= 0x7F) goto yy816; + if (yych <= 0x8F) goto yy828; + goto yy816; +yy833: yych = *++p; if (yybm[0+yych] & 128) { - goto yy830; + goto yy833; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy813; - if (yych >= 0x0E) goto yy813; + if (yych <= 0x00) goto yy816; + if (yych >= 0x0E) goto yy816; } else { - if (yych <= 0xDF) goto yy834; - if (yych <= 0xE0) goto yy835; - goto yy836; + if (yych <= 0xDF) goto yy837; + if (yych <= 0xE0) goto yy838; + goto yy839; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy837; - if (yych <= 0xEF) goto yy836; - goto yy838; + if (yych <= 0xED) goto yy840; + if (yych <= 0xEF) goto yy839; + goto yy841; } else { - if (yych <= 0xF3) goto yy839; - if (yych <= 0xF4) goto yy840; - goto yy813; + if (yych <= 0xF3) goto yy842; + if (yych <= 0xF4) goto yy843; + goto yy816; } } -yy832: +yy835: ++p; p = marker; { return (bufsize_t)(p - start); } -yy834: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy830; - goto yy813; -yy835: - yych = *++p; - if (yych <= 0x9F) goto yy813; - if (yych <= 0xBF) goto yy834; - goto yy813; -yy836: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy834; - goto yy813; yy837: yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x9F) goto yy834; - goto yy813; + if (yych <= 0x7F) goto yy816; + if (yych <= 0xBF) goto yy833; + goto yy816; yy838: yych = *++p; - if (yych <= 0x8F) goto yy813; - if (yych <= 0xBF) goto yy836; - goto yy813; + if (yych <= 0x9F) goto yy816; + if (yych <= 0xBF) goto yy837; + goto yy816; yy839: yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy836; - goto yy813; + if (yych <= 0x7F) goto yy816; + if (yych <= 0xBF) goto yy837; + goto yy816; yy840: yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x8F) goto yy836; - goto yy813; + if (yych <= 0x7F) goto yy816; + if (yych <= 0x9F) goto yy837; + goto yy816; +yy841: + yych = *++p; + if (yych <= 0x8F) goto yy816; + if (yych <= 0xBF) goto yy839; + goto yy816; +yy842: + yych = *++p; + if (yych <= 0x7F) goto yy816; + if (yych <= 0xBF) goto yy839; + goto yy816; +yy843: + yych = *++p; + if (yych <= 0x7F) goto yy816; + if (yych <= 0x8F) goto yy839; + goto yy816; } } @@ -9371,111 +9383,111 @@ bufsize_t _scan_close_code_fence(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '`') goto yy845; - if (yych == '~') goto yy846; + if (yych == '`') goto yy848; + if (yych == '~') goto yy849; ++p; -yy844: +yy847: { return 0; } -yy845: +yy848: yych = *(marker = ++p); - if (yych == '`') goto yy847; - goto yy844; -yy846: + if (yych == '`') goto yy850; + goto yy847; +yy849: yych = *(marker = ++p); - if (yych == '~') goto yy849; - goto yy844; -yy847: + if (yych == '~') goto yy852; + goto yy847; +yy850: yych = *++p; if (yybm[0+yych] & 32) { - goto yy850; + goto yy853; } -yy848: +yy851: p = marker; - goto yy844; -yy849: + goto yy847; +yy852: yych = *++p; if (yybm[0+yych] & 64) { - goto yy852; + goto yy855; } - goto yy848; -yy850: + goto yy851; +yy853: yych = *++p; if (yybm[0+yych] & 32) { - goto yy850; + goto yy853; } if (yych <= '\f') { - if (yych <= 0x08) goto yy848; + if (yych <= 0x08) goto yy851; if (yych <= '\t') { marker = p; - goto yy854; + goto yy857; } if (yych <= '\n') { marker = p; - goto yy856; + goto yy859; } - goto yy848; + goto yy851; } else { if (yych <= '\r') { marker = p; - goto yy856; + goto yy859; } if (yych == ' ') { marker = p; - goto yy854; + goto yy857; } - goto yy848; + goto yy851; } -yy852: +yy855: yych = *++p; if (yybm[0+yych] & 64) { - goto yy852; + goto yy855; } if (yych <= '\f') { - if (yych <= 0x08) goto yy848; + if (yych <= 0x08) goto yy851; if (yych <= '\t') { marker = p; - goto yy858; + goto yy861; } if (yych <= '\n') { marker = p; - goto yy860; + goto yy863; } - goto yy848; + goto yy851; } else { if (yych <= '\r') { marker = p; - goto yy860; + goto yy863; } if (yych == ' ') { marker = p; - goto yy858; + goto yy861; } - goto yy848; + goto yy851; } -yy854: +yy857: yych = *++p; if (yybm[0+yych] & 128) { - goto yy854; + goto yy857; } - if (yych <= 0x08) goto yy848; - if (yych <= '\n') goto yy856; - if (yych != '\r') goto yy848; -yy856: + if (yych <= 0x08) goto yy851; + if (yych <= '\n') goto yy859; + if (yych != '\r') goto yy851; +yy859: ++p; p = marker; { return (bufsize_t)(p - start); } -yy858: +yy861: yych = *++p; if (yych <= '\f') { - if (yych <= 0x08) goto yy848; - if (yych <= '\t') goto yy858; - if (yych >= '\v') goto yy848; + if (yych <= 0x08) goto yy851; + if (yych <= '\t') goto yy861; + if (yych >= '\v') goto yy851; } else { - if (yych <= '\r') goto yy860; - if (yych == ' ') goto yy858; - goto yy848; + if (yych <= '\r') goto yy863; + if (yych == ' ') goto yy861; + goto yy851; } -yy860: +yy863: ++p; p = marker; { return (bufsize_t)(p - start); } @@ -9493,644 +9505,644 @@ bufsize_t _scan_entity(const unsigned char *p) { unsigned char yych; yych = *p; - if (yych == '&') goto yy866; + if (yych == '&') goto yy869; ++p; -yy865: - { return 0; } -yy866: - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '#') goto yy865; - } else { - if (yych <= 'Z') goto yy869; - if (yych <= '`') goto yy865; - if (yych <= 'z') goto yy869; - goto yy865; - } - yych = *++p; - if (yych <= 'W') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy870; - } else { - if (yych <= 'X') goto yy871; - if (yych == 'x') goto yy871; - } yy868: - p = marker; - goto yy865; + { return 0; } yy869: - yych = *++p; + yych = *(marker = ++p); if (yych <= '@') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy872; - goto yy868; + if (yych != '#') goto yy868; } else { if (yych <= 'Z') goto yy872; if (yych <= '`') goto yy868; if (yych <= 'z') goto yy872; goto yy868; } -yy870: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy873; - if (yych == ';') goto yy874; - goto yy868; -yy871: yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy876; - goto yy868; + if (yych <= 'W') { + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy873; } else { - if (yych <= 'F') goto yy876; - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy876; - goto yy868; + if (yych <= 'X') goto yy874; + if (yych == 'x') goto yy874; } +yy871: + p = marker; + goto yy868; yy872: yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy877; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= '@') { + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy875; + goto yy871; } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy877; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy877; - goto yy868; - } + if (yych <= 'Z') goto yy875; + if (yych <= '`') goto yy871; + if (yych <= 'z') goto yy875; + goto yy871; } yy873: yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy878; - if (yych != ';') goto yy868; + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy876; + if (yych == ';') goto yy877; + goto yy871; yy874: - ++p; - { return (bufsize_t)(p - start); } -yy876: yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '@') { + if (yych <= '/') goto yy871; if (yych <= '9') goto yy879; - if (yych <= ':') goto yy868; - goto yy874; + goto yy871; } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy879; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy879; - goto yy868; - } + if (yych <= 'F') goto yy879; + if (yych <= '`') goto yy871; + if (yych <= 'f') goto yy879; + goto yy871; } -yy877: +yy875: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy880; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; goto yy880; } else { - if (yych <= '`') goto yy868; + if (yych <= '`') goto yy871; if (yych <= 'z') goto yy880; - goto yy868; + goto yy871; } } -yy878: +yy876: yych = *++p; - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy881; - if (yych == ';') goto yy874; - goto yy868; + if (yych != ';') goto yy871; +yy877: + ++p; + { return (bufsize_t)(p - start); } yy879: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy882; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'F') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; goto yy882; } else { - if (yych <= '`') goto yy868; + if (yych <= '`') goto yy871; if (yych <= 'f') goto yy882; - goto yy868; + goto yy871; } } yy880: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy883; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; goto yy883; } else { - if (yych <= '`') goto yy868; + if (yych <= '`') goto yy871; if (yych <= 'z') goto yy883; - goto yy868; + goto yy871; } } yy881: yych = *++p; - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy884; - if (yych == ';') goto yy874; - goto yy868; + if (yych == ';') goto yy877; + goto yy871; yy882: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy885; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'F') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; goto yy885; } else { - if (yych <= '`') goto yy868; + if (yych <= '`') goto yy871; if (yych <= 'f') goto yy885; - goto yy868; + goto yy871; } } yy883: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy886; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; goto yy886; } else { - if (yych <= '`') goto yy868; + if (yych <= '`') goto yy871; if (yych <= 'z') goto yy886; - goto yy868; + goto yy871; } } yy884: yych = *++p; - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy887; - if (yych == ';') goto yy874; - goto yy868; + if (yych == ';') goto yy877; + goto yy871; yy885: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy888; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'F') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; goto yy888; } else { - if (yych <= '`') goto yy868; + if (yych <= '`') goto yy871; if (yych <= 'f') goto yy888; - goto yy868; + goto yy871; } } yy886: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy889; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; goto yy889; } else { - if (yych <= '`') goto yy868; + if (yych <= '`') goto yy871; if (yych <= 'z') goto yy889; - goto yy868; + goto yy871; } } yy887: yych = *++p; - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy890; - if (yych == ';') goto yy874; - goto yy868; + if (yych == ';') goto yy877; + goto yy871; yy888: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy890; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy891; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy890; + if (yych <= '@') goto yy871; + goto yy891; } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy890; - goto yy868; + if (yych <= '`') goto yy871; + if (yych <= 'f') goto yy891; + goto yy871; } } yy889: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy891; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy892; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy891; + if (yych <= '@') goto yy871; + goto yy892; } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy891; - goto yy868; + if (yych <= '`') goto yy871; + if (yych <= 'z') goto yy892; + goto yy871; } } yy890: yych = *++p; - if (yych == ';') goto yy874; - goto yy868; + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy893; + if (yych == ';') goto yy877; + goto yy871; yy891: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy892; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy893; + if (yych <= ':') goto yy871; + goto yy877; } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= 'F') { + if (yych <= '@') goto yy871; + goto yy893; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych <= 'f') goto yy893; + goto yy871; } } yy892: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy894; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; + goto yy894; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych <= 'z') goto yy894; + goto yy871; } } yy893: yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy894; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } + if (yych == ';') goto yy877; + goto yy871; yy894: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy895; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy895: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy896; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy896: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy897; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy897: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy898; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy898: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy899; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy899: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy900; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy900: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy901; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy901: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy902; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy902: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy903; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy903: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy904; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy904: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy905; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy905: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy906; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy906: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy907; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy907: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy908; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy908: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy909; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy909: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy910; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy910: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy911; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy911: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy912; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy912: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy913; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy913: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; + if (yych <= '/') goto yy871; if (yych <= '9') goto yy914; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; + if (yych <= '@') goto yy871; } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; } } yy914: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy890; - if (yych <= ':') goto yy868; - goto yy874; + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy915; + if (yych <= ':') goto yy871; + goto yy877; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy871; + } else { + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; + } + } +yy915: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy916; + if (yych <= ':') goto yy871; + goto yy877; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy871; + } else { + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; + } + } +yy916: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy917; + if (yych <= ':') goto yy871; + goto yy877; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy871; + } else { + if (yych <= '`') goto yy871; + if (yych >= '{') goto yy871; + } + } +yy917: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') goto yy871; + if (yych <= '9') goto yy893; + if (yych <= ':') goto yy871; + goto yy877; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy890; + if (yych <= '@') goto yy871; + goto yy893; } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy890; - goto yy868; + if (yych <= '`') goto yy871; + if (yych <= 'z') goto yy893; + goto yy871; } } } @@ -10150,229 +10162,229 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) yych = *p; if (yych <= 'V') { if (yych <= 'F') { - if (yych == 'D') goto yy919; - if (yych >= 'F') goto yy920; + if (yych == 'D') goto yy922; + if (yych >= 'F') goto yy923; } else { - if (yych == 'J') goto yy921; - if (yych >= 'V') goto yy922; + if (yych == 'J') goto yy924; + if (yych >= 'V') goto yy925; } } else { if (yych <= 'f') { - if (yych == 'd') goto yy919; - if (yych >= 'f') goto yy920; + if (yych == 'd') goto yy922; + if (yych >= 'f') goto yy923; } else { if (yych <= 'j') { - if (yych >= 'j') goto yy921; + if (yych >= 'j') goto yy924; } else { - if (yych == 'v') goto yy922; + if (yych == 'v') goto yy925; } } } ++p; -yy918: +yy921: { return 0; } -yy919: +yy922: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'A') goto yy923; - if (yych == 'a') goto yy923; - goto yy918; -yy920: + if (yych == 'A') goto yy926; + if (yych == 'a') goto yy926; + goto yy921; +yy923: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'I') goto yy925; - if (yych == 'i') goto yy925; - goto yy918; -yy921: + if (yych == 'I') goto yy928; + if (yych == 'i') goto yy928; + goto yy921; +yy924: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'A') goto yy926; - if (yych == 'a') goto yy926; - goto yy918; -yy922: + if (yych == 'A') goto yy929; + if (yych == 'a') goto yy929; + goto yy921; +yy925: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'B') goto yy927; - if (yych == 'b') goto yy927; - goto yy918; -yy923: + if (yych == 'B') goto yy930; + if (yych == 'b') goto yy930; + goto yy921; +yy926: yych = *++p; - if (yych == 'T') goto yy928; - if (yych == 't') goto yy928; -yy924: + if (yych == 'T') goto yy931; + if (yych == 't') goto yy931; +yy927: p = marker; if (yyaccept == 0) { - goto yy918; + goto yy921; } else { - goto yy936; + goto yy939; } -yy925: - yych = *++p; - if (yych == 'L') goto yy929; - if (yych == 'l') goto yy929; - goto yy924; -yy926: - yych = *++p; - if (yych == 'V') goto yy930; - if (yych == 'v') goto yy930; - goto yy924; -yy927: - yych = *++p; - if (yych == 'S') goto yy931; - if (yych == 's') goto yy931; - goto yy924; yy928: yych = *++p; - if (yych == 'A') goto yy932; - if (yych == 'a') goto yy932; - goto yy924; + if (yych == 'L') goto yy932; + if (yych == 'l') goto yy932; + goto yy927; yy929: yych = *++p; - if (yych == 'E') goto yy933; - if (yych == 'e') goto yy933; - goto yy924; + if (yych == 'V') goto yy933; + if (yych == 'v') goto yy933; + goto yy927; yy930: yych = *++p; - if (yych == 'A') goto yy927; - if (yych == 'a') goto yy927; - goto yy924; + if (yych == 'S') goto yy934; + if (yych == 's') goto yy934; + goto yy927; yy931: yych = *++p; - if (yych == 'C') goto yy934; - if (yych == 'c') goto yy934; - goto yy924; + if (yych == 'A') goto yy935; + if (yych == 'a') goto yy935; + goto yy927; yy932: yych = *++p; - if (yych == ':') goto yy935; - goto yy924; + if (yych == 'E') goto yy936; + if (yych == 'e') goto yy936; + goto yy927; yy933: yych = *++p; - if (yych == ':') goto yy937; - goto yy924; + if (yych == 'A') goto yy930; + if (yych == 'a') goto yy930; + goto yy927; yy934: yych = *++p; - if (yych == 'R') goto yy938; - if (yych == 'r') goto yy938; - goto yy924; + if (yych == 'C') goto yy937; + if (yych == 'c') goto yy937; + goto yy927; yy935: - yyaccept = 1; - yych = *(marker = ++p); - if (yych == 'I') goto yy939; - if (yych == 'i') goto yy939; + yych = *++p; + if (yych == ':') goto yy938; + goto yy927; yy936: - { return (bufsize_t)(p - start); } + yych = *++p; + if (yych == ':') goto yy940; + goto yy927; yy937: - ++p; - goto yy936; -yy938: yych = *++p; - if (yych == 'I') goto yy940; - if (yych == 'i') goto yy940; - goto yy924; + if (yych == 'R') goto yy941; + if (yych == 'r') goto yy941; + goto yy927; +yy938: + yyaccept = 1; + yych = *(marker = ++p); + if (yych == 'I') goto yy942; + if (yych == 'i') goto yy942; yy939: - yych = *++p; - if (yych == 'M') goto yy941; - if (yych == 'm') goto yy941; - goto yy924; + { return (bufsize_t)(p - start); } yy940: - yych = *++p; - if (yych == 'P') goto yy942; - if (yych == 'p') goto yy942; - goto yy924; + ++p; + goto yy939; yy941: yych = *++p; - if (yych == 'A') goto yy943; - if (yych == 'a') goto yy943; - goto yy924; + if (yych == 'I') goto yy943; + if (yych == 'i') goto yy943; + goto yy927; yy942: yych = *++p; - if (yych == 'T') goto yy933; - if (yych == 't') goto yy933; - goto yy924; + if (yych == 'M') goto yy944; + if (yych == 'm') goto yy944; + goto yy927; yy943: yych = *++p; - if (yych == 'G') goto yy944; - if (yych != 'g') goto yy924; + if (yych == 'P') goto yy945; + if (yych == 'p') goto yy945; + goto yy927; yy944: yych = *++p; - if (yych == 'E') goto yy945; - if (yych != 'e') goto yy924; + if (yych == 'A') goto yy946; + if (yych == 'a') goto yy946; + goto yy927; yy945: yych = *++p; - if (yych != '/') goto yy924; + if (yych == 'T') goto yy936; + if (yych == 't') goto yy936; + goto yy927; +yy946: + yych = *++p; + if (yych == 'G') goto yy947; + if (yych != 'g') goto yy927; +yy947: + yych = *++p; + if (yych == 'E') goto yy948; + if (yych != 'e') goto yy927; +yy948: + yych = *++p; + if (yych != '/') goto yy927; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { - if (yych == 'G') goto yy947; - if (yych <= 'I') goto yy924; - goto yy948; + if (yych == 'G') goto yy950; + if (yych <= 'I') goto yy927; + goto yy951; } else { - if (yych == 'P') goto yy949; - if (yych <= 'V') goto yy924; - goto yy950; + if (yych == 'P') goto yy952; + if (yych <= 'V') goto yy927; + goto yy953; } } else { if (yych <= 'j') { - if (yych == 'g') goto yy947; - if (yych <= 'i') goto yy924; - goto yy948; + if (yych == 'g') goto yy950; + if (yych <= 'i') goto yy927; + goto yy951; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy924; - goto yy949; + if (yych <= 'o') goto yy927; + goto yy952; } else { - if (yych == 'w') goto yy950; - goto yy924; + if (yych == 'w') goto yy953; + goto yy927; } } } -yy947: - yych = *++p; - if (yych == 'I') goto yy951; - if (yych == 'i') goto yy951; - goto yy924; -yy948: - yych = *++p; - if (yych == 'P') goto yy952; - if (yych == 'p') goto yy952; - goto yy924; -yy949: - yych = *++p; - if (yych == 'N') goto yy953; - if (yych == 'n') goto yy953; - goto yy924; yy950: yych = *++p; - if (yych == 'E') goto yy954; - if (yych == 'e') goto yy954; - goto yy924; + if (yych == 'I') goto yy954; + if (yych == 'i') goto yy954; + goto yy927; yy951: yych = *++p; - if (yych == 'F') goto yy955; - if (yych == 'f') goto yy955; - goto yy924; + if (yych == 'P') goto yy955; + if (yych == 'p') goto yy955; + goto yy927; yy952: yych = *++p; - if (yych == 'E') goto yy953; - if (yych != 'e') goto yy924; + if (yych == 'N') goto yy956; + if (yych == 'n') goto yy956; + goto yy927; yy953: yych = *++p; - if (yych == 'G') goto yy955; - if (yych == 'g') goto yy955; - goto yy924; + if (yych == 'E') goto yy957; + if (yych == 'e') goto yy957; + goto yy927; yy954: yych = *++p; - if (yych == 'B') goto yy957; - if (yych == 'b') goto yy957; - goto yy924; + if (yych == 'F') goto yy958; + if (yych == 'f') goto yy958; + goto yy927; yy955: + yych = *++p; + if (yych == 'E') goto yy956; + if (yych != 'e') goto yy927; +yy956: + yych = *++p; + if (yych == 'G') goto yy958; + if (yych == 'g') goto yy958; + goto yy927; +yy957: + yych = *++p; + if (yych == 'B') goto yy960; + if (yych == 'b') goto yy960; + goto yy927; +yy958: ++p; { return 0; } -yy957: +yy960: yych = *++p; - if (yych == 'P') goto yy955; - if (yych == 'p') goto yy955; - goto yy924; + if (yych == 'P') goto yy958; + if (yych == 'p') goto yy958; + goto yy927; } } @@ -10420,87 +10432,87 @@ bufsize_t _scan_footnote_definition(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '[') goto yy962; + if (yych == '[') goto yy965; ++p; -yy961: +yy964: { return 0; } -yy962: +yy965: yych = *(marker = ++p); - if (yych != '^') goto yy961; + if (yych != '^') goto yy964; yych = *++p; - if (yych != ']') goto yy966; -yy964: + if (yych != ']') goto yy969; +yy967: p = marker; - goto yy961; -yy965: + goto yy964; +yy968: yych = *++p; -yy966: +yy969: if (yybm[0+yych] & 64) { - goto yy965; + goto yy968; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= ' ') goto yy964; - if (yych <= ']') goto yy974; - goto yy964; + if (yych <= ' ') goto yy967; + if (yych <= ']') goto yy977; + goto yy967; } else { - if (yych <= 0xDF) goto yy967; - if (yych <= 0xE0) goto yy968; - goto yy969; + if (yych <= 0xDF) goto yy970; + if (yych <= 0xE0) goto yy971; + goto yy972; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy970; - if (yych <= 0xEF) goto yy969; - goto yy971; + if (yych <= 0xED) goto yy973; + if (yych <= 0xEF) goto yy972; + goto yy974; } else { - if (yych <= 0xF3) goto yy972; - if (yych <= 0xF4) goto yy973; - goto yy964; + if (yych <= 0xF3) goto yy975; + if (yych <= 0xF4) goto yy976; + goto yy967; } } -yy967: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy965; - goto yy964; -yy968: - yych = *++p; - if (yych <= 0x9F) goto yy964; - if (yych <= 0xBF) goto yy967; - goto yy964; -yy969: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy967; - goto yy964; yy970: yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0x9F) goto yy967; - goto yy964; + if (yych <= 0x7F) goto yy967; + if (yych <= 0xBF) goto yy968; + goto yy967; yy971: yych = *++p; - if (yych <= 0x8F) goto yy964; - if (yych <= 0xBF) goto yy969; - goto yy964; + if (yych <= 0x9F) goto yy967; + if (yych <= 0xBF) goto yy970; + goto yy967; yy972: yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy969; - goto yy964; + if (yych <= 0x7F) goto yy967; + if (yych <= 0xBF) goto yy970; + goto yy967; yy973: yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0x8F) goto yy969; - goto yy964; + if (yych <= 0x7F) goto yy967; + if (yych <= 0x9F) goto yy970; + goto yy967; yy974: yych = *++p; - if (yych != ':') goto yy964; + if (yych <= 0x8F) goto yy967; + if (yych <= 0xBF) goto yy972; + goto yy967; yy975: + yych = *++p; + if (yych <= 0x7F) goto yy967; + if (yych <= 0xBF) goto yy972; + goto yy967; +yy976: + yych = *++p; + if (yych <= 0x7F) goto yy967; + if (yych <= 0x8F) goto yy972; + goto yy967; +yy977: + yych = *++p; + if (yych != ':') goto yy967; +yy978: yych = *++p; if (yybm[0+yych] & 128) { - goto yy975; + goto yy978; } { return (bufsize_t)(p - start); } } diff --git a/ext/commonmarker/table.c b/ext/commonmarker/table.c index b9bf4840..a5bb4406 100644 --- a/ext/commonmarker/table.c +++ b/ext/commonmarker/table.c @@ -129,7 +129,6 @@ static table_row *row_from_string(cmark_syntax_extension *self, bufsize_t cell_matched = 1, pipe_matched = 1, offset; int expect_more_cells = 1; int row_end_offset = 0; - int int_overflow_abort = 0; row = (table_row *)parser->mem->calloc(1, sizeof(table_row)); row->n_columns = 0; @@ -162,12 +161,6 @@ static table_row *row_from_string(cmark_syntax_extension *self, ++cell->internal_offset; } - // make sure we never wrap row->n_columns - // offset will != len and our exit will clean up as intended - if (row->n_columns == UINT16_MAX) { - int_overflow_abort = 1; - break; - } row->n_columns += 1; row->cells = cmark_llist_append(parser->mem, row->cells, cell); } @@ -201,7 +194,7 @@ static table_row *row_from_string(cmark_syntax_extension *self, } } - if (offset != len || row->n_columns == 0 || int_overflow_abort) { + if (offset != len || row->n_columns == 0) { free_table_row(parser->mem, row); row = NULL; } @@ -248,11 +241,6 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, marker_row = row_from_string(self, parser, input + cmark_parser_get_first_nonspace(parser), len - cmark_parser_get_first_nonspace(parser)); - // assert may be optimized out, don't rely on it for security boundaries - if (!marker_row) { - return parent_container; - } - assert(marker_row); cmark_arena_push(); @@ -276,12 +264,6 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, len - cmark_parser_get_first_nonspace(parser)); header_row = row_from_string(self, parser, (unsigned char *)parent_string, (int)strlen(parent_string)); - // row_from_string can return NULL, add additional check to ensure n_columns match - if (!marker_row || !header_row || header_row->n_columns != marker_row->n_columns) { - free_table_row(parser->mem, marker_row); - free_table_row(parser->mem, header_row); - return parent_container; - } } if (!cmark_node_set_type(parent_container, CMARK_NODE_TABLE)) { @@ -299,10 +281,8 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, parent_container->as.opaque = parser->mem->calloc(1, sizeof(node_table)); set_n_table_columns(parent_container, header_row->n_columns); - // allocate alignments based on marker_row->n_columns - // since we populate the alignments array based on marker_row->cells uint8_t *alignments = - (uint8_t *)parser->mem->calloc(marker_row->n_columns, sizeof(uint8_t)); + (uint8_t *)parser->mem->calloc(header_row->n_columns, sizeof(uint8_t)); cmark_llist *it = marker_row->cells; for (i = 0; it; it = it->next, ++i) { node_cell *node = (node_cell *)it->data; @@ -371,12 +351,6 @@ static cmark_node *try_opening_table_row(cmark_syntax_extension *self, row = row_from_string(self, parser, input + cmark_parser_get_first_nonspace(parser), len - cmark_parser_get_first_nonspace(parser)); - if (!row) { - // clean up the dangling node - cmark_node_free(table_row_block); - return NULL; - } - { cmark_llist *tmp; int i, table_columns = get_n_table_columns(parent_container); From 795e628a406ec67f169440ed3aa84ba9483e2700 Mon Sep 17 00:00:00 2001 From: Steven Laidlaw <steven@stevenlaidlaw.com> Date: Thu, 25 Aug 2022 14:35:49 +0800 Subject: [PATCH 09/20] Update cmark-upstream to https://github.com/github/cmark-gfm/commit/0578e1e4fedde487a3c763139e80d445b40ebd6d --- ext/commonmarker/autolink.c | 37 +- ext/commonmarker/cmark-gfm_version.h | 4 +- ext/commonmarker/cmark-upstream | 2 +- ext/commonmarker/scanners.c | 4888 +++++++++++++------------- ext/commonmarker/table.c | 30 +- 5 files changed, 2503 insertions(+), 2458 deletions(-) diff --git a/ext/commonmarker/autolink.c b/ext/commonmarker/autolink.c index 41564ee4..838374c2 100644 --- a/ext/commonmarker/autolink.c +++ b/ext/commonmarker/autolink.c @@ -269,6 +269,22 @@ static cmark_node *match(cmark_syntax_extension *ext, cmark_parser *parser, // inline was finished in inlines.c. } +static bool validate_protocol(char protocol[], uint8_t *data, int rewind) { + size_t len = strlen(protocol); + + // Check that the protocol matches + for (int i = 1; i <= len; i++) { + if (data[-rewind - i] != protocol[len - i]) { + return false; + } + } + + char prev_char = data[-rewind - len - 1]; + + // Make sure the character before the protocol is non-alphanumeric + return !cmark_isalnum(prev_char); +} + static void postprocess_text(cmark_parser *parser, cmark_node *text, int offset, int depth) { // postprocess_text can recurse very deeply if there is a very long line of // '@' only. Stop at a reasonable depth to ensure it cannot crash. @@ -278,6 +294,8 @@ static void postprocess_text(cmark_parser *parser, cmark_node *text, int offset, uint8_t *data = text->as.literal.data, *at; size_t size = text->as.literal.len; + bool auto_mailto = true; + bool is_xmpp = false; int rewind, max_rewind, nb = 0, np = 0, ns = 0; @@ -304,8 +322,18 @@ static void postprocess_text(cmark_parser *parser, cmark_node *text, int offset, if (strchr(".+-_", c) != NULL) continue; - if (c == '/') - ns++; + if (strchr(":", c) != NULL) { + if (validate_protocol("mailto:", data, rewind)) { + auto_mailto = false; + continue; + } + + if (validate_protocol("xmpp:", data, rewind)) { + auto_mailto = false; + is_xmpp = true; + continue; + } + } break; } @@ -325,6 +353,8 @@ static void postprocess_text(cmark_parser *parser, cmark_node *text, int offset, nb++; else if (c == '.' && link_end < size - 1 && cmark_isalnum(data[link_end + 1])) np++; + else if (c == '/' && is_xmpp) + continue; else if (c != '-' && c != '_') break; } @@ -347,7 +377,8 @@ static void postprocess_text(cmark_parser *parser, cmark_node *text, int offset, cmark_node *link_node = cmark_node_new_with_mem(CMARK_NODE_LINK, parser->mem); cmark_strbuf buf; cmark_strbuf_init(parser->mem, &buf, 10); - cmark_strbuf_puts(&buf, "mailto:"); + if (auto_mailto) + cmark_strbuf_puts(&buf, "mailto:"); cmark_strbuf_put(&buf, data - rewind, (bufsize_t)(link_end + rewind)); link_node->as.link.url = cmark_chunk_buf_detach(&buf); diff --git a/ext/commonmarker/cmark-gfm_version.h b/ext/commonmarker/cmark-gfm_version.h index 3296e25a..f487687d 100644 --- a/ext/commonmarker/cmark-gfm_version.h +++ b/ext/commonmarker/cmark-gfm_version.h @@ -1,7 +1,7 @@ #ifndef CMARK_GFM_VERSION_H #define CMARK_GFM_VERSION_H -#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 2) -#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.2" +#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 5) +#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.5" #endif diff --git a/ext/commonmarker/cmark-upstream b/ext/commonmarker/cmark-upstream index 766f161e..0578e1e4 160000 --- a/ext/commonmarker/cmark-upstream +++ b/ext/commonmarker/cmark-upstream @@ -1 +1 @@ -Subproject commit 766f161ef6d61019acf3a69f5099489e7d14cd49 +Subproject commit 0578e1e4fedde487a3c763139e80d445b40ebd6d diff --git a/ext/commonmarker/scanners.c b/ext/commonmarker/scanners.c index dfa6e5c1..285b7a31 100644 --- a/ext/commonmarker/scanners.c +++ b/ext/commonmarker/scanners.c @@ -1,4 +1,4 @@ -/* Generated by re2c 1.1.1 */ +/* Generated by re2c 1.3 */ #include <stdlib.h> #include "chunk.h" #include "scanners.h" @@ -5089,36 +5089,45 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } yy374: yych = *++p; - switch (yych) { - case 'C': - case 'c': goto yy413; - case 'E': - case 'e': goto yy414; - case 'O': - case 'o': goto yy415; - case 'T': - case 't': goto yy416; - case 'U': - case 'u': goto yy417; - default: goto yy358; + if (yych <= 'U') { + if (yych <= 'D') { + if (yych == 'C') goto yy413; + goto yy358; + } else { + if (yych <= 'E') goto yy414; + if (yych <= 'S') goto yy358; + if (yych <= 'T') goto yy415; + goto yy416; + } + } else { + if (yych <= 'e') { + if (yych == 'c') goto yy413; + if (yych <= 'd') goto yy358; + goto yy414; + } else { + if (yych <= 's') goto yy358; + if (yych <= 't') goto yy415; + if (yych <= 'u') goto yy416; + goto yy358; + } } yy375: yych = *++p; switch (yych) { case 'A': - case 'a': goto yy418; + case 'a': goto yy417; case 'B': - case 'b': goto yy419; + case 'b': goto yy418; case 'D': case 'd': goto yy392; case 'F': - case 'f': goto yy420; + case 'f': goto yy419; case 'H': - case 'h': goto yy421; + case 'h': goto yy420; case 'I': - case 'i': goto yy422; + case 'i': goto yy421; case 'R': - case 'r': goto yy423; + case 'r': goto yy422; default: goto yy358; } yy376: @@ -5128,15 +5137,15 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy377: yych = *++p; - if (yych == '-') goto yy424; + if (yych == '-') goto yy423; goto yy358; yy378: ++p; { return 4; } yy380: yych = *++p; - if (yych == 'C') goto yy426; - if (yych == 'c') goto yy426; + if (yych == 'C') goto yy425; + if (yych == 'c') goto yy425; goto yy358; yy381: yych = *++p; @@ -5163,68 +5172,62 @@ bufsize_t _scan_html_block_start(const unsigned char *p) yy382: yych = *++p; if (yych <= 'U') { - if (yych <= 'N') { - if (yych == 'E') goto yy414; - goto yy358; - } else { - if (yych <= 'O') goto yy415; - if (yych <= 'T') goto yy358; - goto yy417; - } + if (yych == 'E') goto yy414; + if (yych <= 'T') goto yy358; + goto yy416; } else { - if (yych <= 'n') { - if (yych == 'e') goto yy414; - goto yy358; + if (yych <= 'e') { + if (yych <= 'd') goto yy358; + goto yy414; } else { - if (yych <= 'o') goto yy415; - if (yych == 'u') goto yy417; + if (yych == 'u') goto yy416; goto yy358; } } yy383: yych = *++p; - if (yych == 'D') goto yy427; - if (yych == 'd') goto yy427; + if (yych == 'D') goto yy426; + if (yych == 'd') goto yy426; goto yy358; yy384: yych = *++p; - if (yych == 'T') goto yy428; - if (yych == 't') goto yy428; + if (yych == 'T') goto yy427; + if (yych == 't') goto yy427; goto yy358; yy385: yych = *++p; - if (yych == 'I') goto yy429; - if (yych == 'i') goto yy429; + if (yych == 'I') goto yy428; + if (yych == 'i') goto yy428; goto yy358; yy386: yych = *++p; - if (yych == 'S') goto yy430; - if (yych == 's') goto yy430; + if (yych == 'S') goto yy429; + if (yych == 's') goto yy429; goto yy358; yy387: yych = *++p; - if (yych == 'O') goto yy431; - if (yych == 'o') goto yy431; + if (yych == 'O') goto yy430; + if (yych == 'o') goto yy430; goto yy358; yy388: yych = *++p; - if (yych == 'D') goto yy432; - if (yych == 'd') goto yy432; + if (yych == 'D') goto yy431; + if (yych == 'd') goto yy431; goto yy358; yy389: yych = *++p; - if (yych == 'P') goto yy433; - if (yych == 'p') goto yy433; + if (yych == 'P') goto yy432; + if (yych == 'p') goto yy432; goto yy358; yy390: yych = *++p; - if (yych == 'N') goto yy434; - if (yych == 'n') goto yy434; + if (yych == 'N') goto yy433; + if (yych == 'n') goto yy433; goto yy358; yy391: yych = *++p; - if (yych == 'L') goto yy435; - if (yych == 'l') goto yy435; + if (yych == 'L') goto yy434; + if (yych == 'l') goto yy434; goto yy358; yy392: yych = *++p; @@ -5244,14 +5247,14 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } yy393: yych = *++p; - if (yych == 'T') goto yy436; - if (yych == 't') goto yy436; + if (yych == 'T') goto yy435; + if (yych == 't') goto yy435; goto yy358; yy394: yych = *++p; if (yych <= 'V') { if (yych <= 'Q') { - if (yych == 'A') goto yy437; + if (yych == 'A') goto yy436; goto yy358; } else { if (yych <= 'R') goto yy392; @@ -5260,7 +5263,7 @@ bufsize_t _scan_html_block_start(const unsigned char *p) } } else { if (yych <= 'q') { - if (yych == 'a') goto yy437; + if (yych == 'a') goto yy436; goto yy358; } else { if (yych <= 'r') goto yy392; @@ -5271,42 +5274,42 @@ bufsize_t _scan_html_block_start(const unsigned char *p) yy395: yych = *++p; if (yych <= 'G') { - if (yych == 'E') goto yy438; + if (yych == 'E') goto yy437; if (yych <= 'F') goto yy358; - goto yy439; + goto yy438; } else { if (yych <= 'e') { if (yych <= 'd') goto yy358; - goto yy438; + goto yy437; } else { - if (yych == 'g') goto yy439; + if (yych == 'g') goto yy438; goto yy358; } } yy396: yych = *++p; if (yych <= 'R') { - if (yych == 'O') goto yy434; + if (yych == 'O') goto yy433; if (yych <= 'Q') goto yy358; - goto yy440; + goto yy439; } else { if (yych <= 'o') { if (yych <= 'n') goto yy358; - goto yy434; + goto yy433; } else { - if (yych == 'r') goto yy440; + if (yych == 'r') goto yy439; goto yy358; } } yy397: yych = *++p; - if (yych == 'A') goto yy441; - if (yych == 'a') goto yy441; + if (yych == 'A') goto yy440; + if (yych == 'a') goto yy440; goto yy358; yy398: yych = *++p; - if (yych == 'A') goto yy442; - if (yych == 'a') goto yy442; + if (yych == 'A') goto yy441; + if (yych == 'a') goto yy441; goto yy358; yy399: yych = *++p; @@ -5315,13 +5318,13 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy400: yych = *++p; - if (yych == 'R') goto yy443; - if (yych == 'r') goto yy443; + if (yych == 'R') goto yy442; + if (yych == 'r') goto yy442; goto yy358; yy401: yych = *++p; - if (yych == 'G') goto yy444; - if (yych == 'g') goto yy444; + if (yych == 'G') goto yy443; + if (yych == 'g') goto yy443; goto yy358; yy402: yych = *++p; @@ -5340,20 +5343,20 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'N') goto yy445; - if (yych == 'n') goto yy445; + if (yych <= 'N') goto yy444; + if (yych == 'n') goto yy444; goto yy358; } } yy403: yych = *++p; - if (yych == 'I') goto yy446; - if (yych == 'i') goto yy446; + if (yych == 'I') goto yy445; + if (yych == 'i') goto yy445; goto yy358; yy404: yych = *++p; - if (yych == 'N') goto yy447; - if (yych == 'n') goto yy447; + if (yych == 'N') goto yy446; + if (yych == 'n') goto yy446; goto yy358; yy405: yych = *++p; @@ -5362,13 +5365,13 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy406: yych = *++p; - if (yych == 'F') goto yy448; - if (yych == 'f') goto yy448; + if (yych == 'F') goto yy447; + if (yych == 'f') goto yy447; goto yy358; yy407: yych = *++p; - if (yych == 'T') goto yy449; - if (yych == 't') goto yy449; + if (yych == 'T') goto yy448; + if (yych == 't') goto yy448; goto yy358; yy408: ++p; @@ -5379,55 +5382,50 @@ bufsize_t _scan_html_block_start(const unsigned char *p) goto yy358; yy411: yych = *++p; - if (yych == 'R') goto yy450; - if (yych == 'r') goto yy450; + if (yych == 'R') goto yy449; + if (yych == 'r') goto yy449; goto yy358; yy412: yych = *++p; - if (yych == 'E') goto yy451; - if (yych == 'e') goto yy451; + if (yych == 'E') goto yy450; + if (yych == 'e') goto yy450; goto yy358; yy413: yych = *++p; - if (yych == 'R') goto yy452; - if (yych == 'r') goto yy452; + if (yych == 'R') goto yy451; + if (yych == 'r') goto yy451; goto yy358; yy414: yych = *++p; - if (yych == 'C') goto yy433; - if (yych == 'c') goto yy433; + if (yych == 'C') goto yy432; + if (yych == 'c') goto yy432; goto yy358; yy415: yych = *++p; - if (yych == 'U') goto yy453; - if (yych == 'u') goto yy453; + if (yych == 'Y') goto yy452; + if (yych == 'y') goto yy452; goto yy358; yy416: yych = *++p; - if (yych == 'Y') goto yy454; - if (yych == 'y') goto yy454; + if (yych == 'M') goto yy453; + if (yych == 'm') goto yy453; goto yy358; yy417: yych = *++p; - if (yych == 'M') goto yy455; - if (yych == 'm') goto yy455; + if (yych == 'B') goto yy454; + if (yych == 'b') goto yy454; goto yy358; yy418: - yych = *++p; - if (yych == 'B') goto yy456; - if (yych == 'b') goto yy456; - goto yy358; -yy419: yych = *++p; if (yych == 'O') goto yy388; if (yych == 'o') goto yy388; goto yy358; -yy420: +yy419: yych = *++p; - if (yych == 'O') goto yy457; - if (yych == 'o') goto yy457; + if (yych == 'O') goto yy455; + if (yych == 'o') goto yy455; goto yy358; -yy421: +yy420: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5444,17 +5442,17 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'E') goto yy458; - if (yych == 'e') goto yy458; + if (yych <= 'E') goto yy456; + if (yych == 'e') goto yy456; goto yy358; } } -yy422: +yy421: yych = *++p; - if (yych == 'T') goto yy456; - if (yych == 't') goto yy456; + if (yych == 'T') goto yy454; + if (yych == 't') goto yy454; goto yy358; -yy423: +yy422: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5471,60 +5469,60 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'A') goto yy459; - if (yych == 'a') goto yy459; + if (yych <= 'A') goto yy457; + if (yych == 'a') goto yy457; goto yy358; } } -yy424: +yy423: ++p; { return 2; } +yy425: + yych = *++p; + if (yych == 'D') goto yy458; + if (yych == 'd') goto yy458; + goto yy358; yy426: yych = *++p; - if (yych == 'D') goto yy460; - if (yych == 'd') goto yy460; + if (yych == 'R') goto yy459; + if (yych == 'r') goto yy459; goto yy358; yy427: yych = *++p; - if (yych == 'R') goto yy461; - if (yych == 'r') goto yy461; + if (yych == 'I') goto yy460; + if (yych == 'i') goto yy460; goto yy358; yy428: yych = *++p; - if (yych == 'I') goto yy462; - if (yych == 'i') goto yy462; + if (yych == 'D') goto yy461; + if (yych == 'd') goto yy461; goto yy358; yy429: yych = *++p; - if (yych == 'D') goto yy463; - if (yych == 'd') goto yy463; + if (yych == 'E') goto yy462; + if (yych == 'e') goto yy462; goto yy358; yy430: yych = *++p; - if (yych == 'E') goto yy464; - if (yych == 'e') goto yy464; + if (yych == 'C') goto yy463; + if (yych == 'c') goto yy463; goto yy358; yy431: yych = *++p; - if (yych == 'C') goto yy465; - if (yych == 'c') goto yy465; + if (yych == 'Y') goto yy392; + if (yych == 'y') goto yy392; goto yy358; yy432: yych = *++p; - if (yych == 'Y') goto yy392; - if (yych == 'y') goto yy392; + if (yych == 'T') goto yy464; + if (yych == 't') goto yy464; goto yy358; yy433: yych = *++p; - if (yych == 'T') goto yy466; - if (yych == 't') goto yy466; + if (yych == 'T') goto yy465; + if (yych == 't') goto yy465; goto yy358; yy434: - yych = *++p; - if (yych == 'T') goto yy467; - if (yych == 't') goto yy467; - goto yy358; -yy435: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5541,178 +5539,173 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'G') goto yy468; - if (yych == 'g') goto yy468; + if (yych <= 'G') goto yy466; + if (yych == 'g') goto yy466; goto yy358; } } +yy435: + yych = *++p; + if (yych == 'A') goto yy467; + if (yych == 'a') goto yy467; + goto yy358; yy436: yych = *++p; - if (yych == 'A') goto yy469; - if (yych == 'a') goto yy469; + if (yych == 'L') goto yy468; + if (yych == 'l') goto yy468; goto yy358; yy437: yych = *++p; - if (yych == 'L') goto yy470; - if (yych == 'l') goto yy470; + if (yych == 'L') goto yy469; + if (yych == 'l') goto yy469; goto yy358; yy438: - yych = *++p; - if (yych == 'L') goto yy471; - if (yych == 'l') goto yy471; - goto yy358; -yy439: yych = *++p; if (yych <= 'U') { - if (yych == 'C') goto yy472; + if (yych == 'C') goto yy470; if (yych <= 'T') goto yy358; - goto yy473; + goto yy471; } else { if (yych <= 'c') { if (yych <= 'b') goto yy358; - goto yy472; + goto yy470; } else { - if (yych == 'u') goto yy473; + if (yych == 'u') goto yy471; goto yy358; } } -yy440: +yy439: yych = *++p; if (yych == 'M') goto yy392; if (yych == 'm') goto yy392; goto yy358; +yy440: + yych = *++p; + if (yych == 'M') goto yy472; + if (yych == 'm') goto yy472; + goto yy358; yy441: yych = *++p; - if (yych == 'M') goto yy474; - if (yych == 'm') goto yy474; + if (yych == 'D') goto yy473; + if (yych == 'd') goto yy473; goto yy358; yy442: yych = *++p; - if (yych == 'D') goto yy475; - if (yych == 'd') goto yy475; + if (yych == 'A') goto yy474; + if (yych == 'a') goto yy474; goto yy358; yy443: yych = *++p; - if (yych == 'A') goto yy476; - if (yych == 'a') goto yy476; + if (yych == 'E') goto yy475; + if (yych == 'e') goto yy475; goto yy358; yy444: - yych = *++p; - if (yych == 'E') goto yy477; - if (yych == 'e') goto yy477; - goto yy358; -yy445: yych = *++p; if (yych == 'K') goto yy392; if (yych == 'k') goto yy392; goto yy358; -yy446: +yy445: yych = *++p; if (yych == 'N') goto yy392; if (yych == 'n') goto yy392; goto yy358; -yy447: +yy446: yych = *++p; - if (yych == 'U') goto yy478; - if (yych == 'u') goto yy478; + if (yych == 'U') goto yy476; + if (yych == 'u') goto yy476; goto yy358; -yy448: +yy447: yych = *++p; - if (yych == 'R') goto yy479; - if (yych == 'r') goto yy479; + if (yych == 'R') goto yy477; + if (yych == 'r') goto yy477; goto yy358; -yy449: +yy448: yych = *++p; if (yych <= 'I') { - if (yych == 'G') goto yy468; + if (yych == 'G') goto yy466; if (yych <= 'H') goto yy358; - goto yy480; + goto yy478; } else { if (yych <= 'g') { if (yych <= 'f') goto yy358; - goto yy468; + goto yy466; } else { - if (yych == 'i') goto yy480; + if (yych == 'i') goto yy478; goto yy358; } } -yy450: +yy449: yych = *++p; - if (yych == 'A') goto yy440; - if (yych == 'a') goto yy440; + if (yych == 'A') goto yy439; + if (yych == 'a') goto yy439; goto yy358; -yy451: +yy450: yych = *++p; if (yych <= 0x1F) { if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy481; + if (yych <= '\r') goto yy479; goto yy358; } else { - if (yych <= ' ') goto yy481; - if (yych == '>') goto yy481; + if (yych <= ' ') goto yy479; + if (yych == '>') goto yy479; goto yy358; } +yy451: + yych = *++p; + if (yych == 'I') goto yy481; + if (yych == 'i') goto yy481; + goto yy358; yy452: yych = *++p; - if (yych == 'I') goto yy483; - if (yych == 'i') goto yy483; + if (yych == 'L') goto yy412; + if (yych == 'l') goto yy412; goto yy358; yy453: yych = *++p; - if (yych == 'R') goto yy484; - if (yych == 'r') goto yy484; + if (yych == 'M') goto yy482; + if (yych == 'm') goto yy482; goto yy358; yy454: yych = *++p; - if (yych == 'L') goto yy412; - if (yych == 'l') goto yy412; + if (yych == 'L') goto yy461; + if (yych == 'l') goto yy461; goto yy358; yy455: yych = *++p; - if (yych == 'M') goto yy485; - if (yych == 'm') goto yy485; + if (yych == 'O') goto yy483; + if (yych == 'o') goto yy483; goto yy358; yy456: yych = *++p; - if (yych == 'L') goto yy463; - if (yych == 'l') goto yy463; + if (yych == 'A') goto yy484; + if (yych == 'a') goto yy484; goto yy358; yy457: yych = *++p; - if (yych == 'O') goto yy486; - if (yych == 'o') goto yy486; + if (yych == 'C') goto yy444; + if (yych == 'c') goto yy444; goto yy358; yy458: yych = *++p; - if (yych == 'A') goto yy487; - if (yych == 'a') goto yy487; + if (yych == 'A') goto yy485; + if (yych == 'a') goto yy485; goto yy358; yy459: yych = *++p; - if (yych == 'C') goto yy445; - if (yych == 'c') goto yy445; + if (yych == 'E') goto yy486; + if (yych == 'e') goto yy486; goto yy358; yy460: yych = *++p; - if (yych == 'A') goto yy488; - if (yych == 'a') goto yy488; + if (yych == 'C') goto yy454; + if (yych == 'c') goto yy454; goto yy358; yy461: - yych = *++p; - if (yych == 'E') goto yy489; - if (yych == 'e') goto yy489; - goto yy358; -yy462: - yych = *++p; - if (yych == 'C') goto yy456; - if (yych == 'c') goto yy456; - goto yy358; -yy463: yych = *++p; if (yych == 'E') goto yy392; if (yych == 'e') goto yy392; goto yy358; -yy464: +yy462: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5729,62 +5722,62 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'F') goto yy490; - if (yych == 'f') goto yy490; + if (yych <= 'F') goto yy487; + if (yych == 'f') goto yy487; goto yy358; } } +yy463: + yych = *++p; + if (yych == 'K') goto yy488; + if (yych == 'k') goto yy488; + goto yy358; +yy464: + yych = *++p; + if (yych == 'I') goto yy478; + if (yych == 'i') goto yy478; + goto yy358; yy465: yych = *++p; - if (yych == 'K') goto yy491; - if (yych == 'k') goto yy491; + if (yych == 'E') goto yy489; + if (yych == 'e') goto yy489; goto yy358; yy466: yych = *++p; - if (yych == 'I') goto yy480; - if (yych == 'i') goto yy480; + if (yych == 'R') goto yy490; + if (yych == 'r') goto yy490; goto yy358; yy467: yych = *++p; - if (yych == 'E') goto yy492; - if (yych == 'e') goto yy492; + if (yych == 'I') goto yy491; + if (yych == 'i') goto yy491; goto yy358; yy468: yych = *++p; - if (yych == 'R') goto yy493; - if (yych == 'r') goto yy493; + if (yych == 'O') goto yy492; + if (yych == 'o') goto yy492; goto yy358; yy469: yych = *++p; - if (yych == 'I') goto yy494; - if (yych == 'i') goto yy494; + if (yych == 'D') goto yy493; + if (yych == 'd') goto yy493; goto yy358; yy470: yych = *++p; - if (yych == 'O') goto yy495; - if (yych == 'o') goto yy495; + if (yych == 'A') goto yy389; + if (yych == 'a') goto yy389; goto yy358; yy471: yych = *++p; - if (yych == 'D') goto yy496; - if (yych == 'd') goto yy496; + if (yych == 'R') goto yy461; + if (yych == 'r') goto yy461; goto yy358; yy472: yych = *++p; - if (yych == 'A') goto yy389; - if (yych == 'a') goto yy389; + if (yych == 'E') goto yy494; + if (yych == 'e') goto yy494; goto yy358; yy473: - yych = *++p; - if (yych == 'R') goto yy463; - if (yych == 'r') goto yy463; - goto yy358; -yy474: - yych = *++p; - if (yych == 'E') goto yy497; - if (yych == 'e') goto yy497; - goto yy358; -yy475: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5801,22 +5794,22 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'E') goto yy492; - if (yych == 'e') goto yy492; + if (yych <= 'E') goto yy489; + if (yych == 'e') goto yy489; goto yy358; } } -yy476: +yy474: yych = *++p; - if (yych == 'M') goto yy463; - if (yych == 'm') goto yy463; + if (yych == 'M') goto yy461; + if (yych == 'm') goto yy461; goto yy358; -yy477: +yy475: yych = *++p; - if (yych == 'N') goto yy487; - if (yych == 'n') goto yy487; + if (yych == 'N') goto yy484; + if (yych == 'n') goto yy484; goto yy358; -yy478: +yy476: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5833,95 +5826,90 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'I') goto yy498; - if (yych == 'i') goto yy498; + if (yych <= 'I') goto yy495; + if (yych == 'i') goto yy495; goto yy358; } } -yy479: +yy477: yych = *++p; - if (yych == 'A') goto yy499; - if (yych == 'a') goto yy499; + if (yych == 'A') goto yy496; + if (yych == 'a') goto yy496; goto yy358; -yy480: +yy478: yych = *++p; - if (yych == 'O') goto yy446; - if (yych == 'o') goto yy446; + if (yych == 'O') goto yy445; + if (yych == 'o') goto yy445; goto yy358; -yy481: +yy479: ++p; { return 1; } -yy483: - yych = *++p; - if (yych == 'P') goto yy500; - if (yych == 'p') goto yy500; - goto yy358; -yy484: +yy481: yych = *++p; - if (yych == 'C') goto yy463; - if (yych == 'c') goto yy463; + if (yych == 'P') goto yy497; + if (yych == 'p') goto yy497; goto yy358; -yy485: +yy482: yych = *++p; - if (yych == 'A') goto yy501; - if (yych == 'a') goto yy501; + if (yych == 'A') goto yy498; + if (yych == 'a') goto yy498; goto yy358; -yy486: +yy483: yych = *++p; if (yych == 'T') goto yy392; if (yych == 't') goto yy392; goto yy358; -yy487: +yy484: yych = *++p; if (yych == 'D') goto yy392; if (yych == 'd') goto yy392; goto yy358; -yy488: +yy485: yych = *++p; - if (yych == 'T') goto yy502; - if (yych == 't') goto yy502; + if (yych == 'T') goto yy499; + if (yych == 't') goto yy499; goto yy358; -yy489: +yy486: yych = *++p; - if (yych == 'S') goto yy503; - if (yych == 's') goto yy503; + if (yych == 'S') goto yy500; + if (yych == 's') goto yy500; goto yy358; -yy490: +yy487: yych = *++p; - if (yych == 'O') goto yy504; - if (yych == 'o') goto yy504; + if (yych == 'O') goto yy501; + if (yych == 'o') goto yy501; goto yy358; -yy491: +yy488: yych = *++p; - if (yych == 'Q') goto yy505; - if (yych == 'q') goto yy505; + if (yych == 'Q') goto yy502; + if (yych == 'q') goto yy502; goto yy358; -yy492: +yy489: yych = *++p; if (yych == 'R') goto yy392; if (yych == 'r') goto yy392; goto yy358; -yy493: +yy490: yych = *++p; - if (yych == 'O') goto yy506; - if (yych == 'o') goto yy506; + if (yych == 'O') goto yy503; + if (yych == 'o') goto yy503; goto yy358; -yy494: +yy491: yych = *++p; - if (yych == 'L') goto yy503; - if (yych == 'l') goto yy503; + if (yych == 'L') goto yy500; + if (yych == 'l') goto yy500; goto yy358; -yy495: +yy492: yych = *++p; if (yych == 'G') goto yy392; if (yych == 'g') goto yy392; goto yy358; -yy496: +yy493: yych = *++p; - if (yych == 'S') goto yy507; - if (yych == 's') goto yy507; + if (yych == 'S') goto yy504; + if (yych == 's') goto yy504; goto yy358; -yy497: +yy494: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { @@ -5938,92 +5926,92 @@ bufsize_t _scan_html_block_start(const unsigned char *p) if (yych == '>') goto yy408; goto yy358; } else { - if (yych <= 'S') goto yy507; - if (yych == 's') goto yy507; + if (yych <= 'S') goto yy504; + if (yych == 's') goto yy504; goto yy358; } } +yy495: + yych = *++p; + if (yych == 'T') goto yy505; + if (yych == 't') goto yy505; + goto yy358; +yy496: + yych = *++p; + if (yych == 'M') goto yy506; + if (yych == 'm') goto yy506; + goto yy358; +yy497: + yych = *++p; + if (yych == 'T') goto yy450; + if (yych == 't') goto yy450; + goto yy358; yy498: yych = *++p; - if (yych == 'T') goto yy508; - if (yych == 't') goto yy508; + if (yych == 'R') goto yy431; + if (yych == 'r') goto yy431; goto yy358; yy499: yych = *++p; - if (yych == 'M') goto yy509; - if (yych == 'm') goto yy509; + if (yych == 'A') goto yy507; + if (yych == 'a') goto yy507; goto yy358; yy500: yych = *++p; - if (yych == 'T') goto yy451; - if (yych == 't') goto yy451; + if (yych == 'S') goto yy392; + if (yych == 's') goto yy392; goto yy358; yy501: yych = *++p; - if (yych == 'R') goto yy432; - if (yych == 'r') goto yy432; + if (yych == 'N') goto yy483; + if (yych == 'n') goto yy483; goto yy358; yy502: yych = *++p; - if (yych == 'A') goto yy510; - if (yych == 'a') goto yy510; + if (yych == 'U') goto yy508; + if (yych == 'u') goto yy508; goto yy358; yy503: yych = *++p; - if (yych == 'S') goto yy392; - if (yych == 's') goto yy392; + if (yych == 'U') goto yy509; + if (yych == 'u') goto yy509; goto yy358; yy504: yych = *++p; - if (yych == 'N') goto yy486; - if (yych == 'n') goto yy486; + if (yych == 'E') goto yy483; + if (yych == 'e') goto yy483; goto yy358; yy505: yych = *++p; - if (yych == 'U') goto yy511; - if (yych == 'u') goto yy511; + if (yych == 'E') goto yy439; + if (yych == 'e') goto yy439; goto yy358; yy506: yych = *++p; - if (yych == 'U') goto yy512; - if (yych == 'u') goto yy512; + if (yych == 'E') goto yy500; + if (yych == 'e') goto yy500; goto yy358; yy507: yych = *++p; - if (yych == 'E') goto yy486; - if (yych == 'e') goto yy486; + if (yych == '[') goto yy510; goto yy358; yy508: yych = *++p; - if (yych == 'E') goto yy440; - if (yych == 'e') goto yy440; + if (yych == 'O') goto yy512; + if (yych == 'o') goto yy512; goto yy358; yy509: - yych = *++p; - if (yych == 'E') goto yy503; - if (yych == 'e') goto yy503; - goto yy358; -yy510: - yych = *++p; - if (yych == '[') goto yy513; - goto yy358; -yy511: - yych = *++p; - if (yych == 'O') goto yy515; - if (yych == 'o') goto yy515; - goto yy358; -yy512: yych = *++p; if (yych == 'P') goto yy392; if (yych == 'p') goto yy392; goto yy358; -yy513: +yy510: ++p; { return 5; } -yy515: +yy512: yych = *++p; - if (yych == 'T') goto yy463; - if (yych == 't') goto yy463; + if (yych == 'T') goto yy461; + if (yych == 't') goto yy461; goto yy358; } @@ -6073,421 +6061,421 @@ bufsize_t _scan_html_block_start_7(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '<') goto yy520; + if (yych == '<') goto yy517; ++p; -yy519: +yy516: { return 0; } -yy520: +yy517: yyaccept = 0; yych = *(marker = ++p); if (yych <= '@') { - if (yych != '/') goto yy519; + if (yych != '/') goto yy516; } else { - if (yych <= 'Z') goto yy523; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy523; - goto yy519; + if (yych <= 'Z') goto yy520; + if (yych <= '`') goto yy516; + if (yych <= 'z') goto yy520; + goto yy516; } yych = *++p; - if (yych <= '@') goto yy522; - if (yych <= 'Z') goto yy525; - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy525; -yy522: + if (yych <= '@') goto yy519; + if (yych <= 'Z') goto yy522; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy522; +yy519: p = marker; if (yyaccept == 0) { - goto yy519; + goto yy516; } else { - goto yy538; + goto yy535; } -yy523: +yy520: yych = *++p; if (yybm[0+yych] & 2) { - goto yy527; + goto yy524; } if (yych <= '=') { if (yych <= '.') { - if (yych == '-') goto yy523; - goto yy522; + if (yych == '-') goto yy520; + goto yy519; } else { - if (yych <= '/') goto yy529; - if (yych <= '9') goto yy523; - goto yy522; + if (yych <= '/') goto yy526; + if (yych <= '9') goto yy520; + goto yy519; } } else { if (yych <= 'Z') { - if (yych <= '>') goto yy530; - if (yych <= '@') goto yy522; - goto yy523; + if (yych <= '>') goto yy527; + if (yych <= '@') goto yy519; + goto yy520; } else { - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy523; - goto yy522; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy520; + goto yy519; } } -yy525: +yy522: yych = *++p; if (yych <= '/') { if (yych <= 0x1F) { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy532; - goto yy522; + if (yych <= 0x08) goto yy519; + if (yych <= '\r') goto yy529; + goto yy519; } else { - if (yych <= ' ') goto yy532; - if (yych == '-') goto yy525; - goto yy522; + if (yych <= ' ') goto yy529; + if (yych == '-') goto yy522; + goto yy519; } } else { if (yych <= '@') { - if (yych <= '9') goto yy525; - if (yych == '>') goto yy530; - goto yy522; + if (yych <= '9') goto yy522; + if (yych == '>') goto yy527; + goto yy519; } else { - if (yych <= 'Z') goto yy525; - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy525; - goto yy522; + if (yych <= 'Z') goto yy522; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy522; + goto yy519; } } -yy527: +yy524: yych = *++p; if (yybm[0+yych] & 2) { - goto yy527; + goto yy524; } if (yych <= '>') { if (yych <= '9') { - if (yych != '/') goto yy522; + if (yych != '/') goto yy519; } else { - if (yych <= ':') goto yy534; - if (yych <= '=') goto yy522; - goto yy530; + if (yych <= ':') goto yy531; + if (yych <= '=') goto yy519; + goto yy527; } } else { if (yych <= '^') { - if (yych <= '@') goto yy522; - if (yych <= 'Z') goto yy534; - goto yy522; + if (yych <= '@') goto yy519; + if (yych <= 'Z') goto yy531; + goto yy519; } else { - if (yych == '`') goto yy522; - if (yych <= 'z') goto yy534; - goto yy522; + if (yych == '`') goto yy519; + if (yych <= 'z') goto yy531; + goto yy519; } } -yy529: +yy526: yych = *++p; - if (yych != '>') goto yy522; -yy530: + if (yych != '>') goto yy519; +yy527: yych = *++p; if (yybm[0+yych] & 4) { - goto yy530; + goto yy527; } - if (yych <= 0x08) goto yy522; - if (yych <= '\n') goto yy536; - if (yych <= '\v') goto yy522; - if (yych <= '\r') goto yy539; - goto yy522; -yy532: + if (yych <= 0x08) goto yy519; + if (yych <= '\n') goto yy533; + if (yych <= '\v') goto yy519; + if (yych <= '\r') goto yy536; + goto yy519; +yy529: yych = *++p; if (yych <= 0x1F) { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy532; - goto yy522; + if (yych <= 0x08) goto yy519; + if (yych <= '\r') goto yy529; + goto yy519; } else { - if (yych <= ' ') goto yy532; - if (yych == '>') goto yy530; - goto yy522; + if (yych <= ' ') goto yy529; + if (yych == '>') goto yy527; + goto yy519; } -yy534: +yy531: yych = *++p; if (yybm[0+yych] & 8) { - goto yy534; + goto yy531; } if (yych <= ',') { if (yych <= '\r') { - if (yych <= 0x08) goto yy522; - goto yy540; + if (yych <= 0x08) goto yy519; + goto yy537; } else { - if (yych == ' ') goto yy540; - goto yy522; + if (yych == ' ') goto yy537; + goto yy519; } } else { if (yych <= '<') { - if (yych <= '/') goto yy529; - goto yy522; + if (yych <= '/') goto yy526; + goto yy519; } else { - if (yych <= '=') goto yy542; - if (yych <= '>') goto yy530; - goto yy522; + if (yych <= '=') goto yy539; + if (yych <= '>') goto yy527; + goto yy519; } } -yy536: +yy533: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 4) { - goto yy530; + goto yy527; } - if (yych <= 0x08) goto yy538; - if (yych <= '\n') goto yy536; - if (yych <= '\v') goto yy538; - if (yych <= '\r') goto yy539; -yy538: + if (yych <= 0x08) goto yy535; + if (yych <= '\n') goto yy533; + if (yych <= '\v') goto yy535; + if (yych <= '\r') goto yy536; +yy535: { return 7; } -yy539: +yy536: ++p; - goto yy538; -yy540: + goto yy535; +yy537: yych = *++p; if (yych <= '<') { if (yych <= ' ') { - if (yych <= 0x08) goto yy522; - if (yych <= '\r') goto yy540; - if (yych <= 0x1F) goto yy522; - goto yy540; + if (yych <= 0x08) goto yy519; + if (yych <= '\r') goto yy537; + if (yych <= 0x1F) goto yy519; + goto yy537; } else { if (yych <= '/') { - if (yych <= '.') goto yy522; - goto yy529; + if (yych <= '.') goto yy519; + goto yy526; } else { - if (yych == ':') goto yy534; - goto yy522; + if (yych == ':') goto yy531; + goto yy519; } } } else { if (yych <= 'Z') { - if (yych <= '=') goto yy542; - if (yych <= '>') goto yy530; - if (yych <= '@') goto yy522; - goto yy534; + if (yych <= '=') goto yy539; + if (yych <= '>') goto yy527; + if (yych <= '@') goto yy519; + goto yy531; } else { if (yych <= '_') { - if (yych <= '^') goto yy522; - goto yy534; + if (yych <= '^') goto yy519; + goto yy531; } else { - if (yych <= '`') goto yy522; - if (yych <= 'z') goto yy534; - goto yy522; + if (yych <= '`') goto yy519; + if (yych <= 'z') goto yy531; + goto yy519; } } } -yy542: +yy539: yych = *++p; if (yybm[0+yych] & 32) { - goto yy544; + goto yy541; } if (yych <= 0xE0) { if (yych <= '"') { - if (yych <= 0x00) goto yy522; - if (yych <= ' ') goto yy542; - goto yy546; + if (yych <= 0x00) goto yy519; + if (yych <= ' ') goto yy539; + goto yy543; } else { - if (yych <= '\'') goto yy548; - if (yych <= 0xC1) goto yy522; - if (yych <= 0xDF) goto yy550; - goto yy551; + if (yych <= '\'') goto yy545; + if (yych <= 0xC1) goto yy519; + if (yych <= 0xDF) goto yy547; + goto yy548; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy553; - goto yy552; + if (yych == 0xED) goto yy550; + goto yy549; } else { - if (yych <= 0xF0) goto yy554; - if (yych <= 0xF3) goto yy555; - if (yych <= 0xF4) goto yy556; - goto yy522; + if (yych <= 0xF0) goto yy551; + if (yych <= 0xF3) goto yy552; + if (yych <= 0xF4) goto yy553; + goto yy519; } } -yy544: +yy541: yych = *++p; if (yybm[0+yych] & 32) { - goto yy544; + goto yy541; } if (yych <= 0xE0) { if (yych <= '=') { - if (yych <= 0x00) goto yy522; - if (yych <= ' ') goto yy527; - goto yy522; + if (yych <= 0x00) goto yy519; + if (yych <= ' ') goto yy524; + goto yy519; } else { - if (yych <= '>') goto yy530; - if (yych <= 0xC1) goto yy522; - if (yych <= 0xDF) goto yy550; - goto yy551; + if (yych <= '>') goto yy527; + if (yych <= 0xC1) goto yy519; + if (yych <= 0xDF) goto yy547; + goto yy548; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy553; - goto yy552; + if (yych == 0xED) goto yy550; + goto yy549; } else { - if (yych <= 0xF0) goto yy554; - if (yych <= 0xF3) goto yy555; - if (yych <= 0xF4) goto yy556; - goto yy522; + if (yych <= 0xF0) goto yy551; + if (yych <= 0xF3) goto yy552; + if (yych <= 0xF4) goto yy553; + goto yy519; } } -yy546: +yy543: yych = *++p; if (yybm[0+yych] & 64) { - goto yy546; + goto yy543; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy522; - if (yych <= '"') goto yy557; - goto yy522; + if (yych <= 0x00) goto yy519; + if (yych <= '"') goto yy554; + goto yy519; } else { - if (yych <= 0xDF) goto yy558; - if (yych <= 0xE0) goto yy559; - goto yy560; + if (yych <= 0xDF) goto yy555; + if (yych <= 0xE0) goto yy556; + goto yy557; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy561; - if (yych <= 0xEF) goto yy560; - goto yy562; + if (yych <= 0xED) goto yy558; + if (yych <= 0xEF) goto yy557; + goto yy559; } else { - if (yych <= 0xF3) goto yy563; - if (yych <= 0xF4) goto yy564; - goto yy522; + if (yych <= 0xF3) goto yy560; + if (yych <= 0xF4) goto yy561; + goto yy519; } } -yy548: +yy545: yych = *++p; if (yybm[0+yych] & 128) { - goto yy548; + goto yy545; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy522; - if (yych <= '\'') goto yy557; - goto yy522; + if (yych <= 0x00) goto yy519; + if (yych <= '\'') goto yy554; + goto yy519; } else { - if (yych <= 0xDF) goto yy565; - if (yych <= 0xE0) goto yy566; - goto yy567; + if (yych <= 0xDF) goto yy562; + if (yych <= 0xE0) goto yy563; + goto yy564; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy568; - if (yych <= 0xEF) goto yy567; - goto yy569; + if (yych <= 0xED) goto yy565; + if (yych <= 0xEF) goto yy564; + goto yy566; } else { - if (yych <= 0xF3) goto yy570; - if (yych <= 0xF4) goto yy571; - goto yy522; + if (yych <= 0xF3) goto yy567; + if (yych <= 0xF4) goto yy568; + goto yy519; } } +yy547: + yych = *++p; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy541; + goto yy519; +yy548: + yych = *++p; + if (yych <= 0x9F) goto yy519; + if (yych <= 0xBF) goto yy547; + goto yy519; +yy549: + yych = *++p; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy547; + goto yy519; yy550: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy544; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x9F) goto yy547; + goto yy519; yy551: yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy550; - goto yy522; + if (yych <= 0x8F) goto yy519; + if (yych <= 0xBF) goto yy549; + goto yy519; yy552: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy550; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy549; + goto yy519; yy553: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy550; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x8F) goto yy549; + goto yy519; yy554: yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy552; - goto yy522; + if (yybm[0+yych] & 2) { + goto yy524; + } + if (yych == '/') goto yy526; + if (yych == '>') goto yy527; + goto yy519; yy555: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy552; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy543; + goto yy519; yy556: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy552; - goto yy522; + if (yych <= 0x9F) goto yy519; + if (yych <= 0xBF) goto yy555; + goto yy519; yy557: yych = *++p; - if (yybm[0+yych] & 2) { - goto yy527; - } - if (yych == '/') goto yy529; - if (yych == '>') goto yy530; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy555; + goto yy519; yy558: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy546; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x9F) goto yy555; + goto yy519; yy559: yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy558; - goto yy522; + if (yych <= 0x8F) goto yy519; + if (yych <= 0xBF) goto yy557; + goto yy519; yy560: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy558; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy557; + goto yy519; yy561: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy558; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x8F) goto yy557; + goto yy519; yy562: yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy560; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy545; + goto yy519; yy563: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy560; - goto yy522; + if (yych <= 0x9F) goto yy519; + if (yych <= 0xBF) goto yy562; + goto yy519; yy564: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy560; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy562; + goto yy519; yy565: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy548; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x9F) goto yy562; + goto yy519; yy566: yych = *++p; - if (yych <= 0x9F) goto yy522; - if (yych <= 0xBF) goto yy565; - goto yy522; + if (yych <= 0x8F) goto yy519; + if (yych <= 0xBF) goto yy564; + goto yy519; yy567: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy565; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0xBF) goto yy564; + goto yy519; yy568: yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x9F) goto yy565; - goto yy522; -yy569: - yych = *++p; - if (yych <= 0x8F) goto yy522; - if (yych <= 0xBF) goto yy567; - goto yy522; -yy570: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0xBF) goto yy567; - goto yy522; -yy571: - yych = *++p; - if (yych <= 0x7F) goto yy522; - if (yych <= 0x8F) goto yy567; - goto yy522; + if (yych <= 0x7F) goto yy519; + if (yych <= 0x8F) goto yy564; + goto yy519; } } @@ -6538,634 +6526,634 @@ bufsize_t _scan_html_block_end_1(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= ';') { - if (yych <= 0x00) goto yy574; - if (yych != '\n') goto yy576; + if (yych <= 0x00) goto yy571; + if (yych != '\n') goto yy573; } else { - if (yych <= '<') goto yy577; - if (yych <= 0x7F) goto yy576; - if (yych >= 0xC2) goto yy578; + if (yych <= '<') goto yy574; + if (yych <= 0x7F) goto yy573; + if (yych >= 0xC2) goto yy575; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy579; - if (yych == 0xED) goto yy581; - goto yy580; + if (yych <= 0xE0) goto yy576; + if (yych == 0xED) goto yy578; + goto yy577; } else { - if (yych <= 0xF0) goto yy582; - if (yych <= 0xF3) goto yy583; - if (yych <= 0xF4) goto yy584; + if (yych <= 0xF0) goto yy579; + if (yych <= 0xF3) goto yy580; + if (yych <= 0xF4) goto yy581; } } -yy574: +yy571: ++p; -yy575: +yy572: { return 0; } -yy576: +yy573: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy575; - if (yych <= '\t') goto yy586; - goto yy575; + if (yych <= 0x00) goto yy572; + if (yych <= '\t') goto yy583; + goto yy572; } else { - if (yych <= 0x7F) goto yy586; - if (yych <= 0xC1) goto yy575; - if (yych <= 0xF4) goto yy586; - goto yy575; + if (yych <= 0x7F) goto yy583; + if (yych <= 0xC1) goto yy572; + if (yych <= 0xF4) goto yy583; + goto yy572; } -yy577: +yy574: yyaccept = 0; yych = *(marker = ++p); if (yych <= '.') { - if (yych <= 0x00) goto yy575; - if (yych == '\n') goto yy575; - goto yy586; + if (yych <= 0x00) goto yy572; + if (yych == '\n') goto yy572; + goto yy583; } else { if (yych <= 0x7F) { - if (yych <= '/') goto yy597; - goto yy586; + if (yych <= '/') goto yy594; + goto yy583; } else { - if (yych <= 0xC1) goto yy575; - if (yych <= 0xF4) goto yy586; - goto yy575; + if (yych <= 0xC1) goto yy572; + if (yych <= 0xF4) goto yy583; + goto yy572; } } -yy578: +yy575: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy585; - goto yy575; -yy579: + if (yych <= 0x7F) goto yy572; + if (yych <= 0xBF) goto yy582; + goto yy572; +yy576: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy575; - if (yych <= 0xBF) goto yy590; - goto yy575; -yy580: + if (yych <= 0x9F) goto yy572; + if (yych <= 0xBF) goto yy587; + goto yy572; +yy577: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy590; - goto yy575; -yy581: + if (yych <= 0x7F) goto yy572; + if (yych <= 0xBF) goto yy587; + goto yy572; +yy578: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0x9F) goto yy590; - goto yy575; -yy582: + if (yych <= 0x7F) goto yy572; + if (yych <= 0x9F) goto yy587; + goto yy572; +yy579: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy575; - if (yych <= 0xBF) goto yy592; - goto yy575; -yy583: + if (yych <= 0x8F) goto yy572; + if (yych <= 0xBF) goto yy589; + goto yy572; +yy580: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0xBF) goto yy592; - goto yy575; -yy584: + if (yych <= 0x7F) goto yy572; + if (yych <= 0xBF) goto yy589; + goto yy572; +yy581: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy575; - if (yych <= 0x8F) goto yy592; - goto yy575; -yy585: + if (yych <= 0x7F) goto yy572; + if (yych <= 0x8F) goto yy589; + goto yy572; +yy582: yych = *++p; -yy586: +yy583: if (yybm[0+yych] & 64) { - goto yy585; + goto yy582; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy587; - if (yych <= '<') goto yy588; + if (yych <= '\n') goto yy584; + if (yych <= '<') goto yy585; } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + goto yy589; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xED) goto yy590; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; } } -yy587: +yy584: p = marker; if (yyaccept == 0) { - goto yy575; + goto yy572; } else { - goto yy607; + goto yy604; } -yy588: +yy585: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xDF) { if (yych <= '.') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { - if (yych <= '/') goto yy597; - if (yych <= 0x7F) goto yy585; - if (yych <= 0xC1) goto yy587; + if (yych <= '/') goto yy594; + if (yych <= 0x7F) goto yy582; + if (yych <= 0xC1) goto yy584; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy591; - if (yych == 0xED) goto yy593; - goto yy592; + if (yych <= 0xE0) goto yy588; + if (yych == 0xED) goto yy590; + goto yy589; } else { - if (yych <= 0xF0) goto yy594; - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF0) goto yy591; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } +yy587: + yych = *++p; + if (yych <= 0x7F) goto yy584; + if (yych <= 0xBF) goto yy582; + goto yy584; +yy588: + yych = *++p; + if (yych <= 0x9F) goto yy584; + if (yych <= 0xBF) goto yy587; + goto yy584; +yy589: + yych = *++p; + if (yych <= 0x7F) goto yy584; + if (yych <= 0xBF) goto yy587; + goto yy584; yy590: yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy585; - goto yy587; + if (yych <= 0x7F) goto yy584; + if (yych <= 0x9F) goto yy587; + goto yy584; yy591: yych = *++p; - if (yych <= 0x9F) goto yy587; - if (yych <= 0xBF) goto yy590; - goto yy587; + if (yych <= 0x8F) goto yy584; + if (yych <= 0xBF) goto yy589; + goto yy584; yy592: yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy590; - goto yy587; + if (yych <= 0x7F) goto yy584; + if (yych <= 0xBF) goto yy589; + goto yy584; yy593: yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0x9F) goto yy590; - goto yy587; + if (yych <= 0x7F) goto yy584; + if (yych <= 0x8F) goto yy589; + goto yy584; yy594: - yych = *++p; - if (yych <= 0x8F) goto yy587; - if (yych <= 0xBF) goto yy592; - goto yy587; -yy595: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0xBF) goto yy592; - goto yy587; -yy596: - yych = *++p; - if (yych <= 0x7F) goto yy587; - if (yych <= 0x8F) goto yy592; - goto yy587; -yy597: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 's') { if (yych <= 'P') { if (yych <= '\t') { - if (yych <= 0x00) goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + goto yy582; } else { - if (yych <= '\n') goto yy587; - if (yych <= 'O') goto yy585; + if (yych <= '\n') goto yy584; + if (yych <= 'O') goto yy582; } } else { if (yych <= 'o') { - if (yych == 'S') goto yy599; - goto yy585; + if (yych == 'S') goto yy596; + goto yy582; } else { - if (yych <= 'p') goto yy598; - if (yych <= 'r') goto yy585; - goto yy599; + if (yych <= 'p') goto yy595; + if (yych <= 'r') goto yy582; + goto yy596; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 0x7F) goto yy582; + goto yy584; } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + goto yy589; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xED) goto yy590; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy598: +yy595: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'Q') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'q') { - if (yych <= 'R') goto yy600; - goto yy585; + if (yych <= 'R') goto yy597; + goto yy582; } else { - if (yych <= 'r') goto yy600; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'r') goto yy597; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy599: +yy596: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 't') { if (yych <= 'C') { if (yych <= '\t') { - if (yych <= 0x00) goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + goto yy582; } else { - if (yych <= '\n') goto yy587; - if (yych <= 'B') goto yy585; - goto yy601; + if (yych <= '\n') goto yy584; + if (yych <= 'B') goto yy582; + goto yy598; } } else { if (yych <= 'b') { - if (yych == 'T') goto yy602; - goto yy585; + if (yych == 'T') goto yy599; + goto yy582; } else { - if (yych <= 'c') goto yy601; - if (yych <= 's') goto yy585; - goto yy602; + if (yych <= 'c') goto yy598; + if (yych <= 's') goto yy582; + goto yy599; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 0x7F) goto yy582; + goto yy584; } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + goto yy589; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xED) goto yy590; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy600: +yy597: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'D') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'd') { - if (yych <= 'E') goto yy603; - goto yy585; + if (yych <= 'E') goto yy600; + goto yy582; } else { - if (yych <= 'e') goto yy603; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'e') goto yy600; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy601: +yy598: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'Q') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'q') { - if (yych <= 'R') goto yy604; - goto yy585; + if (yych <= 'R') goto yy601; + goto yy582; } else { - if (yych <= 'r') goto yy604; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'r') goto yy601; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy602: +yy599: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'X') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'x') { - if (yych <= 'Y') goto yy605; - goto yy585; + if (yych <= 'Y') goto yy602; + goto yy582; } else { - if (yych <= 'y') goto yy605; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'y') goto yy602; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy603: +yy600: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { - if (yych <= '>') goto yy606; - if (yych <= 0x7F) goto yy585; - if (yych <= 0xC1) goto yy587; - goto yy590; + if (yych <= '>') goto yy603; + if (yych <= 0x7F) goto yy582; + if (yych <= 0xC1) goto yy584; + goto yy587; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy591; - if (yych == 0xED) goto yy593; - goto yy592; + if (yych <= 0xE0) goto yy588; + if (yych == 0xED) goto yy590; + goto yy589; } else { - if (yych <= 0xF0) goto yy594; - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF0) goto yy591; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } -yy604: +yy601: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'H') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'h') { - if (yych <= 'I') goto yy608; - goto yy585; + if (yych <= 'I') goto yy605; + goto yy582; } else { - if (yych <= 'i') goto yy608; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'i') goto yy605; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy605: +yy602: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'K') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'k') { - if (yych <= 'L') goto yy600; - goto yy585; + if (yych <= 'L') goto yy597; + goto yy582; } else { - if (yych <= 'l') goto yy600; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'l') goto yy597; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy606: +yy603: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy585; + goto yy582; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy607; - if (yych <= '<') goto yy588; + if (yych <= '\n') goto yy604; + if (yych <= '<') goto yy585; } else { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - goto yy592; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + goto yy589; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy593; - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xED) goto yy590; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; } } -yy607: +yy604: { return (bufsize_t)(p - start); } -yy608: +yy605: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'O') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 'o') { - if (yych >= 'Q') goto yy585; + if (yych >= 'Q') goto yy582; } else { - if (yych <= 'p') goto yy609; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 'p') goto yy606; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } -yy609: +yy606: yych = *++p; if (yybm[0+yych] & 128) { - goto yy588; + goto yy585; } if (yych <= 0xC1) { if (yych <= 'S') { - if (yych <= 0x00) goto yy587; - if (yych == '\n') goto yy587; - goto yy585; + if (yych <= 0x00) goto yy584; + if (yych == '\n') goto yy584; + goto yy582; } else { if (yych <= 's') { - if (yych <= 'T') goto yy603; - goto yy585; + if (yych <= 'T') goto yy600; + goto yy582; } else { - if (yych <= 't') goto yy603; - if (yych <= 0x7F) goto yy585; - goto yy587; + if (yych <= 't') goto yy600; + if (yych <= 0x7F) goto yy582; + goto yy584; } } } else { if (yych <= 0xED) { - if (yych <= 0xDF) goto yy590; - if (yych <= 0xE0) goto yy591; - if (yych <= 0xEC) goto yy592; - goto yy593; + if (yych <= 0xDF) goto yy587; + if (yych <= 0xE0) goto yy588; + if (yych <= 0xEC) goto yy589; + goto yy590; } else { if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy592; - goto yy594; + if (yych <= 0xEF) goto yy589; + goto yy591; } else { - if (yych <= 0xF3) goto yy595; - if (yych <= 0xF4) goto yy596; - goto yy587; + if (yych <= 0xF3) goto yy592; + if (yych <= 0xF4) goto yy593; + goto yy584; } } } @@ -7219,246 +7207,246 @@ bufsize_t _scan_html_block_end_2(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= ',') { - if (yych <= 0x00) goto yy612; - if (yych != '\n') goto yy614; + if (yych <= 0x00) goto yy609; + if (yych != '\n') goto yy611; } else { - if (yych <= '-') goto yy615; - if (yych <= 0x7F) goto yy614; - if (yych >= 0xC2) goto yy616; + if (yych <= '-') goto yy612; + if (yych <= 0x7F) goto yy611; + if (yych >= 0xC2) goto yy613; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy617; - if (yych == 0xED) goto yy619; - goto yy618; + if (yych <= 0xE0) goto yy614; + if (yych == 0xED) goto yy616; + goto yy615; } else { - if (yych <= 0xF0) goto yy620; - if (yych <= 0xF3) goto yy621; - if (yych <= 0xF4) goto yy622; + if (yych <= 0xF0) goto yy617; + if (yych <= 0xF3) goto yy618; + if (yych <= 0xF4) goto yy619; } } -yy612: +yy609: ++p; -yy613: +yy610: { return 0; } -yy614: +yy611: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy613; - if (yych <= '\t') goto yy624; - goto yy613; + if (yych <= 0x00) goto yy610; + if (yych <= '\t') goto yy621; + goto yy610; } else { - if (yych <= 0x7F) goto yy624; - if (yych <= 0xC1) goto yy613; - if (yych <= 0xF4) goto yy624; - goto yy613; + if (yych <= 0x7F) goto yy621; + if (yych <= 0xC1) goto yy610; + if (yych <= 0xF4) goto yy621; + goto yy610; } -yy615: +yy612: yyaccept = 0; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy634; + goto yy631; } if (yych <= '\n') { - if (yych <= 0x00) goto yy613; - if (yych <= '\t') goto yy624; - goto yy613; + if (yych <= 0x00) goto yy610; + if (yych <= '\t') goto yy621; + goto yy610; } else { - if (yych <= 0x7F) goto yy624; - if (yych <= 0xC1) goto yy613; - if (yych <= 0xF4) goto yy624; - goto yy613; + if (yych <= 0x7F) goto yy621; + if (yych <= 0xC1) goto yy610; + if (yych <= 0xF4) goto yy621; + goto yy610; } -yy616: +yy613: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy623; - goto yy613; -yy617: + if (yych <= 0x7F) goto yy610; + if (yych <= 0xBF) goto yy620; + goto yy610; +yy614: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy613; - if (yych <= 0xBF) goto yy627; - goto yy613; -yy618: + if (yych <= 0x9F) goto yy610; + if (yych <= 0xBF) goto yy624; + goto yy610; +yy615: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy627; - goto yy613; -yy619: + if (yych <= 0x7F) goto yy610; + if (yych <= 0xBF) goto yy624; + goto yy610; +yy616: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0x9F) goto yy627; - goto yy613; -yy620: + if (yych <= 0x7F) goto yy610; + if (yych <= 0x9F) goto yy624; + goto yy610; +yy617: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy613; - if (yych <= 0xBF) goto yy629; - goto yy613; -yy621: + if (yych <= 0x8F) goto yy610; + if (yych <= 0xBF) goto yy626; + goto yy610; +yy618: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0xBF) goto yy629; - goto yy613; -yy622: + if (yych <= 0x7F) goto yy610; + if (yych <= 0xBF) goto yy626; + goto yy610; +yy619: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy613; - if (yych <= 0x8F) goto yy629; - goto yy613; -yy623: + if (yych <= 0x7F) goto yy610; + if (yych <= 0x8F) goto yy626; + goto yy610; +yy620: yych = *++p; -yy624: +yy621: if (yybm[0+yych] & 64) { - goto yy623; + goto yy620; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy625; - if (yych <= '-') goto yy626; + if (yych <= '\n') goto yy622; + if (yych <= '-') goto yy623; } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; + if (yych <= 0xDF) goto yy624; + if (yych <= 0xE0) goto yy625; + goto yy626; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; + if (yych <= 0xED) goto yy627; + if (yych <= 0xEF) goto yy626; + goto yy628; } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; + if (yych <= 0xF3) goto yy629; + if (yych <= 0xF4) goto yy630; } } -yy625: +yy622: p = marker; if (yyaccept == 0) { - goto yy613; + goto yy610; } else { - goto yy637; + goto yy634; } -yy626: +yy623: yych = *++p; if (yybm[0+yych] & 64) { - goto yy623; + goto yy620; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy625; - if (yych <= '-') goto yy634; - goto yy625; + if (yych <= '\n') goto yy622; + if (yych <= '-') goto yy631; + goto yy622; } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; + if (yych <= 0xDF) goto yy624; + if (yych <= 0xE0) goto yy625; + goto yy626; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; + if (yych <= 0xED) goto yy627; + if (yych <= 0xEF) goto yy626; + goto yy628; } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; - goto yy625; + if (yych <= 0xF3) goto yy629; + if (yych <= 0xF4) goto yy630; + goto yy622; } } +yy624: + yych = *++p; + if (yych <= 0x7F) goto yy622; + if (yych <= 0xBF) goto yy620; + goto yy622; +yy625: + yych = *++p; + if (yych <= 0x9F) goto yy622; + if (yych <= 0xBF) goto yy624; + goto yy622; +yy626: + yych = *++p; + if (yych <= 0x7F) goto yy622; + if (yych <= 0xBF) goto yy624; + goto yy622; yy627: yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy623; - goto yy625; + if (yych <= 0x7F) goto yy622; + if (yych <= 0x9F) goto yy624; + goto yy622; yy628: yych = *++p; - if (yych <= 0x9F) goto yy625; - if (yych <= 0xBF) goto yy627; - goto yy625; + if (yych <= 0x8F) goto yy622; + if (yych <= 0xBF) goto yy626; + goto yy622; yy629: yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy627; - goto yy625; + if (yych <= 0x7F) goto yy622; + if (yych <= 0xBF) goto yy626; + goto yy622; yy630: yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0x9F) goto yy627; - goto yy625; + if (yych <= 0x7F) goto yy622; + if (yych <= 0x8F) goto yy626; + goto yy622; yy631: - yych = *++p; - if (yych <= 0x8F) goto yy625; - if (yych <= 0xBF) goto yy629; - goto yy625; -yy632: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0xBF) goto yy629; - goto yy625; -yy633: - yych = *++p; - if (yych <= 0x7F) goto yy625; - if (yych <= 0x8F) goto yy629; - goto yy625; -yy634: yych = *++p; if (yybm[0+yych] & 128) { - goto yy634; + goto yy631; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy625; - if (yych == '\n') goto yy625; - goto yy623; + if (yych <= 0x00) goto yy622; + if (yych == '\n') goto yy622; + goto yy620; } else { - if (yych <= '>') goto yy636; - if (yych <= 0x7F) goto yy623; - if (yych <= 0xC1) goto yy625; - goto yy627; + if (yych <= '>') goto yy633; + if (yych <= 0x7F) goto yy620; + if (yych <= 0xC1) goto yy622; + goto yy624; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy628; - if (yych == 0xED) goto yy630; - goto yy629; + if (yych <= 0xE0) goto yy625; + if (yych == 0xED) goto yy627; + goto yy626; } else { - if (yych <= 0xF0) goto yy631; - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; - goto yy625; + if (yych <= 0xF0) goto yy628; + if (yych <= 0xF3) goto yy629; + if (yych <= 0xF4) goto yy630; + goto yy622; } } -yy636: +yy633: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy623; + goto yy620; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy637; - if (yych <= '-') goto yy626; + if (yych <= '\n') goto yy634; + if (yych <= '-') goto yy623; } else { - if (yych <= 0xDF) goto yy627; - if (yych <= 0xE0) goto yy628; - goto yy629; + if (yych <= 0xDF) goto yy624; + if (yych <= 0xE0) goto yy625; + goto yy626; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy630; - if (yych <= 0xEF) goto yy629; - goto yy631; + if (yych <= 0xED) goto yy627; + if (yych <= 0xEF) goto yy626; + goto yy628; } else { - if (yych <= 0xF3) goto yy632; - if (yych <= 0xF4) goto yy633; + if (yych <= 0xF3) goto yy629; + if (yych <= 0xF4) goto yy630; } } -yy637: +yy634: { return (bufsize_t)(p - start); } } @@ -7510,220 +7498,220 @@ bufsize_t _scan_html_block_end_3(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= '>') { - if (yych <= 0x00) goto yy640; - if (yych != '\n') goto yy642; + if (yych <= 0x00) goto yy637; + if (yych != '\n') goto yy639; } else { - if (yych <= '?') goto yy643; - if (yych <= 0x7F) goto yy642; - if (yych >= 0xC2) goto yy644; + if (yych <= '?') goto yy640; + if (yych <= 0x7F) goto yy639; + if (yych >= 0xC2) goto yy641; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy645; - if (yych == 0xED) goto yy647; - goto yy646; + if (yych <= 0xE0) goto yy642; + if (yych == 0xED) goto yy644; + goto yy643; } else { - if (yych <= 0xF0) goto yy648; - if (yych <= 0xF3) goto yy649; - if (yych <= 0xF4) goto yy650; + if (yych <= 0xF0) goto yy645; + if (yych <= 0xF3) goto yy646; + if (yych <= 0xF4) goto yy647; } } -yy640: +yy637: ++p; -yy641: +yy638: { return 0; } -yy642: +yy639: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy641; - if (yych <= '\t') goto yy652; - goto yy641; + if (yych <= 0x00) goto yy638; + if (yych <= '\t') goto yy649; + goto yy638; } else { - if (yych <= 0x7F) goto yy652; - if (yych <= 0xC1) goto yy641; - if (yych <= 0xF4) goto yy652; - goto yy641; + if (yych <= 0x7F) goto yy649; + if (yych <= 0xC1) goto yy638; + if (yych <= 0xF4) goto yy649; + goto yy638; } -yy643: +yy640: yyaccept = 0; yych = *(marker = ++p); if (yych <= '=') { - if (yych <= 0x00) goto yy641; - if (yych == '\n') goto yy641; - goto yy652; + if (yych <= 0x00) goto yy638; + if (yych == '\n') goto yy638; + goto yy649; } else { if (yych <= 0x7F) { - if (yych <= '>') goto yy663; - goto yy652; + if (yych <= '>') goto yy660; + goto yy649; } else { - if (yych <= 0xC1) goto yy641; - if (yych <= 0xF4) goto yy652; - goto yy641; + if (yych <= 0xC1) goto yy638; + if (yych <= 0xF4) goto yy649; + goto yy638; } } -yy644: +yy641: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy651; - goto yy641; -yy645: + if (yych <= 0x7F) goto yy638; + if (yych <= 0xBF) goto yy648; + goto yy638; +yy642: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy641; - if (yych <= 0xBF) goto yy656; - goto yy641; -yy646: + if (yych <= 0x9F) goto yy638; + if (yych <= 0xBF) goto yy653; + goto yy638; +yy643: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy656; - goto yy641; -yy647: + if (yych <= 0x7F) goto yy638; + if (yych <= 0xBF) goto yy653; + goto yy638; +yy644: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0x9F) goto yy656; - goto yy641; -yy648: + if (yych <= 0x7F) goto yy638; + if (yych <= 0x9F) goto yy653; + goto yy638; +yy645: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy641; - if (yych <= 0xBF) goto yy658; - goto yy641; -yy649: + if (yych <= 0x8F) goto yy638; + if (yych <= 0xBF) goto yy655; + goto yy638; +yy646: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0xBF) goto yy658; - goto yy641; -yy650: + if (yych <= 0x7F) goto yy638; + if (yych <= 0xBF) goto yy655; + goto yy638; +yy647: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy641; - if (yych <= 0x8F) goto yy658; - goto yy641; -yy651: + if (yych <= 0x7F) goto yy638; + if (yych <= 0x8F) goto yy655; + goto yy638; +yy648: yych = *++p; -yy652: +yy649: if (yybm[0+yych] & 64) { - goto yy651; + goto yy648; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy653; - if (yych <= '?') goto yy654; + if (yych <= '\n') goto yy650; + if (yych <= '?') goto yy651; } else { - if (yych <= 0xDF) goto yy656; - if (yych <= 0xE0) goto yy657; - goto yy658; + if (yych <= 0xDF) goto yy653; + if (yych <= 0xE0) goto yy654; + goto yy655; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy659; - if (yych <= 0xEF) goto yy658; - goto yy660; + if (yych <= 0xED) goto yy656; + if (yych <= 0xEF) goto yy655; + goto yy657; } else { - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; + if (yych <= 0xF3) goto yy658; + if (yych <= 0xF4) goto yy659; } } -yy653: +yy650: p = marker; if (yyaccept == 0) { - goto yy641; + goto yy638; } else { - goto yy664; + goto yy661; } -yy654: +yy651: yych = *++p; if (yybm[0+yych] & 128) { - goto yy654; + goto yy651; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy653; - if (yych == '\n') goto yy653; - goto yy651; + if (yych <= 0x00) goto yy650; + if (yych == '\n') goto yy650; + goto yy648; } else { - if (yych <= '>') goto yy663; - if (yych <= 0x7F) goto yy651; - if (yych <= 0xC1) goto yy653; + if (yych <= '>') goto yy660; + if (yych <= 0x7F) goto yy648; + if (yych <= 0xC1) goto yy650; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy657; - if (yych == 0xED) goto yy659; - goto yy658; + if (yych <= 0xE0) goto yy654; + if (yych == 0xED) goto yy656; + goto yy655; } else { - if (yych <= 0xF0) goto yy660; - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; - goto yy653; + if (yych <= 0xF0) goto yy657; + if (yych <= 0xF3) goto yy658; + if (yych <= 0xF4) goto yy659; + goto yy650; } } +yy653: + yych = *++p; + if (yych <= 0x7F) goto yy650; + if (yych <= 0xBF) goto yy648; + goto yy650; +yy654: + yych = *++p; + if (yych <= 0x9F) goto yy650; + if (yych <= 0xBF) goto yy653; + goto yy650; +yy655: + yych = *++p; + if (yych <= 0x7F) goto yy650; + if (yych <= 0xBF) goto yy653; + goto yy650; yy656: yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy651; - goto yy653; + if (yych <= 0x7F) goto yy650; + if (yych <= 0x9F) goto yy653; + goto yy650; yy657: yych = *++p; - if (yych <= 0x9F) goto yy653; - if (yych <= 0xBF) goto yy656; - goto yy653; + if (yych <= 0x8F) goto yy650; + if (yych <= 0xBF) goto yy655; + goto yy650; yy658: yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy656; - goto yy653; + if (yych <= 0x7F) goto yy650; + if (yych <= 0xBF) goto yy655; + goto yy650; yy659: yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0x9F) goto yy656; - goto yy653; + if (yych <= 0x7F) goto yy650; + if (yych <= 0x8F) goto yy655; + goto yy650; yy660: - yych = *++p; - if (yych <= 0x8F) goto yy653; - if (yych <= 0xBF) goto yy658; - goto yy653; -yy661: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0xBF) goto yy658; - goto yy653; -yy662: - yych = *++p; - if (yych <= 0x7F) goto yy653; - if (yych <= 0x8F) goto yy658; - goto yy653; -yy663: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy651; + goto yy648; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy664; - if (yych <= '?') goto yy654; + if (yych <= '\n') goto yy661; + if (yych <= '?') goto yy651; } else { - if (yych <= 0xDF) goto yy656; - if (yych <= 0xE0) goto yy657; - goto yy658; + if (yych <= 0xDF) goto yy653; + if (yych <= 0xE0) goto yy654; + goto yy655; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy659; - if (yych <= 0xEF) goto yy658; - goto yy660; + if (yych <= 0xED) goto yy656; + if (yych <= 0xEF) goto yy655; + goto yy657; } else { - if (yych <= 0xF3) goto yy661; - if (yych <= 0xF4) goto yy662; + if (yych <= 0xF3) goto yy658; + if (yych <= 0xF4) goto yy659; } } -yy664: +yy661: { return (bufsize_t)(p - start); } } @@ -7774,181 +7762,181 @@ bufsize_t _scan_html_block_end_4(const unsigned char *p) }; yych = *p; if (yybm[0+yych] & 64) { - goto yy670; + goto yy667; } if (yych <= 0xE0) { if (yych <= '\n') { - if (yych <= 0x00) goto yy667; - if (yych <= '\t') goto yy669; + if (yych <= 0x00) goto yy664; + if (yych <= '\t') goto yy666; } else { - if (yych <= 0x7F) goto yy669; - if (yych <= 0xC1) goto yy667; - if (yych <= 0xDF) goto yy673; - goto yy674; + if (yych <= 0x7F) goto yy666; + if (yych <= 0xC1) goto yy664; + if (yych <= 0xDF) goto yy670; + goto yy671; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy676; - goto yy675; + if (yych == 0xED) goto yy673; + goto yy672; } else { - if (yych <= 0xF0) goto yy677; - if (yych <= 0xF3) goto yy678; - if (yych <= 0xF4) goto yy679; + if (yych <= 0xF0) goto yy674; + if (yych <= 0xF3) goto yy675; + if (yych <= 0xF4) goto yy676; } } -yy667: +yy664: ++p; -yy668: +yy665: { return 0; } -yy669: +yy666: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy668; - if (yych <= '\t') goto yy681; - goto yy668; + if (yych <= 0x00) goto yy665; + if (yych <= '\t') goto yy678; + goto yy665; } else { - if (yych <= 0x7F) goto yy681; - if (yych <= 0xC1) goto yy668; - if (yych <= 0xF4) goto yy681; - goto yy668; + if (yych <= 0x7F) goto yy678; + if (yych <= 0xC1) goto yy665; + if (yych <= 0xF4) goto yy678; + goto yy665; } -yy670: +yy667: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy680; + goto yy677; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy672; - if (yych <= '>') goto yy670; + if (yych <= '\n') goto yy669; + if (yych <= '>') goto yy667; } else { - if (yych <= 0xDF) goto yy683; - if (yych <= 0xE0) goto yy684; - goto yy685; + if (yych <= 0xDF) goto yy680; + if (yych <= 0xE0) goto yy681; + goto yy682; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy686; - if (yych <= 0xEF) goto yy685; - goto yy687; + if (yych <= 0xED) goto yy683; + if (yych <= 0xEF) goto yy682; + goto yy684; } else { - if (yych <= 0xF3) goto yy688; - if (yych <= 0xF4) goto yy689; + if (yych <= 0xF3) goto yy685; + if (yych <= 0xF4) goto yy686; } } -yy672: +yy669: { return (bufsize_t)(p - start); } -yy673: +yy670: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy680; - goto yy668; -yy674: + if (yych <= 0x7F) goto yy665; + if (yych <= 0xBF) goto yy677; + goto yy665; +yy671: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy668; - if (yych <= 0xBF) goto yy683; - goto yy668; -yy675: + if (yych <= 0x9F) goto yy665; + if (yych <= 0xBF) goto yy680; + goto yy665; +yy672: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy683; - goto yy668; -yy676: + if (yych <= 0x7F) goto yy665; + if (yych <= 0xBF) goto yy680; + goto yy665; +yy673: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0x9F) goto yy683; - goto yy668; -yy677: + if (yych <= 0x7F) goto yy665; + if (yych <= 0x9F) goto yy680; + goto yy665; +yy674: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy668; - if (yych <= 0xBF) goto yy685; - goto yy668; -yy678: + if (yych <= 0x8F) goto yy665; + if (yych <= 0xBF) goto yy682; + goto yy665; +yy675: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0xBF) goto yy685; - goto yy668; -yy679: + if (yych <= 0x7F) goto yy665; + if (yych <= 0xBF) goto yy682; + goto yy665; +yy676: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy668; - if (yych <= 0x8F) goto yy685; - goto yy668; -yy680: + if (yych <= 0x7F) goto yy665; + if (yych <= 0x8F) goto yy682; + goto yy665; +yy677: yych = *++p; -yy681: +yy678: if (yybm[0+yych] & 128) { - goto yy680; + goto yy677; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy682; - if (yych <= '>') goto yy670; + if (yych <= '\n') goto yy679; + if (yych <= '>') goto yy667; } else { - if (yych <= 0xDF) goto yy683; - if (yych <= 0xE0) goto yy684; - goto yy685; + if (yych <= 0xDF) goto yy680; + if (yych <= 0xE0) goto yy681; + goto yy682; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy686; - if (yych <= 0xEF) goto yy685; - goto yy687; + if (yych <= 0xED) goto yy683; + if (yych <= 0xEF) goto yy682; + goto yy684; } else { - if (yych <= 0xF3) goto yy688; - if (yych <= 0xF4) goto yy689; + if (yych <= 0xF3) goto yy685; + if (yych <= 0xF4) goto yy686; } } -yy682: +yy679: p = marker; if (yyaccept == 0) { - goto yy668; + goto yy665; } else { - goto yy672; + goto yy669; } -yy683: +yy680: + yych = *++p; + if (yych <= 0x7F) goto yy679; + if (yych <= 0xBF) goto yy677; + goto yy679; +yy681: + yych = *++p; + if (yych <= 0x9F) goto yy679; + if (yych <= 0xBF) goto yy680; + goto yy679; +yy682: yych = *++p; - if (yych <= 0x7F) goto yy682; + if (yych <= 0x7F) goto yy679; if (yych <= 0xBF) goto yy680; - goto yy682; + goto yy679; +yy683: + yych = *++p; + if (yych <= 0x7F) goto yy679; + if (yych <= 0x9F) goto yy680; + goto yy679; yy684: yych = *++p; - if (yych <= 0x9F) goto yy682; - if (yych <= 0xBF) goto yy683; - goto yy682; + if (yych <= 0x8F) goto yy679; + if (yych <= 0xBF) goto yy682; + goto yy679; yy685: yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0xBF) goto yy683; - goto yy682; + if (yych <= 0x7F) goto yy679; + if (yych <= 0xBF) goto yy682; + goto yy679; yy686: yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0x9F) goto yy683; - goto yy682; -yy687: - yych = *++p; + if (yych <= 0x7F) goto yy679; if (yych <= 0x8F) goto yy682; - if (yych <= 0xBF) goto yy685; - goto yy682; -yy688: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0xBF) goto yy685; - goto yy682; -yy689: - yych = *++p; - if (yych <= 0x7F) goto yy682; - if (yych <= 0x8F) goto yy685; - goto yy682; + goto yy679; } } @@ -7999,246 +7987,246 @@ bufsize_t _scan_html_block_end_5(const unsigned char *p) yych = *p; if (yych <= 0xDF) { if (yych <= '\\') { - if (yych <= 0x00) goto yy692; - if (yych != '\n') goto yy694; + if (yych <= 0x00) goto yy689; + if (yych != '\n') goto yy691; } else { - if (yych <= ']') goto yy695; - if (yych <= 0x7F) goto yy694; - if (yych >= 0xC2) goto yy696; + if (yych <= ']') goto yy692; + if (yych <= 0x7F) goto yy691; + if (yych >= 0xC2) goto yy693; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy697; - if (yych == 0xED) goto yy699; - goto yy698; + if (yych <= 0xE0) goto yy694; + if (yych == 0xED) goto yy696; + goto yy695; } else { - if (yych <= 0xF0) goto yy700; - if (yych <= 0xF3) goto yy701; - if (yych <= 0xF4) goto yy702; + if (yych <= 0xF0) goto yy697; + if (yych <= 0xF3) goto yy698; + if (yych <= 0xF4) goto yy699; } } -yy692: +yy689: ++p; -yy693: +yy690: { return 0; } -yy694: +yy691: yyaccept = 0; yych = *(marker = ++p); if (yych <= '\n') { - if (yych <= 0x00) goto yy693; - if (yych <= '\t') goto yy704; - goto yy693; + if (yych <= 0x00) goto yy690; + if (yych <= '\t') goto yy701; + goto yy690; } else { - if (yych <= 0x7F) goto yy704; - if (yych <= 0xC1) goto yy693; - if (yych <= 0xF4) goto yy704; - goto yy693; + if (yych <= 0x7F) goto yy701; + if (yych <= 0xC1) goto yy690; + if (yych <= 0xF4) goto yy701; + goto yy690; } -yy695: +yy692: yyaccept = 0; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy714; + goto yy711; } if (yych <= '\n') { - if (yych <= 0x00) goto yy693; - if (yych <= '\t') goto yy704; - goto yy693; + if (yych <= 0x00) goto yy690; + if (yych <= '\t') goto yy701; + goto yy690; } else { - if (yych <= 0x7F) goto yy704; - if (yych <= 0xC1) goto yy693; - if (yych <= 0xF4) goto yy704; - goto yy693; + if (yych <= 0x7F) goto yy701; + if (yych <= 0xC1) goto yy690; + if (yych <= 0xF4) goto yy701; + goto yy690; } -yy696: +yy693: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy703; - goto yy693; -yy697: + if (yych <= 0x7F) goto yy690; + if (yych <= 0xBF) goto yy700; + goto yy690; +yy694: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x9F) goto yy693; - if (yych <= 0xBF) goto yy707; - goto yy693; -yy698: + if (yych <= 0x9F) goto yy690; + if (yych <= 0xBF) goto yy704; + goto yy690; +yy695: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy707; - goto yy693; -yy699: + if (yych <= 0x7F) goto yy690; + if (yych <= 0xBF) goto yy704; + goto yy690; +yy696: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0x9F) goto yy707; - goto yy693; -yy700: + if (yych <= 0x7F) goto yy690; + if (yych <= 0x9F) goto yy704; + goto yy690; +yy697: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x8F) goto yy693; - if (yych <= 0xBF) goto yy709; - goto yy693; -yy701: + if (yych <= 0x8F) goto yy690; + if (yych <= 0xBF) goto yy706; + goto yy690; +yy698: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0xBF) goto yy709; - goto yy693; -yy702: + if (yych <= 0x7F) goto yy690; + if (yych <= 0xBF) goto yy706; + goto yy690; +yy699: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x7F) goto yy693; - if (yych <= 0x8F) goto yy709; - goto yy693; -yy703: + if (yych <= 0x7F) goto yy690; + if (yych <= 0x8F) goto yy706; + goto yy690; +yy700: yych = *++p; -yy704: +yy701: if (yybm[0+yych] & 64) { - goto yy703; + goto yy700; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy705; - if (yych <= ']') goto yy706; + if (yych <= '\n') goto yy702; + if (yych <= ']') goto yy703; } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; + if (yych <= 0xDF) goto yy704; + if (yych <= 0xE0) goto yy705; + goto yy706; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; + if (yych <= 0xED) goto yy707; + if (yych <= 0xEF) goto yy706; + goto yy708; } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; + if (yych <= 0xF3) goto yy709; + if (yych <= 0xF4) goto yy710; } } -yy705: +yy702: p = marker; if (yyaccept == 0) { - goto yy693; + goto yy690; } else { - goto yy717; + goto yy714; } -yy706: +yy703: yych = *++p; if (yybm[0+yych] & 64) { - goto yy703; + goto yy700; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy705; - if (yych <= ']') goto yy714; - goto yy705; + if (yych <= '\n') goto yy702; + if (yych <= ']') goto yy711; + goto yy702; } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; + if (yych <= 0xDF) goto yy704; + if (yych <= 0xE0) goto yy705; + goto yy706; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; + if (yych <= 0xED) goto yy707; + if (yych <= 0xEF) goto yy706; + goto yy708; } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; - goto yy705; + if (yych <= 0xF3) goto yy709; + if (yych <= 0xF4) goto yy710; + goto yy702; } } +yy704: + yych = *++p; + if (yych <= 0x7F) goto yy702; + if (yych <= 0xBF) goto yy700; + goto yy702; +yy705: + yych = *++p; + if (yych <= 0x9F) goto yy702; + if (yych <= 0xBF) goto yy704; + goto yy702; +yy706: + yych = *++p; + if (yych <= 0x7F) goto yy702; + if (yych <= 0xBF) goto yy704; + goto yy702; yy707: yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy703; - goto yy705; + if (yych <= 0x7F) goto yy702; + if (yych <= 0x9F) goto yy704; + goto yy702; yy708: yych = *++p; - if (yych <= 0x9F) goto yy705; - if (yych <= 0xBF) goto yy707; - goto yy705; + if (yych <= 0x8F) goto yy702; + if (yych <= 0xBF) goto yy706; + goto yy702; yy709: yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy707; - goto yy705; + if (yych <= 0x7F) goto yy702; + if (yych <= 0xBF) goto yy706; + goto yy702; yy710: yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0x9F) goto yy707; - goto yy705; + if (yych <= 0x7F) goto yy702; + if (yych <= 0x8F) goto yy706; + goto yy702; yy711: - yych = *++p; - if (yych <= 0x8F) goto yy705; - if (yych <= 0xBF) goto yy709; - goto yy705; -yy712: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0xBF) goto yy709; - goto yy705; -yy713: - yych = *++p; - if (yych <= 0x7F) goto yy705; - if (yych <= 0x8F) goto yy709; - goto yy705; -yy714: yych = *++p; if (yybm[0+yych] & 128) { - goto yy714; + goto yy711; } if (yych <= 0xDF) { if (yych <= '=') { - if (yych <= 0x00) goto yy705; - if (yych == '\n') goto yy705; - goto yy703; + if (yych <= 0x00) goto yy702; + if (yych == '\n') goto yy702; + goto yy700; } else { - if (yych <= '>') goto yy716; - if (yych <= 0x7F) goto yy703; - if (yych <= 0xC1) goto yy705; - goto yy707; + if (yych <= '>') goto yy713; + if (yych <= 0x7F) goto yy700; + if (yych <= 0xC1) goto yy702; + goto yy704; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy708; - if (yych == 0xED) goto yy710; - goto yy709; + if (yych <= 0xE0) goto yy705; + if (yych == 0xED) goto yy707; + goto yy706; } else { - if (yych <= 0xF0) goto yy711; - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; - goto yy705; + if (yych <= 0xF0) goto yy708; + if (yych <= 0xF3) goto yy709; + if (yych <= 0xF4) goto yy710; + goto yy702; } } -yy716: +yy713: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy703; + goto yy700; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= '\n') goto yy717; - if (yych <= ']') goto yy706; + if (yych <= '\n') goto yy714; + if (yych <= ']') goto yy703; } else { - if (yych <= 0xDF) goto yy707; - if (yych <= 0xE0) goto yy708; - goto yy709; + if (yych <= 0xDF) goto yy704; + if (yych <= 0xE0) goto yy705; + goto yy706; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy710; - if (yych <= 0xEF) goto yy709; - goto yy711; + if (yych <= 0xED) goto yy707; + if (yych <= 0xEF) goto yy706; + goto yy708; } else { - if (yych <= 0xF3) goto yy712; - if (yych <= 0xF4) goto yy713; + if (yych <= 0xF3) goto yy709; + if (yych <= 0xF4) goto yy710; } } -yy717: +yy714: { return (bufsize_t)(p - start); } } @@ -8291,406 +8279,406 @@ bufsize_t _scan_link_title(const unsigned char *p) }; yych = *p; if (yych <= '&') { - if (yych == '"') goto yy722; + if (yych == '"') goto yy719; } else { - if (yych <= '\'') goto yy723; - if (yych <= '(') goto yy724; + if (yych <= '\'') goto yy720; + if (yych <= '(') goto yy721; } ++p; -yy721: +yy718: { return 0; } -yy722: +yy719: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x00) goto yy721; - if (yych <= 0x7F) goto yy726; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy726; - goto yy721; -yy723: + if (yych <= 0x00) goto yy718; + if (yych <= 0x7F) goto yy723; + if (yych <= 0xC1) goto yy718; + if (yych <= 0xF4) goto yy723; + goto yy718; +yy720: yyaccept = 0; yych = *(marker = ++p); - if (yych <= 0x00) goto yy721; - if (yych <= 0x7F) goto yy740; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy740; - goto yy721; -yy724: + if (yych <= 0x00) goto yy718; + if (yych <= 0x7F) goto yy737; + if (yych <= 0xC1) goto yy718; + if (yych <= 0xF4) goto yy737; + goto yy718; +yy721: yyaccept = 0; yych = *(marker = ++p); if (yych <= '(') { - if (yych <= 0x00) goto yy721; - if (yych <= '\'') goto yy753; - goto yy721; + if (yych <= 0x00) goto yy718; + if (yych <= '\'') goto yy750; + goto yy718; } else { - if (yych <= 0x7F) goto yy753; - if (yych <= 0xC1) goto yy721; - if (yych <= 0xF4) goto yy753; - goto yy721; + if (yych <= 0x7F) goto yy750; + if (yych <= 0xC1) goto yy718; + if (yych <= 0xF4) goto yy750; + goto yy718; } -yy725: +yy722: yych = *++p; -yy726: +yy723: if (yybm[0+yych] & 16) { - goto yy725; + goto yy722; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '"') goto yy728; - goto yy730; + if (yych <= 0x00) goto yy724; + if (yych <= '"') goto yy725; + goto yy727; } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy732; - goto yy733; + if (yych <= 0xC1) goto yy724; + if (yych <= 0xDF) goto yy729; + goto yy730; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; + if (yych == 0xED) goto yy732; + goto yy731; } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; + if (yych <= 0xF0) goto yy733; + if (yych <= 0xF3) goto yy734; + if (yych <= 0xF4) goto yy735; } } -yy727: +yy724: p = marker; if (yyaccept <= 1) { if (yyaccept == 0) { - goto yy721; + goto yy718; } else { - goto yy729; + goto yy726; } } else { if (yyaccept == 2) { - goto yy742; + goto yy739; } else { - goto yy755; + goto yy752; } } -yy728: +yy725: ++p; -yy729: +yy726: { return (bufsize_t)(p - start); } -yy730: +yy727: yych = *++p; if (yybm[0+yych] & 16) { - goto yy725; + goto yy722; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '"') goto yy765; - goto yy730; + if (yych <= 0x00) goto yy724; + if (yych <= '"') goto yy762; + goto yy727; } else { - if (yych <= 0xC1) goto yy727; - if (yych >= 0xE0) goto yy733; + if (yych <= 0xC1) goto yy724; + if (yych >= 0xE0) goto yy730; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; + if (yych == 0xED) goto yy732; + goto yy731; } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; - goto yy727; + if (yych <= 0xF0) goto yy733; + if (yych <= 0xF3) goto yy734; + if (yych <= 0xF4) goto yy735; + goto yy724; } } +yy729: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy722; + goto yy724; +yy730: + yych = *++p; + if (yych <= 0x9F) goto yy724; + if (yych <= 0xBF) goto yy729; + goto yy724; +yy731: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy729; + goto yy724; yy732: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy725; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x9F) goto yy729; + goto yy724; yy733: yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy732; - goto yy727; + if (yych <= 0x8F) goto yy724; + if (yych <= 0xBF) goto yy731; + goto yy724; yy734: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy732; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy731; + goto yy724; yy735: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy732; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x8F) goto yy731; + goto yy724; yy736: yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy734; - goto yy727; yy737: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy734; - goto yy727; -yy738: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy734; - goto yy727; -yy739: - yych = *++p; -yy740: if (yybm[0+yych] & 64) { - goto yy739; + goto yy736; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych >= '(') goto yy743; + if (yych <= 0x00) goto yy724; + if (yych >= '(') goto yy740; } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy745; - goto yy746; + if (yych <= 0xC1) goto yy724; + if (yych <= 0xDF) goto yy742; + goto yy743; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; + if (yych == 0xED) goto yy745; + goto yy744; } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy727; + if (yych <= 0xF0) goto yy746; + if (yych <= 0xF3) goto yy747; + if (yych <= 0xF4) goto yy748; + goto yy724; } } -yy741: +yy738: ++p; -yy742: +yy739: { return (bufsize_t)(p - start); } -yy743: +yy740: yych = *++p; if (yybm[0+yych] & 64) { - goto yy739; + goto yy736; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy727; - if (yych <= '\'') goto yy766; - goto yy743; + if (yych <= 0x00) goto yy724; + if (yych <= '\'') goto yy763; + goto yy740; } else { - if (yych <= 0xC1) goto yy727; - if (yych >= 0xE0) goto yy746; + if (yych <= 0xC1) goto yy724; + if (yych >= 0xE0) goto yy743; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; + if (yych == 0xED) goto yy745; + goto yy744; } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy727; + if (yych <= 0xF0) goto yy746; + if (yych <= 0xF3) goto yy747; + if (yych <= 0xF4) goto yy748; + goto yy724; } } +yy742: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy736; + goto yy724; +yy743: + yych = *++p; + if (yych <= 0x9F) goto yy724; + if (yych <= 0xBF) goto yy742; + goto yy724; +yy744: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy742; + goto yy724; yy745: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy739; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x9F) goto yy742; + goto yy724; yy746: yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy745; - goto yy727; + if (yych <= 0x8F) goto yy724; + if (yych <= 0xBF) goto yy744; + goto yy724; yy747: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy745; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy744; + goto yy724; yy748: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy745; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x8F) goto yy744; + goto yy724; yy749: yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy747; - goto yy727; yy750: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy747; - goto yy727; -yy751: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy747; - goto yy727; -yy752: - yych = *++p; -yy753: if (yybm[0+yych] & 128) { - goto yy752; + goto yy749; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= '(') goto yy727; - if (yych >= '*') goto yy756; + if (yych <= '(') goto yy724; + if (yych >= '*') goto yy753; } else { - if (yych <= 0xC1) goto yy727; - if (yych <= 0xDF) goto yy758; - goto yy759; + if (yych <= 0xC1) goto yy724; + if (yych <= 0xDF) goto yy755; + goto yy756; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy761; - goto yy760; + if (yych == 0xED) goto yy758; + goto yy757; } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy727; + if (yych <= 0xF0) goto yy759; + if (yych <= 0xF3) goto yy760; + if (yych <= 0xF4) goto yy761; + goto yy724; } } -yy754: +yy751: ++p; -yy755: +yy752: { return (bufsize_t)(p - start); } -yy756: +yy753: yych = *++p; if (yych <= 0xDF) { if (yych <= '[') { - if (yych <= 0x00) goto yy727; - if (yych == ')') goto yy767; - goto yy752; + if (yych <= 0x00) goto yy724; + if (yych == ')') goto yy764; + goto yy749; } else { - if (yych <= '\\') goto yy756; - if (yych <= 0x7F) goto yy752; - if (yych <= 0xC1) goto yy727; + if (yych <= '\\') goto yy753; + if (yych <= 0x7F) goto yy749; + if (yych <= 0xC1) goto yy724; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy759; - if (yych == 0xED) goto yy761; - goto yy760; + if (yych <= 0xE0) goto yy756; + if (yych == 0xED) goto yy758; + goto yy757; } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy727; + if (yych <= 0xF0) goto yy759; + if (yych <= 0xF3) goto yy760; + if (yych <= 0xF4) goto yy761; + goto yy724; } } +yy755: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy749; + goto yy724; +yy756: + yych = *++p; + if (yych <= 0x9F) goto yy724; + if (yych <= 0xBF) goto yy755; + goto yy724; +yy757: + yych = *++p; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy755; + goto yy724; yy758: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy752; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x9F) goto yy755; + goto yy724; yy759: yych = *++p; - if (yych <= 0x9F) goto yy727; - if (yych <= 0xBF) goto yy758; - goto yy727; + if (yych <= 0x8F) goto yy724; + if (yych <= 0xBF) goto yy757; + goto yy724; yy760: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy758; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0xBF) goto yy757; + goto yy724; yy761: yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x9F) goto yy758; - goto yy727; + if (yych <= 0x7F) goto yy724; + if (yych <= 0x8F) goto yy757; + goto yy724; yy762: - yych = *++p; - if (yych <= 0x8F) goto yy727; - if (yych <= 0xBF) goto yy760; - goto yy727; -yy763: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0xBF) goto yy760; - goto yy727; -yy764: - yych = *++p; - if (yych <= 0x7F) goto yy727; - if (yych <= 0x8F) goto yy760; - goto yy727; -yy765: yyaccept = 1; yych = *(marker = ++p); if (yybm[0+yych] & 16) { - goto yy725; + goto yy722; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy729; - if (yych <= '"') goto yy728; - goto yy730; + if (yych <= 0x00) goto yy726; + if (yych <= '"') goto yy725; + goto yy727; } else { - if (yych <= 0xC1) goto yy729; - if (yych <= 0xDF) goto yy732; - goto yy733; + if (yych <= 0xC1) goto yy726; + if (yych <= 0xDF) goto yy729; + goto yy730; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy735; - goto yy734; + if (yych == 0xED) goto yy732; + goto yy731; } else { - if (yych <= 0xF0) goto yy736; - if (yych <= 0xF3) goto yy737; - if (yych <= 0xF4) goto yy738; - goto yy729; + if (yych <= 0xF0) goto yy733; + if (yych <= 0xF3) goto yy734; + if (yych <= 0xF4) goto yy735; + goto yy726; } } -yy766: +yy763: yyaccept = 2; yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy739; + goto yy736; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= 0x00) goto yy742; - if (yych <= '\'') goto yy741; - goto yy743; + if (yych <= 0x00) goto yy739; + if (yych <= '\'') goto yy738; + goto yy740; } else { - if (yych <= 0xC1) goto yy742; - if (yych <= 0xDF) goto yy745; - goto yy746; + if (yych <= 0xC1) goto yy739; + if (yych <= 0xDF) goto yy742; + goto yy743; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy748; - goto yy747; + if (yych == 0xED) goto yy745; + goto yy744; } else { - if (yych <= 0xF0) goto yy749; - if (yych <= 0xF3) goto yy750; - if (yych <= 0xF4) goto yy751; - goto yy742; + if (yych <= 0xF0) goto yy746; + if (yych <= 0xF3) goto yy747; + if (yych <= 0xF4) goto yy748; + goto yy739; } } -yy767: +yy764: yyaccept = 3; yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy752; + goto yy749; } if (yych <= 0xE0) { if (yych <= '\\') { - if (yych <= '(') goto yy755; - if (yych <= ')') goto yy754; - goto yy756; + if (yych <= '(') goto yy752; + if (yych <= ')') goto yy751; + goto yy753; } else { - if (yych <= 0xC1) goto yy755; - if (yych <= 0xDF) goto yy758; - goto yy759; + if (yych <= 0xC1) goto yy752; + if (yych <= 0xDF) goto yy755; + goto yy756; } } else { if (yych <= 0xEF) { - if (yych == 0xED) goto yy761; - goto yy760; + if (yych == 0xED) goto yy758; + goto yy757; } else { - if (yych <= 0xF0) goto yy762; - if (yych <= 0xF3) goto yy763; - if (yych <= 0xF4) goto yy764; - goto yy755; + if (yych <= 0xF0) goto yy759; + if (yych <= 0xF3) goto yy760; + if (yych <= 0xF4) goto yy761; + goto yy752; } } } @@ -8740,14 +8728,14 @@ bufsize_t _scan_spacechars(const unsigned char *p) }; yych = *p; if (yybm[0+yych] & 128) { - goto yy772; + goto yy769; } ++p; { return 0; } -yy772: +yy769: yych = *++p; if (yybm[0+yych] & 128) { - goto yy772; + goto yy769; } { return (bufsize_t)(p - start); } } @@ -8797,94 +8785,94 @@ bufsize_t _scan_atx_heading_start(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '#') goto yy779; + if (yych == '#') goto yy776; ++p; -yy778: +yy775: { return 0; } -yy779: +yy776: yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy778; - if (yych <= '\n') goto yy783; - goto yy778; + if (yych <= 0x08) goto yy775; + if (yych <= '\n') goto yy780; + goto yy775; } else { - if (yych <= '\r') goto yy783; - if (yych == '#') goto yy784; - goto yy778; + if (yych <= '\r') goto yy780; + if (yych == '#') goto yy781; + goto yy775; } -yy780: +yy777: yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } -yy782: +yy779: { return (bufsize_t)(p - start); } -yy783: +yy780: ++p; - goto yy782; -yy784: + goto yy779; +yy781: yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; } else { - if (yych <= '\r') goto yy783; - if (yych == '#') goto yy786; + if (yych <= '\r') goto yy780; + if (yych == '#') goto yy783; } -yy785: +yy782: p = marker; - goto yy778; -yy786: + goto yy775; +yy783: yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; + goto yy782; } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; + if (yych <= '\r') goto yy780; + if (yych != '#') goto yy782; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; + goto yy782; } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; + if (yych <= '\r') goto yy780; + if (yych != '#') goto yy782; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } if (yych <= '\f') { - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - goto yy785; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; + goto yy782; } else { - if (yych <= '\r') goto yy783; - if (yych != '#') goto yy785; + if (yych <= '\r') goto yy780; + if (yych != '#') goto yy782; } yych = *++p; if (yybm[0+yych] & 128) { - goto yy780; + goto yy777; } - if (yych <= 0x08) goto yy785; - if (yych <= '\n') goto yy783; - if (yych == '\r') goto yy783; - goto yy785; + if (yych <= 0x08) goto yy782; + if (yych <= '\n') goto yy780; + if (yych == '\r') goto yy780; + goto yy782; } } @@ -8932,97 +8920,97 @@ bufsize_t _scan_setext_heading_line(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '-') goto yy794; - if (yych == '=') goto yy795; + if (yych == '-') goto yy791; + if (yych == '=') goto yy792; ++p; -yy793: +yy790: { return 0; } -yy794: +yy791: yych = *(marker = ++p); if (yybm[0+yych] & 64) { - goto yy801; + goto yy798; } if (yych <= '\f') { - if (yych <= 0x08) goto yy793; - if (yych <= '\n') goto yy797; - goto yy793; + if (yych <= 0x08) goto yy790; + if (yych <= '\n') goto yy794; + goto yy790; } else { - if (yych <= '\r') goto yy797; - if (yych == ' ') goto yy797; - goto yy793; + if (yych <= '\r') goto yy794; + if (yych == ' ') goto yy794; + goto yy790; } -yy795: +yy792: yych = *(marker = ++p); if (yybm[0+yych] & 128) { - goto yy807; + goto yy804; } if (yych <= '\f') { - if (yych <= 0x08) goto yy793; - if (yych <= '\n') goto yy804; - goto yy793; + if (yych <= 0x08) goto yy790; + if (yych <= '\n') goto yy801; + goto yy790; } else { - if (yych <= '\r') goto yy804; - if (yych == ' ') goto yy804; - goto yy793; + if (yych <= '\r') goto yy801; + if (yych == ' ') goto yy801; + goto yy790; } -yy796: +yy793: yych = *++p; -yy797: +yy794: if (yybm[0+yych] & 32) { - goto yy796; + goto yy793; } - if (yych <= 0x08) goto yy798; - if (yych <= '\n') goto yy799; - if (yych == '\r') goto yy799; -yy798: + if (yych <= 0x08) goto yy795; + if (yych <= '\n') goto yy796; + if (yych == '\r') goto yy796; +yy795: p = marker; - goto yy793; -yy799: + goto yy790; +yy796: ++p; { return 2; } -yy801: +yy798: yych = *++p; if (yybm[0+yych] & 32) { - goto yy796; + goto yy793; } if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\n') goto yy799; - goto yy798; + if (yych <= 0x08) goto yy795; + if (yych <= '\n') goto yy796; + goto yy795; } else { - if (yych <= '\r') goto yy799; - if (yych == '-') goto yy801; - goto yy798; + if (yych <= '\r') goto yy796; + if (yych == '-') goto yy798; + goto yy795; } -yy803: +yy800: yych = *++p; -yy804: +yy801: if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\t') goto yy803; - if (yych >= '\v') goto yy798; + if (yych <= 0x08) goto yy795; + if (yych <= '\t') goto yy800; + if (yych >= '\v') goto yy795; } else { - if (yych <= '\r') goto yy805; - if (yych == ' ') goto yy803; - goto yy798; + if (yych <= '\r') goto yy802; + if (yych == ' ') goto yy800; + goto yy795; } -yy805: +yy802: ++p; { return 1; } -yy807: +yy804: yych = *++p; if (yybm[0+yych] & 128) { - goto yy807; + goto yy804; } if (yych <= '\f') { - if (yych <= 0x08) goto yy798; - if (yych <= '\t') goto yy803; - if (yych <= '\n') goto yy805; - goto yy798; + if (yych <= 0x08) goto yy795; + if (yych <= '\t') goto yy800; + if (yych <= '\n') goto yy802; + goto yy795; } else { - if (yych <= '\r') goto yy805; - if (yych == ' ') goto yy803; - goto yy798; + if (yych <= '\r') goto yy802; + if (yych == ' ') goto yy800; + goto yy795; } } @@ -9071,271 +9059,271 @@ bufsize_t _scan_open_code_fence(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '`') goto yy813; - if (yych == '~') goto yy814; + if (yych == '`') goto yy810; + if (yych == '~') goto yy811; ++p; -yy812: +yy809: { return 0; } -yy813: +yy810: yych = *(marker = ++p); - if (yych == '`') goto yy815; - goto yy812; -yy814: + if (yych == '`') goto yy812; + goto yy809; +yy811: yych = *(marker = ++p); - if (yych == '~') goto yy817; - goto yy812; -yy815: + if (yych == '~') goto yy814; + goto yy809; +yy812: yych = *++p; if (yybm[0+yych] & 16) { - goto yy818; + goto yy815; } -yy816: +yy813: p = marker; - goto yy812; -yy817: + goto yy809; +yy814: yych = *++p; if (yybm[0+yych] & 32) { - goto yy820; + goto yy817; } - goto yy816; -yy818: + goto yy813; +yy815: yych = *++p; if (yybm[0+yych] & 16) { - goto yy818; + goto yy815; } if (yych <= 0xDF) { if (yych <= '\f') { - if (yych <= 0x00) goto yy816; + if (yych <= 0x00) goto yy813; if (yych == '\n') { marker = p; - goto yy824; + goto yy821; } marker = p; - goto yy822; + goto yy819; } else { if (yych <= '\r') { marker = p; - goto yy824; + goto yy821; } if (yych <= 0x7F) { marker = p; - goto yy822; + goto yy819; } - if (yych <= 0xC1) goto yy816; + if (yych <= 0xC1) goto yy813; marker = p; - goto yy826; + goto yy823; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; - goto yy827; + goto yy824; } if (yych == 0xED) { marker = p; - goto yy829; + goto yy826; } marker = p; - goto yy828; + goto yy825; } else { if (yych <= 0xF0) { marker = p; - goto yy830; + goto yy827; } if (yych <= 0xF3) { marker = p; - goto yy831; + goto yy828; } if (yych <= 0xF4) { marker = p; - goto yy832; + goto yy829; } - goto yy816; + goto yy813; } } -yy820: +yy817: yych = *++p; if (yybm[0+yych] & 32) { - goto yy820; + goto yy817; } if (yych <= 0xDF) { if (yych <= '\f') { - if (yych <= 0x00) goto yy816; + if (yych <= 0x00) goto yy813; if (yych == '\n') { marker = p; - goto yy835; + goto yy832; } marker = p; - goto yy833; + goto yy830; } else { if (yych <= '\r') { marker = p; - goto yy835; + goto yy832; } if (yych <= 0x7F) { marker = p; - goto yy833; + goto yy830; } - if (yych <= 0xC1) goto yy816; + if (yych <= 0xC1) goto yy813; marker = p; - goto yy837; + goto yy834; } } else { if (yych <= 0xEF) { if (yych <= 0xE0) { marker = p; - goto yy838; + goto yy835; } if (yych == 0xED) { marker = p; - goto yy840; + goto yy837; } marker = p; - goto yy839; + goto yy836; } else { if (yych <= 0xF0) { marker = p; - goto yy841; + goto yy838; } if (yych <= 0xF3) { marker = p; - goto yy842; + goto yy839; } if (yych <= 0xF4) { marker = p; - goto yy843; + goto yy840; } - goto yy816; + goto yy813; } } -yy822: +yy819: yych = *++p; if (yybm[0+yych] & 64) { - goto yy822; + goto yy819; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy816; - if (yych >= 0x0E) goto yy816; + if (yych <= 0x00) goto yy813; + if (yych >= 0x0E) goto yy813; } else { - if (yych <= 0xDF) goto yy826; - if (yych <= 0xE0) goto yy827; - goto yy828; + if (yych <= 0xDF) goto yy823; + if (yych <= 0xE0) goto yy824; + goto yy825; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy829; - if (yych <= 0xEF) goto yy828; - goto yy830; + if (yych <= 0xED) goto yy826; + if (yych <= 0xEF) goto yy825; + goto yy827; } else { - if (yych <= 0xF3) goto yy831; - if (yych <= 0xF4) goto yy832; - goto yy816; + if (yych <= 0xF3) goto yy828; + if (yych <= 0xF4) goto yy829; + goto yy813; } } -yy824: +yy821: ++p; p = marker; { return (bufsize_t)(p - start); } +yy823: + yych = *++p; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy819; + goto yy813; +yy824: + yych = *++p; + if (yych <= 0x9F) goto yy813; + if (yych <= 0xBF) goto yy823; + goto yy813; +yy825: + yych = *++p; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy823; + goto yy813; yy826: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy822; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0x9F) goto yy823; + goto yy813; yy827: yych = *++p; - if (yych <= 0x9F) goto yy816; - if (yych <= 0xBF) goto yy826; - goto yy816; + if (yych <= 0x8F) goto yy813; + if (yych <= 0xBF) goto yy825; + goto yy813; yy828: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy826; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy825; + goto yy813; yy829: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x9F) goto yy826; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0x8F) goto yy825; + goto yy813; yy830: - yych = *++p; - if (yych <= 0x8F) goto yy816; - if (yych <= 0xBF) goto yy828; - goto yy816; -yy831: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy828; - goto yy816; -yy832: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x8F) goto yy828; - goto yy816; -yy833: yych = *++p; if (yybm[0+yych] & 128) { - goto yy833; + goto yy830; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x00) goto yy816; - if (yych >= 0x0E) goto yy816; + if (yych <= 0x00) goto yy813; + if (yych >= 0x0E) goto yy813; } else { - if (yych <= 0xDF) goto yy837; - if (yych <= 0xE0) goto yy838; - goto yy839; + if (yych <= 0xDF) goto yy834; + if (yych <= 0xE0) goto yy835; + goto yy836; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy840; - if (yych <= 0xEF) goto yy839; - goto yy841; + if (yych <= 0xED) goto yy837; + if (yych <= 0xEF) goto yy836; + goto yy838; } else { - if (yych <= 0xF3) goto yy842; - if (yych <= 0xF4) goto yy843; - goto yy816; + if (yych <= 0xF3) goto yy839; + if (yych <= 0xF4) goto yy840; + goto yy813; } } -yy835: +yy832: ++p; p = marker; { return (bufsize_t)(p - start); } +yy834: + yych = *++p; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy830; + goto yy813; +yy835: + yych = *++p; + if (yych <= 0x9F) goto yy813; + if (yych <= 0xBF) goto yy834; + goto yy813; +yy836: + yych = *++p; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy834; + goto yy813; yy837: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy833; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0x9F) goto yy834; + goto yy813; yy838: yych = *++p; - if (yych <= 0x9F) goto yy816; - if (yych <= 0xBF) goto yy837; - goto yy816; + if (yych <= 0x8F) goto yy813; + if (yych <= 0xBF) goto yy836; + goto yy813; yy839: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy837; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0xBF) goto yy836; + goto yy813; yy840: yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x9F) goto yy837; - goto yy816; -yy841: - yych = *++p; - if (yych <= 0x8F) goto yy816; - if (yych <= 0xBF) goto yy839; - goto yy816; -yy842: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0xBF) goto yy839; - goto yy816; -yy843: - yych = *++p; - if (yych <= 0x7F) goto yy816; - if (yych <= 0x8F) goto yy839; - goto yy816; + if (yych <= 0x7F) goto yy813; + if (yych <= 0x8F) goto yy836; + goto yy813; } } @@ -9383,111 +9371,111 @@ bufsize_t _scan_close_code_fence(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '`') goto yy848; - if (yych == '~') goto yy849; + if (yych == '`') goto yy845; + if (yych == '~') goto yy846; ++p; -yy847: +yy844: { return 0; } -yy848: +yy845: yych = *(marker = ++p); - if (yych == '`') goto yy850; - goto yy847; -yy849: + if (yych == '`') goto yy847; + goto yy844; +yy846: yych = *(marker = ++p); - if (yych == '~') goto yy852; - goto yy847; -yy850: + if (yych == '~') goto yy849; + goto yy844; +yy847: yych = *++p; if (yybm[0+yych] & 32) { - goto yy853; + goto yy850; } -yy851: +yy848: p = marker; - goto yy847; -yy852: + goto yy844; +yy849: yych = *++p; if (yybm[0+yych] & 64) { - goto yy855; + goto yy852; } - goto yy851; -yy853: + goto yy848; +yy850: yych = *++p; if (yybm[0+yych] & 32) { - goto yy853; + goto yy850; } if (yych <= '\f') { - if (yych <= 0x08) goto yy851; + if (yych <= 0x08) goto yy848; if (yych <= '\t') { marker = p; - goto yy857; + goto yy854; } if (yych <= '\n') { marker = p; - goto yy859; + goto yy856; } - goto yy851; + goto yy848; } else { if (yych <= '\r') { marker = p; - goto yy859; + goto yy856; } if (yych == ' ') { marker = p; - goto yy857; + goto yy854; } - goto yy851; + goto yy848; } -yy855: +yy852: yych = *++p; if (yybm[0+yych] & 64) { - goto yy855; + goto yy852; } if (yych <= '\f') { - if (yych <= 0x08) goto yy851; + if (yych <= 0x08) goto yy848; if (yych <= '\t') { marker = p; - goto yy861; + goto yy858; } if (yych <= '\n') { marker = p; - goto yy863; + goto yy860; } - goto yy851; + goto yy848; } else { if (yych <= '\r') { marker = p; - goto yy863; + goto yy860; } if (yych == ' ') { marker = p; - goto yy861; + goto yy858; } - goto yy851; + goto yy848; } -yy857: +yy854: yych = *++p; if (yybm[0+yych] & 128) { - goto yy857; + goto yy854; } - if (yych <= 0x08) goto yy851; - if (yych <= '\n') goto yy859; - if (yych != '\r') goto yy851; -yy859: + if (yych <= 0x08) goto yy848; + if (yych <= '\n') goto yy856; + if (yych != '\r') goto yy848; +yy856: ++p; p = marker; { return (bufsize_t)(p - start); } -yy861: +yy858: yych = *++p; if (yych <= '\f') { - if (yych <= 0x08) goto yy851; - if (yych <= '\t') goto yy861; - if (yych >= '\v') goto yy851; + if (yych <= 0x08) goto yy848; + if (yych <= '\t') goto yy858; + if (yych >= '\v') goto yy848; } else { - if (yych <= '\r') goto yy863; - if (yych == ' ') goto yy861; - goto yy851; + if (yych <= '\r') goto yy860; + if (yych == ' ') goto yy858; + goto yy848; } -yy863: +yy860: ++p; p = marker; { return (bufsize_t)(p - start); } @@ -9505,644 +9493,644 @@ bufsize_t _scan_entity(const unsigned char *p) { unsigned char yych; yych = *p; - if (yych == '&') goto yy869; + if (yych == '&') goto yy866; ++p; -yy868: +yy865: { return 0; } -yy869: +yy866: yych = *(marker = ++p); if (yych <= '@') { - if (yych != '#') goto yy868; + if (yych != '#') goto yy865; + } else { + if (yych <= 'Z') goto yy869; + if (yych <= '`') goto yy865; + if (yych <= 'z') goto yy869; + goto yy865; + } + yych = *++p; + if (yych <= 'W') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy870; + } else { + if (yych <= 'X') goto yy871; + if (yych == 'x') goto yy871; + } +yy868: + p = marker; + goto yy865; +yy869: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy872; + goto yy868; } else { if (yych <= 'Z') goto yy872; if (yych <= '`') goto yy868; if (yych <= 'z') goto yy872; goto yy868; } +yy870: yych = *++p; - if (yych <= 'W') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy873; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy873; + if (yych == ';') goto yy874; + goto yy868; +yy871: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy876; + goto yy868; } else { - if (yych <= 'X') goto yy874; - if (yych == 'x') goto yy874; + if (yych <= 'F') goto yy876; + if (yych <= '`') goto yy868; + if (yych <= 'f') goto yy876; + goto yy868; } -yy871: - p = marker; - goto yy868; yy872: yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy875; - goto yy871; + if (yych <= ';') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { - if (yych <= 'Z') goto yy875; - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy875; - goto yy871; + if (yych <= 'Z') { + if (yych <= '@') goto yy868; + goto yy877; + } else { + if (yych <= '`') goto yy868; + if (yych <= 'z') goto yy877; + goto yy868; + } } yy873: yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy876; - if (yych == ';') goto yy877; - goto yy871; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy878; + if (yych != ';') goto yy868; yy874: + ++p; + { return (bufsize_t)(p - start); } +yy876: yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy871; + if (yych <= ';') { + if (yych <= '/') goto yy868; if (yych <= '9') goto yy879; - goto yy871; + if (yych <= ':') goto yy868; + goto yy874; } else { - if (yych <= 'F') goto yy879; - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy879; - goto yy871; + if (yych <= 'F') { + if (yych <= '@') goto yy868; + goto yy879; + } else { + if (yych <= '`') goto yy868; + if (yych <= 'f') goto yy879; + goto yy868; + } } -yy875: +yy877: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy880; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy880; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'z') goto yy880; - goto yy871; + goto yy868; } } -yy876: +yy878: yych = *++p; - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy881; - if (yych != ';') goto yy871; -yy877: - ++p; - { return (bufsize_t)(p - start); } + if (yych == ';') goto yy874; + goto yy868; yy879: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy882; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'F') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy882; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'f') goto yy882; - goto yy871; + goto yy868; } } yy880: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy883; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy883; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'z') goto yy883; - goto yy871; + goto yy868; } } yy881: yych = *++p; - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy884; - if (yych == ';') goto yy877; - goto yy871; + if (yych == ';') goto yy874; + goto yy868; yy882: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy885; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'F') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy885; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'f') goto yy885; - goto yy871; + goto yy868; } } yy883: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy886; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy886; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'z') goto yy886; - goto yy871; + goto yy868; } } yy884: yych = *++p; - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy887; - if (yych == ';') goto yy877; - goto yy871; + if (yych == ';') goto yy874; + goto yy868; yy885: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy888; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'F') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy888; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'f') goto yy888; - goto yy871; + goto yy868; } } yy886: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy889; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; goto yy889; } else { - if (yych <= '`') goto yy871; + if (yych <= '`') goto yy868; if (yych <= 'z') goto yy889; - goto yy871; + goto yy868; } } yy887: yych = *++p; - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy890; - if (yych == ';') goto yy877; - goto yy871; + if (yych == ';') goto yy874; + goto yy868; yy888: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy891; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy890; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy891; + if (yych <= '@') goto yy868; + goto yy890; } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy891; - goto yy871; + if (yych <= '`') goto yy868; + if (yych <= 'f') goto yy890; + goto yy868; } } yy889: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy892; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy891; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy892; + if (yych <= '@') goto yy868; + goto yy891; } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy892; - goto yy871; + if (yych <= '`') goto yy868; + if (yych <= 'z') goto yy891; + goto yy868; } } yy890: yych = *++p; - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych == ';') goto yy877; - goto yy871; + if (yych == ';') goto yy874; + goto yy868; yy891: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy892; + if (yych <= ':') goto yy868; + goto yy874; } else { - if (yych <= 'F') { - if (yych <= '@') goto yy871; - goto yy893; + if (yych <= 'Z') { + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych <= 'f') goto yy893; - goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy892: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy894; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy893; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy894; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy894; - goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy893: yych = *++p; - if (yych == ';') goto yy877; - goto yy871; + if (yych <= ';') { + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy894; + if (yych <= ':') goto yy868; + goto yy874; + } else { + if (yych <= 'Z') { + if (yych <= '@') goto yy868; + } else { + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; + } + } yy894: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy895; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy895: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy896; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy896: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy897; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy897: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy898; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy898: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy899; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy899: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy900; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy900: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy901; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy901: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy902; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy902: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy903; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy903: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy904; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy904: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy905; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy905: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy906; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy906: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy907; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy907: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy908; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy908: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy909; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy909: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy910; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy910: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy911; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy911: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy912; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy912: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy913; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy913: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; + if (yych <= '/') goto yy868; if (yych <= '9') goto yy914; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; + if (yych <= '@') goto yy868; } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; + if (yych <= '`') goto yy868; + if (yych >= '{') goto yy868; } } yy914: yych = *++p; if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy915; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy915: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy916; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy916: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy917; - if (yych <= ':') goto yy871; - goto yy877; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy871; - } else { - if (yych <= '`') goto yy871; - if (yych >= '{') goto yy871; - } - } -yy917: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy871; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy871; - goto yy877; + if (yych <= '/') goto yy868; + if (yych <= '9') goto yy890; + if (yych <= ':') goto yy868; + goto yy874; } else { if (yych <= 'Z') { - if (yych <= '@') goto yy871; - goto yy893; + if (yych <= '@') goto yy868; + goto yy890; } else { - if (yych <= '`') goto yy871; - if (yych <= 'z') goto yy893; - goto yy871; + if (yych <= '`') goto yy868; + if (yych <= 'z') goto yy890; + goto yy868; } } } @@ -10162,229 +10150,229 @@ bufsize_t _scan_dangerous_url(const unsigned char *p) yych = *p; if (yych <= 'V') { if (yych <= 'F') { - if (yych == 'D') goto yy922; - if (yych >= 'F') goto yy923; + if (yych == 'D') goto yy919; + if (yych >= 'F') goto yy920; } else { - if (yych == 'J') goto yy924; - if (yych >= 'V') goto yy925; + if (yych == 'J') goto yy921; + if (yych >= 'V') goto yy922; } } else { if (yych <= 'f') { - if (yych == 'd') goto yy922; - if (yych >= 'f') goto yy923; + if (yych == 'd') goto yy919; + if (yych >= 'f') goto yy920; } else { if (yych <= 'j') { - if (yych >= 'j') goto yy924; + if (yych >= 'j') goto yy921; } else { - if (yych == 'v') goto yy925; + if (yych == 'v') goto yy922; } } } ++p; -yy921: +yy918: { return 0; } -yy922: +yy919: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'A') goto yy926; - if (yych == 'a') goto yy926; - goto yy921; -yy923: + if (yych == 'A') goto yy923; + if (yych == 'a') goto yy923; + goto yy918; +yy920: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'I') goto yy928; - if (yych == 'i') goto yy928; - goto yy921; -yy924: + if (yych == 'I') goto yy925; + if (yych == 'i') goto yy925; + goto yy918; +yy921: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'A') goto yy929; - if (yych == 'a') goto yy929; - goto yy921; -yy925: + if (yych == 'A') goto yy926; + if (yych == 'a') goto yy926; + goto yy918; +yy922: yyaccept = 0; yych = *(marker = ++p); - if (yych == 'B') goto yy930; - if (yych == 'b') goto yy930; - goto yy921; -yy926: + if (yych == 'B') goto yy927; + if (yych == 'b') goto yy927; + goto yy918; +yy923: yych = *++p; - if (yych == 'T') goto yy931; - if (yych == 't') goto yy931; -yy927: + if (yych == 'T') goto yy928; + if (yych == 't') goto yy928; +yy924: p = marker; if (yyaccept == 0) { - goto yy921; + goto yy918; } else { - goto yy939; + goto yy936; } +yy925: + yych = *++p; + if (yych == 'L') goto yy929; + if (yych == 'l') goto yy929; + goto yy924; +yy926: + yych = *++p; + if (yych == 'V') goto yy930; + if (yych == 'v') goto yy930; + goto yy924; +yy927: + yych = *++p; + if (yych == 'S') goto yy931; + if (yych == 's') goto yy931; + goto yy924; yy928: yych = *++p; - if (yych == 'L') goto yy932; - if (yych == 'l') goto yy932; - goto yy927; + if (yych == 'A') goto yy932; + if (yych == 'a') goto yy932; + goto yy924; yy929: yych = *++p; - if (yych == 'V') goto yy933; - if (yych == 'v') goto yy933; - goto yy927; + if (yych == 'E') goto yy933; + if (yych == 'e') goto yy933; + goto yy924; yy930: yych = *++p; - if (yych == 'S') goto yy934; - if (yych == 's') goto yy934; - goto yy927; + if (yych == 'A') goto yy927; + if (yych == 'a') goto yy927; + goto yy924; yy931: yych = *++p; - if (yych == 'A') goto yy935; - if (yych == 'a') goto yy935; - goto yy927; + if (yych == 'C') goto yy934; + if (yych == 'c') goto yy934; + goto yy924; yy932: yych = *++p; - if (yych == 'E') goto yy936; - if (yych == 'e') goto yy936; - goto yy927; + if (yych == ':') goto yy935; + goto yy924; yy933: yych = *++p; - if (yych == 'A') goto yy930; - if (yych == 'a') goto yy930; - goto yy927; + if (yych == ':') goto yy937; + goto yy924; yy934: yych = *++p; - if (yych == 'C') goto yy937; - if (yych == 'c') goto yy937; - goto yy927; + if (yych == 'R') goto yy938; + if (yych == 'r') goto yy938; + goto yy924; yy935: - yych = *++p; - if (yych == ':') goto yy938; - goto yy927; + yyaccept = 1; + yych = *(marker = ++p); + if (yych == 'I') goto yy939; + if (yych == 'i') goto yy939; yy936: - yych = *++p; - if (yych == ':') goto yy940; - goto yy927; + { return (bufsize_t)(p - start); } yy937: - yych = *++p; - if (yych == 'R') goto yy941; - if (yych == 'r') goto yy941; - goto yy927; + ++p; + goto yy936; yy938: - yyaccept = 1; - yych = *(marker = ++p); - if (yych == 'I') goto yy942; - if (yych == 'i') goto yy942; + yych = *++p; + if (yych == 'I') goto yy940; + if (yych == 'i') goto yy940; + goto yy924; yy939: - { return (bufsize_t)(p - start); } + yych = *++p; + if (yych == 'M') goto yy941; + if (yych == 'm') goto yy941; + goto yy924; yy940: - ++p; - goto yy939; + yych = *++p; + if (yych == 'P') goto yy942; + if (yych == 'p') goto yy942; + goto yy924; yy941: yych = *++p; - if (yych == 'I') goto yy943; - if (yych == 'i') goto yy943; - goto yy927; + if (yych == 'A') goto yy943; + if (yych == 'a') goto yy943; + goto yy924; yy942: yych = *++p; - if (yych == 'M') goto yy944; - if (yych == 'm') goto yy944; - goto yy927; + if (yych == 'T') goto yy933; + if (yych == 't') goto yy933; + goto yy924; yy943: yych = *++p; - if (yych == 'P') goto yy945; - if (yych == 'p') goto yy945; - goto yy927; + if (yych == 'G') goto yy944; + if (yych != 'g') goto yy924; yy944: yych = *++p; - if (yych == 'A') goto yy946; - if (yych == 'a') goto yy946; - goto yy927; + if (yych == 'E') goto yy945; + if (yych != 'e') goto yy924; yy945: yych = *++p; - if (yych == 'T') goto yy936; - if (yych == 't') goto yy936; - goto yy927; -yy946: - yych = *++p; - if (yych == 'G') goto yy947; - if (yych != 'g') goto yy927; -yy947: - yych = *++p; - if (yych == 'E') goto yy948; - if (yych != 'e') goto yy927; -yy948: - yych = *++p; - if (yych != '/') goto yy927; + if (yych != '/') goto yy924; yych = *++p; if (yych <= 'W') { if (yych <= 'J') { - if (yych == 'G') goto yy950; - if (yych <= 'I') goto yy927; - goto yy951; + if (yych == 'G') goto yy947; + if (yych <= 'I') goto yy924; + goto yy948; } else { - if (yych == 'P') goto yy952; - if (yych <= 'V') goto yy927; - goto yy953; + if (yych == 'P') goto yy949; + if (yych <= 'V') goto yy924; + goto yy950; } } else { if (yych <= 'j') { - if (yych == 'g') goto yy950; - if (yych <= 'i') goto yy927; - goto yy951; + if (yych == 'g') goto yy947; + if (yych <= 'i') goto yy924; + goto yy948; } else { if (yych <= 'p') { - if (yych <= 'o') goto yy927; - goto yy952; + if (yych <= 'o') goto yy924; + goto yy949; } else { - if (yych == 'w') goto yy953; - goto yy927; + if (yych == 'w') goto yy950; + goto yy924; } } } +yy947: + yych = *++p; + if (yych == 'I') goto yy951; + if (yych == 'i') goto yy951; + goto yy924; +yy948: + yych = *++p; + if (yych == 'P') goto yy952; + if (yych == 'p') goto yy952; + goto yy924; +yy949: + yych = *++p; + if (yych == 'N') goto yy953; + if (yych == 'n') goto yy953; + goto yy924; yy950: yych = *++p; - if (yych == 'I') goto yy954; - if (yych == 'i') goto yy954; - goto yy927; + if (yych == 'E') goto yy954; + if (yych == 'e') goto yy954; + goto yy924; yy951: yych = *++p; - if (yych == 'P') goto yy955; - if (yych == 'p') goto yy955; - goto yy927; + if (yych == 'F') goto yy955; + if (yych == 'f') goto yy955; + goto yy924; yy952: yych = *++p; - if (yych == 'N') goto yy956; - if (yych == 'n') goto yy956; - goto yy927; + if (yych == 'E') goto yy953; + if (yych != 'e') goto yy924; yy953: yych = *++p; - if (yych == 'E') goto yy957; - if (yych == 'e') goto yy957; - goto yy927; + if (yych == 'G') goto yy955; + if (yych == 'g') goto yy955; + goto yy924; yy954: yych = *++p; - if (yych == 'F') goto yy958; - if (yych == 'f') goto yy958; - goto yy927; + if (yych == 'B') goto yy957; + if (yych == 'b') goto yy957; + goto yy924; yy955: - yych = *++p; - if (yych == 'E') goto yy956; - if (yych != 'e') goto yy927; -yy956: - yych = *++p; - if (yych == 'G') goto yy958; - if (yych == 'g') goto yy958; - goto yy927; -yy957: - yych = *++p; - if (yych == 'B') goto yy960; - if (yych == 'b') goto yy960; - goto yy927; -yy958: ++p; { return 0; } -yy960: +yy957: yych = *++p; - if (yych == 'P') goto yy958; - if (yych == 'p') goto yy958; - goto yy927; + if (yych == 'P') goto yy955; + if (yych == 'p') goto yy955; + goto yy924; } } @@ -10432,87 +10420,87 @@ bufsize_t _scan_footnote_definition(const unsigned char *p) 0, 0, 0, 0, 0, 0, 0, 0, }; yych = *p; - if (yych == '[') goto yy965; + if (yych == '[') goto yy962; ++p; -yy964: +yy961: { return 0; } -yy965: +yy962: yych = *(marker = ++p); - if (yych != '^') goto yy964; + if (yych != '^') goto yy961; yych = *++p; - if (yych != ']') goto yy969; -yy967: + if (yych != ']') goto yy966; +yy964: p = marker; - goto yy964; -yy968: + goto yy961; +yy965: yych = *++p; -yy969: +yy966: if (yybm[0+yych] & 64) { - goto yy968; + goto yy965; } if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= ' ') goto yy967; - if (yych <= ']') goto yy977; - goto yy967; + if (yych <= ' ') goto yy964; + if (yych <= ']') goto yy974; + goto yy964; } else { - if (yych <= 0xDF) goto yy970; - if (yych <= 0xE0) goto yy971; - goto yy972; + if (yych <= 0xDF) goto yy967; + if (yych <= 0xE0) goto yy968; + goto yy969; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy973; - if (yych <= 0xEF) goto yy972; - goto yy974; + if (yych <= 0xED) goto yy970; + if (yych <= 0xEF) goto yy969; + goto yy971; } else { - if (yych <= 0xF3) goto yy975; - if (yych <= 0xF4) goto yy976; - goto yy967; + if (yych <= 0xF3) goto yy972; + if (yych <= 0xF4) goto yy973; + goto yy964; } } +yy967: + yych = *++p; + if (yych <= 0x7F) goto yy964; + if (yych <= 0xBF) goto yy965; + goto yy964; +yy968: + yych = *++p; + if (yych <= 0x9F) goto yy964; + if (yych <= 0xBF) goto yy967; + goto yy964; +yy969: + yych = *++p; + if (yych <= 0x7F) goto yy964; + if (yych <= 0xBF) goto yy967; + goto yy964; yy970: yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy968; - goto yy967; + if (yych <= 0x7F) goto yy964; + if (yych <= 0x9F) goto yy967; + goto yy964; yy971: yych = *++p; - if (yych <= 0x9F) goto yy967; - if (yych <= 0xBF) goto yy970; - goto yy967; + if (yych <= 0x8F) goto yy964; + if (yych <= 0xBF) goto yy969; + goto yy964; yy972: yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy970; - goto yy967; + if (yych <= 0x7F) goto yy964; + if (yych <= 0xBF) goto yy969; + goto yy964; yy973: yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0x9F) goto yy970; - goto yy967; + if (yych <= 0x7F) goto yy964; + if (yych <= 0x8F) goto yy969; + goto yy964; yy974: yych = *++p; - if (yych <= 0x8F) goto yy967; - if (yych <= 0xBF) goto yy972; - goto yy967; + if (yych != ':') goto yy964; yy975: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0xBF) goto yy972; - goto yy967; -yy976: - yych = *++p; - if (yych <= 0x7F) goto yy967; - if (yych <= 0x8F) goto yy972; - goto yy967; -yy977: - yych = *++p; - if (yych != ':') goto yy967; -yy978: yych = *++p; if (yybm[0+yych] & 128) { - goto yy978; + goto yy975; } { return (bufsize_t)(p - start); } } diff --git a/ext/commonmarker/table.c b/ext/commonmarker/table.c index a5bb4406..b9bf4840 100644 --- a/ext/commonmarker/table.c +++ b/ext/commonmarker/table.c @@ -129,6 +129,7 @@ static table_row *row_from_string(cmark_syntax_extension *self, bufsize_t cell_matched = 1, pipe_matched = 1, offset; int expect_more_cells = 1; int row_end_offset = 0; + int int_overflow_abort = 0; row = (table_row *)parser->mem->calloc(1, sizeof(table_row)); row->n_columns = 0; @@ -161,6 +162,12 @@ static table_row *row_from_string(cmark_syntax_extension *self, ++cell->internal_offset; } + // make sure we never wrap row->n_columns + // offset will != len and our exit will clean up as intended + if (row->n_columns == UINT16_MAX) { + int_overflow_abort = 1; + break; + } row->n_columns += 1; row->cells = cmark_llist_append(parser->mem, row->cells, cell); } @@ -194,7 +201,7 @@ static table_row *row_from_string(cmark_syntax_extension *self, } } - if (offset != len || row->n_columns == 0) { + if (offset != len || row->n_columns == 0 || int_overflow_abort) { free_table_row(parser->mem, row); row = NULL; } @@ -241,6 +248,11 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, marker_row = row_from_string(self, parser, input + cmark_parser_get_first_nonspace(parser), len - cmark_parser_get_first_nonspace(parser)); + // assert may be optimized out, don't rely on it for security boundaries + if (!marker_row) { + return parent_container; + } + assert(marker_row); cmark_arena_push(); @@ -264,6 +276,12 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, len - cmark_parser_get_first_nonspace(parser)); header_row = row_from_string(self, parser, (unsigned char *)parent_string, (int)strlen(parent_string)); + // row_from_string can return NULL, add additional check to ensure n_columns match + if (!marker_row || !header_row || header_row->n_columns != marker_row->n_columns) { + free_table_row(parser->mem, marker_row); + free_table_row(parser->mem, header_row); + return parent_container; + } } if (!cmark_node_set_type(parent_container, CMARK_NODE_TABLE)) { @@ -281,8 +299,10 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, parent_container->as.opaque = parser->mem->calloc(1, sizeof(node_table)); set_n_table_columns(parent_container, header_row->n_columns); + // allocate alignments based on marker_row->n_columns + // since we populate the alignments array based on marker_row->cells uint8_t *alignments = - (uint8_t *)parser->mem->calloc(header_row->n_columns, sizeof(uint8_t)); + (uint8_t *)parser->mem->calloc(marker_row->n_columns, sizeof(uint8_t)); cmark_llist *it = marker_row->cells; for (i = 0; it; it = it->next, ++i) { node_cell *node = (node_cell *)it->data; @@ -351,6 +371,12 @@ static cmark_node *try_opening_table_row(cmark_syntax_extension *self, row = row_from_string(self, parser, input + cmark_parser_get_first_nonspace(parser), len - cmark_parser_get_first_nonspace(parser)); + if (!row) { + // clean up the dangling node + cmark_node_free(table_row_block); + return NULL; + } + { cmark_llist *tmp; int i, table_columns = get_n_table_columns(parent_container); From 777fd3054be0e0ba18f2fda18ccc7eeeee82db92 Mon Sep 17 00:00:00 2001 From: Bas Alberts <anticomputer@github.com> Date: Thu, 15 Sep 2022 09:48:28 -0400 Subject: [PATCH 10/20] Update cmark-upstream to https://github.com/github/cmark-gfm/commit/9d57d8a23142b316282bdfc954cb0ecda40a8655 --- ext/commonmarker/cmark-gfm_version.h | 4 ++-- ext/commonmarker/cmark-upstream | 2 +- ext/commonmarker/inlines.c | 33 ++++++++++++++++++++++++---- 3 files changed, 32 insertions(+), 7 deletions(-) diff --git a/ext/commonmarker/cmark-gfm_version.h b/ext/commonmarker/cmark-gfm_version.h index f487687d..e2bbfbbb 100644 --- a/ext/commonmarker/cmark-gfm_version.h +++ b/ext/commonmarker/cmark-gfm_version.h @@ -1,7 +1,7 @@ #ifndef CMARK_GFM_VERSION_H #define CMARK_GFM_VERSION_H -#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 5) -#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.5" +#define CMARK_GFM_VERSION ((0 << 24) | (29 << 16) | (0 << 8) | 6) +#define CMARK_GFM_VERSION_STRING "0.29.0.gfm.6" #endif diff --git a/ext/commonmarker/cmark-upstream b/ext/commonmarker/cmark-upstream index 0578e1e4..9d57d8a2 160000 --- a/ext/commonmarker/cmark-upstream +++ b/ext/commonmarker/cmark-upstream @@ -1 +1 @@ -Subproject commit 0578e1e4fedde487a3c763139e80d445b40ebd6d +Subproject commit 9d57d8a23142b316282bdfc954cb0ecda40a8655 diff --git a/ext/commonmarker/inlines.c b/ext/commonmarker/inlines.c index 4a118a63..3cd3bc3d 100644 --- a/ext/commonmarker/inlines.c +++ b/ext/commonmarker/inlines.c @@ -41,6 +41,8 @@ typedef struct bracket { bool image; bool active; bool bracket_after; + bool in_bracket_image0; + bool in_bracket_image1; } bracket; typedef struct subject{ @@ -516,6 +518,8 @@ static void push_bracket(subject *subj, bool image, cmark_node *inl_text) { bracket *b = (bracket *)subj->mem->calloc(1, sizeof(bracket)); if (subj->last_bracket != NULL) { subj->last_bracket->bracket_after = true; + b->in_bracket_image0 = subj->last_bracket->in_bracket_image0; + b->in_bracket_image1 = subj->last_bracket->in_bracket_image1; } b->image = image; b->active = true; @@ -524,6 +528,11 @@ static void push_bracket(subject *subj, bool image, cmark_node *inl_text) { b->previous_delimiter = subj->last_delim; b->position = subj->pos; b->bracket_after = false; + if (image) { + b->in_bracket_image1 = true; + } else { + b->in_bracket_image0 = true; + } subj->last_bracket = b; } @@ -1254,6 +1263,17 @@ static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) { } opener = opener->previous; } + bool in_bracket_image1 = false; + if (opener) { + in_bracket_image1 = opener->in_bracket_image1; + } + bracket *opener2 = subj->last_bracket; + while (opener2 != opener) { + if (opener2->image) { + opener2->in_bracket_image1 = in_bracket_image1; + } + opener2 = opener2->previous; + } } return NULL; @@ -1662,10 +1682,15 @@ cmark_chunk *cmark_inline_parser_get_chunk(cmark_inline_parser *parser) { } int cmark_inline_parser_in_bracket(cmark_inline_parser *parser, int image) { - for (bracket *b = parser->last_bracket; b; b = b->previous) - if (b->active && b->image == (image != 0)) - return 1; - return 0; + bracket *b = parser->last_bracket; + if (!b) { + return 0; + } + if (image != 0) { + return b->in_bracket_image1; + } else { + return b->in_bracket_image0; + } } void cmark_node_unput(cmark_node *node, int n) { From ac916346314aef3015a713f92f7b46a8c34e98ed Mon Sep 17 00:00:00 2001 From: Phill MV <phillmv@github.com> Date: Wed, 21 Sep 2022 11:21:49 -0400 Subject: [PATCH 11/20] :gem: release 0.23.6 --- lib/commonmarker/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/commonmarker/version.rb b/lib/commonmarker/version.rb index 7b7fb291..1b3ab6cc 100644 --- a/lib/commonmarker/version.rb +++ b/lib/commonmarker/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module CommonMarker - VERSION = "0.23.5" + VERSION = "0.23.6" end From 2196ef7b484742f87c8d2fac7981881dbf2f735c Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" <gjtorikian@users.noreply.github.com> Date: Thu, 10 Nov 2022 19:25:33 -0300 Subject: [PATCH 12/20] Attempt Tag and Release workflow for old C gem --- .github/workflows/tag_and_release.yml | 85 +++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 .github/workflows/tag_and_release.yml diff --git a/.github/workflows/tag_and_release.yml b/.github/workflows/tag_and_release.yml new file mode 100644 index 00000000..3567c8c1 --- /dev/null +++ b/.github/workflows/tag_and_release.yml @@ -0,0 +1,85 @@ +name: Tag and Release + +on: + push: + branches: + - c-api-stable + paths: + - "lib/commonmarker/version.rb" + +jobs: + c_gem: + name: Compile C gem + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.1 + bundler-cache: true + + - name: Compile gem + run: bundle exec rake compile + + - name: Build gem + run: bundle exec rake build + + - name: Display structure of built gems + run: ls -R + working-directory: pkg/ + + - name: Publish to RubyGems + working-directory: pkg/ + env: + GEM_HOST_API_KEY: ${{secrets.RUBYGEMS_API_BOT_KEY}} + run: | + mkdir -p $HOME/.gem + touch $HOME/.gem/credentials + chmod 0600 $HOME/.gem/credentials + printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials + for i in *.gem; do + if [ -f "$i" ] + then + gem push "$i" || true + fi + done + + # release: + # needs: ["c_gem"] + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v3 + + # - name: Set up Ruby 3.1 + # uses: ruby/setup-ruby@v1 + # with: + # rubygems: latest + # ruby-version: 3.1 + # bundler-cache: true + + # - name: Configure Git + # run: | + # git config --local user.email "actions@github.com" + # git config --local user.name "Actions Auto Build" + + # - name: Get current version + # id: version-label + # run: | + # VERSION=$(grep VERSION lib/commonmarker/version.rb | head -n 1 | cut -d'"' -f2) + # echo "version=${VERSION}" >> $GITHUB_OUTPUT + + # - name: Create tag + # run: | + # git tag -a v${{ steps.version-label.outputs.version }} -m "Release v${{ steps.version-label.outputs.version }}" + # git push origin --tags + + # - name: Publish release + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # run: | + # gh release create v${{ steps.version-label.outputs.version }} --generate-notes From d8a43bc73a6ff5c15cd12ce7dcf49902ee8031ec Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" <gjtorikian@users.noreply.github.com> Date: Mon, 14 Nov 2022 10:19:11 -0300 Subject: [PATCH 13/20] Allow for manual dispatch --- .github/workflows/tag_and_release.yml | 63 ++++++++++++++------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/.github/workflows/tag_and_release.yml b/.github/workflows/tag_and_release.yml index 3567c8c1..0f2e4a26 100644 --- a/.github/workflows/tag_and_release.yml +++ b/.github/workflows/tag_and_release.yml @@ -1,6 +1,7 @@ name: Tag and Release on: + workflow_dispatch: push: branches: - c-api-stable @@ -47,39 +48,39 @@ jobs: fi done - # release: - # needs: ["c_gem"] - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # runs-on: ubuntu-latest - # steps: - # - uses: actions/checkout@v3 + release: + needs: ["c_gem"] + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 - # - name: Set up Ruby 3.1 - # uses: ruby/setup-ruby@v1 - # with: - # rubygems: latest - # ruby-version: 3.1 - # bundler-cache: true + - name: Set up Ruby 3.1 + uses: ruby/setup-ruby@v1 + with: + rubygems: latest + ruby-version: 3.1 + bundler-cache: true - # - name: Configure Git - # run: | - # git config --local user.email "actions@github.com" - # git config --local user.name "Actions Auto Build" + - name: Configure Git + run: | + git config --local user.email "actions@github.com" + git config --local user.name "Actions Auto Build" - # - name: Get current version - # id: version-label - # run: | - # VERSION=$(grep VERSION lib/commonmarker/version.rb | head -n 1 | cut -d'"' -f2) - # echo "version=${VERSION}" >> $GITHUB_OUTPUT + - name: Get current version + id: version-label + run: | + VERSION=$(grep VERSION lib/commonmarker/version.rb | head -n 1 | cut -d'"' -f2) + echo "version=${VERSION}" >> $GITHUB_OUTPUT - # - name: Create tag - # run: | - # git tag -a v${{ steps.version-label.outputs.version }} -m "Release v${{ steps.version-label.outputs.version }}" - # git push origin --tags + - name: Create tag + run: | + git tag -a v${{ steps.version-label.outputs.version }} -m "Release v${{ steps.version-label.outputs.version }}" + git push origin --tags - # - name: Publish release - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # run: | - # gh release create v${{ steps.version-label.outputs.version }} --generate-notes + - name: Publish release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + gh release create v${{ steps.version-label.outputs.version }} --generate-notes From 9a24e6d2fe3a1d384e29702c1a223a4fea5bdc87 Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" <gjtorikian@users.noreply.github.com> Date: Mon, 14 Nov 2022 10:19:36 -0300 Subject: [PATCH 14/20] Test fake version --- lib/commonmarker/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/commonmarker/version.rb b/lib/commonmarker/version.rb index 1b3ab6cc..0f471c1b 100644 --- a/lib/commonmarker/version.rb +++ b/lib/commonmarker/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module CommonMarker - VERSION = "0.23.6" + VERSION = "0.23.7.pre1" end From 5b807a115d02dc7456467dbed871a3e91733ca7b Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" <gjtorikian@users.noreply.github.com> Date: Mon, 14 Nov 2022 10:21:58 -0300 Subject: [PATCH 15/20] ease up --- .github/workflows/lint.yml | 4 ---- .github/workflows/test.yml | 6 +----- 2 files changed, 1 insertion(+), 9 deletions(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 0c572ab1..7b945f9c 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -2,10 +2,6 @@ name: Linting on: pull_request: - types: [opened, synchronize, reopened] - push: - branches: - - main jobs: test: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5a5c1bfb..bf364305 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -2,10 +2,6 @@ name: CI on: pull_request: - types: [opened, synchronize, reopened] - push: - branches: - - production jobs: test: @@ -16,7 +12,7 @@ jobs: - ubuntu-latest - macos-latest - windows-latest - ruby-version: [3.1, 3.0.0, 2.7.2, 2.6.6] + ruby-version: [3.1] runs-on: ${{ matrix.os }} From bbf631b413cf012490ccd63d423e69dfa855369b Mon Sep 17 00:00:00 2001 From: "Garen J. Torikian" <gjtorikian@users.noreply.github.com> Date: Mon, 14 Nov 2022 10:26:25 -0300 Subject: [PATCH 16/20] lint --- lib/commonmarker.rb | 52 +++++++++++++++++--------------- lib/commonmarker/config.rb | 28 +++++++++-------- lib/commonmarker/renderer.rb | 2 +- test/test_basics.rb | 1 + test/test_commands.rb | 8 +++++ test/test_commonmark.rb | 2 +- test/test_doc.rb | 4 +++ test/test_encoding.rb | 3 ++ test/test_extensions.rb | 6 ++++ test/test_gc.rb | 1 + test/test_linebreaks.rb | 2 ++ test/test_maliciousness.rb | 1 + test/test_node.rb | 8 +++++ test/test_pathological_inputs.rb | 1 + test/test_renderer.rb | 3 ++ test/test_smartpunct.rb | 1 + test/test_spec.rb | 3 ++ test/test_tasklists.rb | 3 ++ 18 files changed, 89 insertions(+), 40 deletions(-) diff --git a/lib/commonmarker.rb b/lib/commonmarker.rb index edfc0e57..7d0f0cb2 100755 --- a/lib/commonmarker.rb +++ b/lib/commonmarker.rb @@ -12,32 +12,34 @@ require "awesome_print" rescue LoadError; end # rubocop:disable Lint/SuppressedException module CommonMarker - # Public: Parses a Markdown string into an HTML string. - # - # text - A {String} of text - # option - Either a {Symbol} or {Array of Symbol}s indicating the render options - # extensions - An {Array of Symbol}s indicating the extensions to use - # - # Returns a {String} of converted HTML. - def self.render_html(text, options = :DEFAULT, extensions = []) - raise TypeError, "text must be a String; got a #{text.class}!" unless text.is_a?(String) + class << self + # Public: Parses a Markdown string into an HTML string. + # + # text - A {String} of text + # option - Either a {Symbol} or {Array of Symbol}s indicating the render options + # extensions - An {Array of Symbol}s indicating the extensions to use + # + # Returns a {String} of converted HTML. + def render_html(text, options = :DEFAULT, extensions = []) + raise TypeError, "text must be a String; got a #{text.class}!" unless text.is_a?(String) - opts = Config.process_options(options, :render) - Node.markdown_to_html(text.encode("UTF-8"), opts, extensions) - end + opts = Config.process_options(options, :render) + Node.markdown_to_html(text.encode("UTF-8"), opts, extensions) + end - # Public: Parses a Markdown string into a `document` node. - # - # string - {String} to be parsed - # option - A {Symbol} or {Array of Symbol}s indicating the parse options - # extensions - An {Array of Symbol}s indicating the extensions to use - # - # Returns the `document` node. - def self.render_doc(text, options = :DEFAULT, extensions = []) - raise TypeError, "text must be a String; got a #{text.class}!" unless text.is_a?(String) + # Public: Parses a Markdown string into a `document` node. + # + # string - {String} to be parsed + # option - A {Symbol} or {Array of Symbol}s indicating the parse options + # extensions - An {Array of Symbol}s indicating the extensions to use + # + # Returns the `document` node. + def render_doc(text, options = :DEFAULT, extensions = []) + raise TypeError, "text must be a String; got a #{text.class}!" unless text.is_a?(String) - opts = Config.process_options(options, :parse) - text = text.encode("UTF-8") - Node.parse_document(text, text.bytesize, opts, extensions) - end + opts = Config.process_options(options, :parse) + text = text.encode("UTF-8") + Node.parse_document(text, text.bytesize, opts, extensions) + end +end end diff --git a/lib/commonmarker/config.rb b/lib/commonmarker/config.rb index 59f02790..db09d8ac 100644 --- a/lib/commonmarker/config.rb +++ b/lib/commonmarker/config.rb @@ -33,20 +33,22 @@ module Config format: [:html, :xml, :commonmark, :plaintext].freeze, }.freeze - def self.process_options(option, type) - case option - when Symbol - OPTS.fetch(type).fetch(option) - when Array - raise TypeError if option.none? + class << self + def process_options(option, type) + case option + when Symbol + OPTS.fetch(type).fetch(option) + when Array + raise TypeError if option.none? - # neckbearding around. the map will both check the opts and then bitwise-OR it - OPTS.fetch(type).fetch_values(*option).inject(0, :|) - else - raise TypeError, "option type must be a valid symbol or array of symbols within the #{name}::OPTS[:#{type}] context" + # neckbearding around. the map will both check the opts and then bitwise-OR it + OPTS.fetch(type).fetch_values(*option).inject(0, :|) + else + raise TypeError, "option type must be a valid symbol or array of symbols within the #{name}::OPTS[:#{type}] context" + end + rescue KeyError => e + raise TypeError, "option ':#{e.key}' does not exist for #{name}::OPTS[:#{type}]" end - rescue KeyError => e - raise TypeError, "option ':#{e.key}' does not exist for #{name}::OPTS[:#{type}]" - end + end end end diff --git a/lib/commonmarker/renderer.rb b/lib/commonmarker/renderer.rb index 3be353e6..049e4c7f 100644 --- a/lib/commonmarker/renderer.rb +++ b/lib/commonmarker/renderer.rb @@ -113,7 +113,7 @@ def tagfilter(str) ) (?=\s|>|/>) }xi, - '&lt;\1' + '&lt;\1', ) else str diff --git a/test/test_basics.rb b/test/test_basics.rb index 70bbe76b..d6958a2c 100644 --- a/test/test_basics.rb +++ b/test/test_basics.rb @@ -13,6 +13,7 @@ def test_to_html def test_markdown_to_html html = CommonMarker.render_html("Hi *there*") + assert_equal("<p>Hi <em>there</em></p>\n", html) end diff --git a/test/test_commands.rb b/test/test_commands.rb index f26fe89f..9dc31ff2 100644 --- a/test/test_commands.rb +++ b/test/test_commands.rb @@ -5,11 +5,13 @@ class TestCommands < Minitest::Test def test_basic out = make_bin("strong.md") + assert_equal("<p>I am <strong>strong</strong></p>", out) end def test_does_not_have_extensions out = make_bin("table.md") + assert_includes(out, "| a") refute_includes(out, "<p><del>hi</del>") refute_includes(out, "<table> <tr> <th> a </th> <td> c </td>") @@ -17,6 +19,7 @@ def test_does_not_have_extensions def test_understands_extensions out = make_bin("table.md", "--extension=table") + refute_includes(out, "| a") refute_includes(out, "<p><del>hi</del>") ["<table>", "<tr>", "<th>", "a", "</th>", "<td>", "c", "</td>"].each { |html| assert_includes(out, html) } @@ -24,6 +27,7 @@ def test_understands_extensions def test_understands_multiple_extensions out = make_bin("table.md", "--extension=table,strikethrough") + refute_includes(out, "| a") assert_includes(out, "<p><del>hi</del>") ["<table>", "<tr>", "<th>", "a", "</th>", "<td>", "c", "</td>"].each { |html| assert_includes(out, html) } @@ -31,6 +35,7 @@ def test_understands_multiple_extensions def test_understands_html_format_with_renderer_and_extensions out = make_bin("table.md", "--to=html --extension=table,strikethrough --html-renderer") + refute_includes(out, "| a") assert_includes(out, "<p><del>hi</del>") ["<table>", "<tr>", "<th>", "a", "</th>", "<td>", "c", "</td>"].each { |html| assert_includes(out, html) } @@ -38,17 +43,20 @@ def test_understands_html_format_with_renderer_and_extensions def test_understands_xml_format out = make_bin("strong.md", "--to=xml") + assert_includes(out, '<?xml version="1.0" encoding="UTF-8"?>') assert_includes(out, '<text xml:space="preserve">strong</text>') end def test_understands_commonmark_format out = make_bin("strong.md", "--to=commonmark") + assert_equal("I am **strong**", out) end def test_understands_plaintext_format out = make_bin("strong.md", "--to=plaintext") + assert_equal("I am strong", out) end diff --git a/test/test_commonmark.rb b/test/test_commonmark.rb index 0c8d00ca..e4861359 100644 --- a/test/test_commonmark.rb +++ b/test/test_commonmark.rb @@ -31,7 +31,7 @@ def test_to_commonmark assert_equal(\ render_doc(@markdown).to_html.squeeze(" ").gsub(HTML_COMMENT, ""), - render_doc(compare).to_html.squeeze(" ").gsub(HTML_COMMENT, "") + render_doc(compare).to_html.squeeze(" ").gsub(HTML_COMMENT, ""), ) end end diff --git a/test/test_doc.rb b/test/test_doc.rb index 9b77a638..c77cb980 100644 --- a/test/test_doc.rb +++ b/test/test_doc.rb @@ -34,24 +34,28 @@ def test_get_next def test_insert_before paragraph = Node.new(:paragraph) + assert(@first_child.insert_before(paragraph)) assert_match("<p></p>\n<p>Hi <em>there</em>.", @doc.to_html) end def test_insert_after paragraph = Node.new(:paragraph) + assert(@first_child.insert_after(paragraph)) assert_match("<strong>many nodes</strong>!</p>\n<p></p>\n", @doc.to_html) end def test_prepend_child code = Node.new(:code) + assert(@first_child.prepend_child(code)) assert_match("<p><code></code>Hi <em>there</em>.", @doc.to_html) end def test_append_child strong = Node.new(:strong) + assert(@first_child.append_child(strong)) assert_match("!<strong></strong></p>\n", @doc.to_html) end diff --git a/test/test_encoding.rb b/test/test_encoding.rb index 35d5c33c..50e08fa9 100644 --- a/test/test_encoding.rb +++ b/test/test_encoding.rb @@ -8,15 +8,18 @@ def test_encoding contents = fixtures_file("curly.md") doc = CommonMarker.render_doc(contents, :SMART) render = doc.to_html + assert_equal("<p>This curly quote “makes commonmarker throw an exception”.</p>", render.rstrip) render = doc.to_xml + assert_includes(render, '<text xml:space="preserve">This curly quote “makes commonmarker throw an exception”.</text>') end def test_string_content_is_utf8 doc = CommonMarker.render_doc("Hi *there*") text = doc.first_child.last_child.first_child + assert_equal("there", text.string_content) assert_equal("UTF-8", text.string_content.encoding.name) end diff --git a/test/test_extensions.rb b/test/test_extensions.rb index ced40e34..4faf69d7 100644 --- a/test/test_extensions.rb +++ b/test/test_extensions.rb @@ -17,6 +17,7 @@ def test_uses_specified_extensions CommonMarker.render_html(@markdown, :DEFAULT, [:table]).tap do |out| refute_includes(out, "| a") ["<table>", "<tr>", "<th>", "a", "</th>", "<td>", "c", "</td>", "<strong>x</strong>"].each { |html| assert_includes(out, html) } + assert_includes(out, "~~hi~~") end @@ -27,9 +28,11 @@ def test_uses_specified_extensions end doc = CommonMarker.render_doc("~a~ ~~b~~ ~~~c~~~", :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) + assert_equal("<p>~a~ <del>b</del> ~~~c~~~</p>\n", doc.to_html) html = CommonMarker.render_html("~a~ ~~b~~ ~~~c~~~", :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) + assert_equal("<p>~a~ <del>b</del> ~~~c~~~</p>\n", html) CommonMarker.render_html(@markdown, :DEFAULT, [:table, :strikethrough]).tap do |out| @@ -45,16 +48,19 @@ def test_extensions_with_renderers doc.to_html.tap do |out| refute_includes(out, "| a") ["<table>", "<tr>", "<th>", "a", "</th>", "<td>", "c", "</td>", "<strong>x</strong>"].each { |html| assert_includes(out, html) } + assert_includes(out, "~~hi~~") end HtmlRenderer.new.render(doc).tap do |out| refute_includes(out, "| a") ["<table>", "<tr>", "<th>", "a", "</th>", "<td>", "c", "</td>", "<strong>x</strong>"].each { |html| assert_includes(out, html) } + assert_includes(out, "~~hi~~") end doc = CommonMarker.render_doc("~a~ ~~b~~ ~~~c~~~", :STRIKETHROUGH_DOUBLE_TILDE, [:strikethrough]) + assert_equal("<p>~a~ <del>b</del> ~~~c~~~</p>\n", HtmlRenderer.new.render(doc)) end diff --git a/test/test_gc.rb b/test/test_gc.rb index 05456e45..24e78279 100644 --- a/test/test_gc.rb +++ b/test/test_gc.rb @@ -24,6 +24,7 @@ def test_drop_child_reference GC.start # Test that the cached child object is still valid. text = doc.first_child.last_child.first_child + assert_equal("there", text.string_content) end diff --git a/test/test_linebreaks.rb b/test/test_linebreaks.rb index f81b049c..1fa885e5 100644 --- a/test/test_linebreaks.rb +++ b/test/test_linebreaks.rb @@ -5,11 +5,13 @@ class TestLinebreaks < Minitest::Test def test_hardbreak_no_spaces doc = CommonMarker.render_doc("foo\nbaz") + assert_equal("<p>foo<br />\nbaz</p>\n", doc.to_html(:HARDBREAKS)) end def test_hardbreak_with_spaces doc = CommonMarker.render_doc("foo \nbaz") + assert_equal("<p>foo<br />\nbaz</p>\n", doc.to_html(:HARDBREAKS)) end end diff --git a/test/test_maliciousness.rb b/test/test_maliciousness.rb index 454cf50f..dac58fb6 100644 --- a/test/test_maliciousness.rb +++ b/test/test_maliciousness.rb @@ -74,6 +74,7 @@ def test_rendering_with_bad_type err = assert_raises(TypeError) do CommonMarker.render_doc("foo \n baz", :safe) end + assert_equal("option ':safe' does not exist for CommonMarker::Config::OPTS[:parse]", err.message) assert_raises(TypeError) do diff --git a/test/test_node.rb b/test/test_node.rb index b21c4269..48f29994 100644 --- a/test/test_node.rb +++ b/test/test_node.rb @@ -12,6 +12,7 @@ def test_walk @doc.walk do |node| nodes << node.type end + assert_equal([:document, :paragraph, :text, :emph, :text, :text], nodes) end @@ -20,6 +21,7 @@ def test_each @doc.first_child.each do |node| nodes << node.type end + assert_equal([:text, :emph, :text], nodes) end @@ -30,18 +32,21 @@ def test_deprecated_each_child nodes << node.type end end + assert_equal([:text, :emph, :text], nodes) assert_match(/`each_child` is deprecated/, err) end def test_select nodes = @doc.first_child.select { |node| node.type == :text } + assert_equal(CommonMarker::Node, nodes.first.class) assert_equal([:text, :text], nodes.map(&:type)) end def test_map nodes = @doc.first_child.map(&:type) + assert_equal([:text, :emph, :text], nodes) end @@ -58,6 +63,7 @@ def test_to_html def test_html_renderer renderer = HtmlRenderer.new result = renderer.render(@doc) + assert_equal("<p>Hi <em>there</em>, I am mostly text!</p>\n", result) end @@ -66,6 +72,7 @@ def test_walk_and_set_string_content node.string_content = "world" if node.type == :text && node.string_content == "there" end result = HtmlRenderer.new.render(@doc) + assert_equal("<p>Hi <em>world</em>, I am mostly text!</p>\n", result) end @@ -76,6 +83,7 @@ def test_walk_and_delete_node node.delete end end + assert_equal("<p>Hi there, I am mostly text!</p>\n", @doc.to_html) end diff --git a/test/test_pathological_inputs.rb b/test/test_pathological_inputs.rb index eb8fca3e..427fc64d 100644 --- a/test/test_pathological_inputs.rb +++ b/test/test_pathological_inputs.rb @@ -47,6 +47,7 @@ def markdown(str) pathological.each_pair do |name, description| define_method("test_#{name}") do input, = description + assert markdown(input) end end diff --git a/test/test_renderer.rb b/test/test_renderer.rb index d3209a29..a13ca975 100644 --- a/test/test_renderer.rb +++ b/test/test_renderer.rb @@ -10,6 +10,7 @@ def setup def test_html_renderer renderer = HtmlRenderer.new result = renderer.render(@doc) + assert_equal("<p>Hi <em>there</em></p>\n", result) end @@ -25,6 +26,7 @@ def test_multiple_tables DOC doc = CommonMarker.render_doc(content, :DEFAULT, [:autolink, :table, :tagfilter]) results = CommonMarker::HtmlRenderer.new.render(doc) + assert_equal(2, results.scan(/<tbody>/).size) end @@ -41,6 +43,7 @@ def text(node) end renderer = my_renderer.new + assert_equal(Encoding::UTF_8, renderer.render(@doc).encoding) assert_equal(renderer.input_encoding, renderer.output_encoding) end diff --git a/test/test_smartpunct.rb b/test/test_smartpunct.rb index c2e308ee..f9ee8568 100644 --- a/test/test_smartpunct.rb +++ b/test/test_smartpunct.rb @@ -22,6 +22,7 @@ def test_smart_hardbreak_no_spaces_render_doc markdown = "\"foo\"\nbaz" result = "<p>“foo”<br />\nbaz</p>\n" doc = CommonMarker.render_doc(markdown, :SMART) + assert_equal(result, doc.to_html([:HARDBREAKS])) end end diff --git a/test/test_spec.rb b/test/test_spec.rb index 9ef865aa..a7c059a6 100644 --- a/test/test_spec.rb +++ b/test/test_spec.rb @@ -13,17 +13,20 @@ class TestSpec < Minitest::Test define_method("test_to_html_example_#{testcase[:example]}") do actual = doc.to_html(:UNSAFE, testcase[:extensions]).rstrip + assert_equal testcase[:html], actual, testcase[:markdown] end define_method("test_html_renderer_example_#{testcase[:example]}") do actual = HtmlRenderer.new(options: :UNSAFE, extensions: testcase[:extensions]).render(doc).rstrip + assert_equal testcase[:html], actual, testcase[:markdown] end define_method("test_sourcepos_example_#{testcase[:example]}") do lhs = doc.to_html([:UNSAFE, :SOURCEPOS], testcase[:extensions]).rstrip rhs = HtmlRenderer.new(options: [:UNSAFE, :SOURCEPOS], extensions: testcase[:extensions]).render(doc).rstrip + assert_equal lhs, rhs, testcase[:markdown] end end diff --git a/test/test_tasklists.rb b/test/test_tasklists.rb index a135376a..b59db5bc 100644 --- a/test/test_tasklists.rb +++ b/test/test_tasklists.rb @@ -27,6 +27,7 @@ def test_html_renderer def test_tasklist_state list = @doc.first_child + assert_equal("checked", list.first_child.tasklist_state) assert_predicate(list.first_child, :tasklist_item_checked?) assert_equal("unchecked", list.first_child.next.tasklist_state) @@ -36,8 +37,10 @@ def test_tasklist_state def test_set_tasklist_state list = @doc.first_child list.first_child.tasklist_item_checked = false + refute_predicate(list.first_child, :tasklist_item_checked?) list.first_child.next.tasklist_item_checked = true + assert_predicate(list.first_child.next, :tasklist_item_checked?) end end From 9007c3798f2f6fcff80e49a7ced317887f259326 Mon Sep 17 00:00:00 2001 From: Phill MV <phillmv@github.com> Date: Tue, 24 Jan 2023 10:30:22 -0500 Subject: [PATCH 17/20] Update cmark-upstream to https://github.com/github/cmark-gfm/commit/57d5e093ef801f54bf4174c900f7a863599bb47d --- ext/commonmarker/arena.c | 15 +- ext/commonmarker/autolink.c | 357 +- ext/commonmarker/blocks.c | 14 + ext/commonmarker/cmark-gfm-extension_api.h | 1 + ext/commonmarker/cmark-upstream | 2 +- ext/commonmarker/inlines.c | 188 +- ext/commonmarker/map.c | 15 +- ext/commonmarker/map.h | 7 +- ext/commonmarker/node.c | 34 + ext/commonmarker/node.h | 32 +- ext/commonmarker/parser.h | 1 + ext/commonmarker/references.c | 1 + ext/commonmarker/scanners.c | 24284 +++++++++++-------- ext/commonmarker/scanners.h | 8 + ext/commonmarker/strikethrough.c | 2 +- ext/commonmarker/table.c | 94 +- 16 files changed, 14418 insertions(+), 10637 deletions(-) diff --git a/ext/commonmarker/arena.c b/ext/commonmarker/arena.c index 83a15255..6373c0d0 100644 --- a/ext/commonmarker/arena.c +++ b/ext/commonmarker/arena.c @@ -68,15 +68,16 @@ static void *arena_calloc(size_t nmem, size_t size) { const size_t align = sizeof(size_t) - 1; sz = (sz + align) & ~align; + struct arena_chunk *chunk; if (sz > A->sz) { - A->prev = alloc_arena_chunk(sz, A->prev); - return (uint8_t *) A->prev->ptr + sizeof(size_t); + A->prev = chunk = alloc_arena_chunk(sz, A->prev); + } else if (sz > A->sz - A->used) { + A = chunk = alloc_arena_chunk(A->sz + A->sz / 2, A); + } else { + chunk = A; } - if (sz > A->sz - A->used) { - A = alloc_arena_chunk(A->sz + A->sz / 2, A); - } - void *ptr = (uint8_t *) A->ptr + A->used; - A->used += sz; + void *ptr = (uint8_t *) chunk->ptr + chunk->used; + chunk->used += sz; *((size_t *) ptr) = sz - sizeof(size_t); return (uint8_t *) ptr + sizeof(size_t); } diff --git a/ext/commonmarker/autolink.c b/ext/commonmarker/autolink.c index 838374c2..f3b75a7e 100644 --- a/ext/commonmarker/autolink.c +++ b/ext/commonmarker/autolink.c @@ -2,6 +2,7 @@ #include <parser.h> #include <string.h> #include <utf8.h> +#include <stddef.h> #if defined(_WIN32) #define strncasecmp _strnicmp @@ -35,44 +36,25 @@ static int sd_autolink_issafe(const uint8_t *link, size_t link_len) { } static size_t autolink_delim(uint8_t *data, size_t link_end) { - uint8_t cclose, copen; size_t i; + size_t closing = 0; + size_t opening = 0; - for (i = 0; i < link_end; ++i) - if (data[i] == '<') { + for (i = 0; i < link_end; ++i) { + const uint8_t c = data[i]; + if (c == '<') { link_end = i; break; + } else if (c == '(') { + opening++; + } else if (c == ')') { + closing++; } + } while (link_end > 0) { - cclose = data[link_end - 1]; - - switch (cclose) { + switch (data[link_end - 1]) { case ')': - copen = '('; - break; - default: - copen = 0; - } - - if (strchr("?!.,:*_~'\"", data[link_end - 1]) != NULL) - link_end--; - - else if (data[link_end - 1] == ';') { - size_t new_end = link_end - 2; - - while (new_end > 0 && cmark_isalpha(data[new_end])) - new_end--; - - if (new_end < link_end - 2 && data[new_end] == '&') - link_end = new_end; - else - link_end--; - } else if (copen != 0) { - size_t closing = 0; - size_t opening = 0; - i = 0; - /* Allow any number of matching brackets (as recognised in copen/cclose) * at the end of the URL. If there is a greater number of closing * brackets than opening ones, we remove one character from the end of @@ -80,34 +62,52 @@ static size_t autolink_delim(uint8_t *data, size_t link_end) { * * Examples (input text => output linked portion): * - * http://www.pokemon.com/Pikachu_(Electric) - * => http://www.pokemon.com/Pikachu_(Electric) + * http://www.pokemon.com/Pikachu_(Electric) + * => http://www.pokemon.com/Pikachu_(Electric) * - * http://www.pokemon.com/Pikachu_((Electric) - * => http://www.pokemon.com/Pikachu_((Electric) + * http://www.pokemon.com/Pikachu_((Electric) + * => http://www.pokemon.com/Pikachu_((Electric) * - * http://www.pokemon.com/Pikachu_(Electric)) - * => http://www.pokemon.com/Pikachu_(Electric) + * http://www.pokemon.com/Pikachu_(Electric)) + * => http://www.pokemon.com/Pikachu_(Electric) * - * http://www.pokemon.com/Pikachu_((Electric)) - * => http://www.pokemon.com/Pikachu_((Electric)) + * http://www.pokemon.com/Pikachu_((Electric)) + * => http://www.pokemon.com/Pikachu_((Electric)) */ - - while (i < link_end) { - if (data[i] == copen) - opening++; - else if (data[i] == cclose) - closing++; - - i++; + if (closing <= opening) { + return link_end; } + closing--; + link_end--; + break; + case '?': + case '!': + case '.': + case ',': + case ':': + case '*': + case '_': + case '~': + case '\'': + case '"': + link_end--; + break; + case ';': { + size_t new_end = link_end - 2; - if (closing <= opening) - break; + while (new_end > 0 && cmark_isalpha(data[new_end])) + new_end--; - link_end--; - } else + if (new_end < link_end - 2 && data[new_end] == '&') + link_end = new_end; + else + link_end--; break; + } + + default: + return link_end; + } } return link_end; @@ -116,7 +116,20 @@ static size_t autolink_delim(uint8_t *data, size_t link_end) { static size_t check_domain(uint8_t *data, size_t size, int allow_short) { size_t i, np = 0, uscore1 = 0, uscore2 = 0; + /* The purpose of this code is to reject urls that contain an underscore + * in one of the last two segments. Examples: + * + * www.xxx.yyy.zzz autolinked + * www.xxx.yyy._zzz not autolinked + * www.xxx._yyy.zzz not autolinked + * www._xxx.yyy.zzz autolinked + * + * The reason is that domain names are allowed to include underscores, + * but host names are not. See: https://stackoverflow.com/a/2183140 + */ for (i = 1; i < size - 1; i++) { + if (data[i] == '\\' && i < size - 2) + i++; if (data[i] == '_') uscore2++; else if (data[i] == '.') { @@ -127,8 +140,17 @@ static size_t check_domain(uint8_t *data, size_t size, int allow_short) { break; } - if (uscore1 > 0 || uscore2 > 0) - return 0; + if (uscore1 > 0 || uscore2 > 0) { + /* If the url is very long then accept it despite the underscores, + * to avoid quadratic behavior causing a denial of service. See: + * https://github.com/github/cmark-gfm/security/advisories/GHSA-29g3-96g3-jg6c + * Reasonable urls are unlikely to have more than 10 segments, so + * this extra condition shouldn't have any impact on normal usage. + */ + if (np <= 10) { + return 0; + } + } if (allow_short) { /* We don't need a valid domain in the strict sense (with @@ -165,7 +187,7 @@ static cmark_node *www_match(cmark_parser *parser, cmark_node *parent, if (link_end == 0) return NULL; - while (link_end < size && !cmark_isspace(data[link_end])) + while (link_end < size && !cmark_isspace(data[link_end]) && data[link_end] != '<') link_end++; link_end = autolink_delim(data, link_end); @@ -225,7 +247,7 @@ static cmark_node *url_match(cmark_parser *parser, cmark_node *parent, return 0; link_end += domain_len; - while (link_end < size && !cmark_isspace(data[link_end])) + while (link_end < size && !cmark_isspace(data[link_end]) && data[link_end] != '<') link_end++; link_end = autolink_delim(data, link_end); @@ -269,142 +291,167 @@ static cmark_node *match(cmark_syntax_extension *ext, cmark_parser *parser, // inline was finished in inlines.c. } -static bool validate_protocol(char protocol[], uint8_t *data, int rewind) { +static bool validate_protocol(char protocol[], uint8_t *data, size_t rewind, size_t max_rewind) { size_t len = strlen(protocol); + if (len > (max_rewind - rewind)) { + return false; + } + // Check that the protocol matches - for (int i = 1; i <= len; i++) { - if (data[-rewind - i] != protocol[len - i]) { - return false; - } + if (memcmp(data - rewind - len, protocol, len) != 0) { + return false; + } + + if (len == (max_rewind - rewind)) { + return true; } - char prev_char = data[-rewind - len - 1]; + char prev_char = data[-((ptrdiff_t)rewind) - len - 1]; // Make sure the character before the protocol is non-alphanumeric return !cmark_isalnum(prev_char); } -static void postprocess_text(cmark_parser *parser, cmark_node *text, int offset, int depth) { - // postprocess_text can recurse very deeply if there is a very long line of - // '@' only. Stop at a reasonable depth to ensure it cannot crash. - if (depth > 1000) return; +static void postprocess_text(cmark_parser *parser, cmark_node *text) { + size_t start = 0; + size_t offset = 0; + // `text` is going to be split into a list of nodes containing shorter segments + // of text, so we detach the memory buffer from text and use `cmark_chunk_dup` to + // create references to it. Later, `cmark_chunk_to_cstr` is used to convert + // the references into allocated buffers. The detached buffer is freed before we + // return. + cmark_chunk detached_chunk = text->as.literal; + text->as.literal = cmark_chunk_dup(&detached_chunk, 0, detached_chunk.len); + + uint8_t *data = text->as.literal.data; + size_t remaining = text->as.literal.len; + + while (true) { + size_t link_end; + uint8_t *at; + bool auto_mailto = true; + bool is_xmpp = false; + size_t rewind; + size_t max_rewind; + size_t np = 0; + + if (offset >= remaining) + break; - size_t link_end; - uint8_t *data = text->as.literal.data, - *at; - size_t size = text->as.literal.len; - bool auto_mailto = true; - bool is_xmpp = false; - int rewind, max_rewind, - nb = 0, np = 0, ns = 0; + at = (uint8_t *)memchr(data + start + offset, '@', remaining - offset); + if (!at) + break; - if (offset < 0 || (size_t)offset >= size) - return; + max_rewind = at - (data + start + offset); - data += offset; - size -= offset; +found_at: + for (rewind = 0; rewind < max_rewind; ++rewind) { + uint8_t c = data[start + offset + max_rewind - rewind - 1]; - at = (uint8_t *)memchr(data, '@', size); - if (!at) - return; + if (cmark_isalnum(c)) + continue; - max_rewind = (int)(at - data); - data += max_rewind; - size -= max_rewind; + if (strchr(".+-_", c) != NULL) + continue; - for (rewind = 0; rewind < max_rewind; ++rewind) { - uint8_t c = data[-rewind - 1]; + if (strchr(":", c) != NULL) { + if (validate_protocol("mailto:", data + start + offset + max_rewind, rewind, max_rewind)) { + auto_mailto = false; + continue; + } + + if (validate_protocol("xmpp:", data + start + offset + max_rewind, rewind, max_rewind)) { + auto_mailto = false; + is_xmpp = true; + continue; + } + } - if (cmark_isalnum(c)) - continue; + break; + } - if (strchr(".+-_", c) != NULL) + if (rewind == 0) { + offset += max_rewind + 1; continue; + } - if (strchr(":", c) != NULL) { - if (validate_protocol("mailto:", data, rewind)) { - auto_mailto = false; + assert(data[start + offset + max_rewind] == '@'); + for (link_end = 1; link_end < remaining - offset - max_rewind; ++link_end) { + uint8_t c = data[start + offset + max_rewind + link_end]; + + if (cmark_isalnum(c)) continue; - } - if (validate_protocol("xmpp:", data, rewind)) { - auto_mailto = false; - is_xmpp = true; + if (c == '@') { + // Found another '@', so go back and try again with an updated offset and max_rewind. + offset += max_rewind + 1; + max_rewind = link_end - 1; + goto found_at; + } else if (c == '.' && link_end < remaining - offset - max_rewind - 1 && + cmark_isalnum(data[start + offset + max_rewind + link_end + 1])) + np++; + else if (c == '/' && is_xmpp) continue; - } + else if (c != '-' && c != '_') + break; } - break; - } - - if (rewind == 0 || ns > 0) { - postprocess_text(parser, text, max_rewind + 1 + offset, depth + 1); - return; - } - - for (link_end = 0; link_end < size; ++link_end) { - uint8_t c = data[link_end]; - - if (cmark_isalnum(c)) - continue; - - if (c == '@') - nb++; - else if (c == '.' && link_end < size - 1 && cmark_isalnum(data[link_end + 1])) - np++; - else if (c == '/' && is_xmpp) + if (link_end < 2 || np == 0 || + (!cmark_isalpha(data[start + offset + max_rewind + link_end - 1]) && + data[start + offset + max_rewind + link_end - 1] != '.')) { + offset += max_rewind + link_end; continue; - else if (c != '-' && c != '_') - break; - } + } - if (link_end < 2 || nb != 1 || np == 0 || - (!cmark_isalpha(data[link_end - 1]) && data[link_end - 1] != '.')) { - postprocess_text(parser, text, max_rewind + 1 + offset, depth + 1); - return; - } + link_end = autolink_delim(data + start + offset + max_rewind, link_end); - link_end = autolink_delim(data, link_end); + if (link_end == 0) { + offset += max_rewind + 1; + continue; + } - if (link_end == 0) { - postprocess_text(parser, text, max_rewind + 1 + offset, depth + 1); - return; - } + cmark_node *link_node = cmark_node_new_with_mem(CMARK_NODE_LINK, parser->mem); + cmark_strbuf buf; + cmark_strbuf_init(parser->mem, &buf, 10); + if (auto_mailto) + cmark_strbuf_puts(&buf, "mailto:"); + cmark_strbuf_put(&buf, data + start + offset + max_rewind - rewind, (bufsize_t)(link_end + rewind)); + link_node->as.link.url = cmark_chunk_buf_detach(&buf); + + cmark_node *link_text = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); + cmark_chunk email = cmark_chunk_dup( + &detached_chunk, + (bufsize_t)(start + offset + max_rewind - rewind), + (bufsize_t)(link_end + rewind)); + cmark_chunk_to_cstr(parser->mem, &email); + link_text->as.literal = email; + cmark_node_append_child(link_node, link_text); - cmark_chunk_to_cstr(parser->mem, &text->as.literal); + cmark_node_insert_after(text, link_node); - cmark_node *link_node = cmark_node_new_with_mem(CMARK_NODE_LINK, parser->mem); - cmark_strbuf buf; - cmark_strbuf_init(parser->mem, &buf, 10); - if (auto_mailto) - cmark_strbuf_puts(&buf, "mailto:"); - cmark_strbuf_put(&buf, data - rewind, (bufsize_t)(link_end + rewind)); - link_node->as.link.url = cmark_chunk_buf_detach(&buf); - - cmark_node *link_text = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); - cmark_chunk email = cmark_chunk_dup( - &text->as.literal, - offset + max_rewind - rewind, - (bufsize_t)(link_end + rewind)); - cmark_chunk_to_cstr(parser->mem, &email); - link_text->as.literal = email; - cmark_node_append_child(link_node, link_text); + cmark_node *post = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); + post->as.literal = cmark_chunk_dup(&detached_chunk, + (bufsize_t)(start + offset + max_rewind + link_end), + (bufsize_t)(remaining - offset - max_rewind - link_end)); - cmark_node_insert_after(text, link_node); + cmark_node_insert_after(link_node, post); - cmark_node *post = cmark_node_new_with_mem(CMARK_NODE_TEXT, parser->mem); - post->as.literal = cmark_chunk_dup(&text->as.literal, - (bufsize_t)(offset + max_rewind + link_end), - (bufsize_t)(size - link_end)); - cmark_chunk_to_cstr(parser->mem, &post->as.literal); + text->as.literal = cmark_chunk_dup(&detached_chunk, (bufsize_t)start, (bufsize_t)(offset + max_rewind - rewind)); + cmark_chunk_to_cstr(parser->mem, &text->as.literal); - cmark_node_insert_after(link_node, post); + text = post; + start += offset + max_rewind + link_end; + remaining -= offset + max_rewind + link_end; + offset = 0; + } - text->as.literal.len = offset + max_rewind - rewind; - text->as.literal.data[text->as.literal.len] = 0; + // Convert the reference to allocated memory. + assert(!text->as.literal.alloc); + cmark_chunk_to_cstr(parser->mem, &text->as.literal); - postprocess_text(parser, post, 0, depth + 1); + // Free the detached buffer. + cmark_chunk_free(parser->mem, &detached_chunk); } static cmark_node *postprocess(cmark_syntax_extension *ext, cmark_parser *parser, cmark_node *root) { @@ -431,7 +478,7 @@ static cmark_node *postprocess(cmark_syntax_extension *ext, cmark_parser *parser } if (ev == CMARK_EVENT_ENTER && node->type == CMARK_NODE_TEXT) { - postprocess_text(parser, node, 0, /*depth*/0); + postprocess_text(parser, node); } } diff --git a/ext/commonmarker/blocks.c b/ext/commonmarker/blocks.c index 812713ed..94045aba 100644 --- a/ext/commonmarker/blocks.c +++ b/ext/commonmarker/blocks.c @@ -8,6 +8,7 @@ #include <stdlib.h> #include <assert.h> #include <stdio.h> +#include <limits.h> #include "cmark_ctype.h" #include "syntax_extension.h" @@ -639,6 +640,14 @@ static cmark_node *finalize_document(cmark_parser *parser) { } finalize(parser, parser->root); + + // Limit total size of extra content created from reference links to + // document size to avoid superlinear growth. Always allow 100KB. + if (parser->total_size > 100000) + parser->refmap->max_ref_size = parser->total_size; + else + parser->refmap->max_ref_size = 100000; + process_inlines(parser, parser->refmap, parser->options); if (parser->options & CMARK_OPT_FOOTNOTES) process_footnotes(parser); @@ -698,6 +707,11 @@ static void S_parser_feed(cmark_parser *parser, const unsigned char *buffer, const unsigned char *end = buffer + len; static const uint8_t repl[] = {239, 191, 189}; + if (len > UINT_MAX - parser->total_size) + parser->total_size = UINT_MAX; + else + parser->total_size += len; + if (parser->last_buffer_ended_with_cr && *buffer == '\n') { // skip NL if last buffer ended with CR ; see #117 buffer++; diff --git a/ext/commonmarker/cmark-gfm-extension_api.h b/ext/commonmarker/cmark-gfm-extension_api.h index 9403c4f0..bb92a59b 100644 --- a/ext/commonmarker/cmark-gfm-extension_api.h +++ b/ext/commonmarker/cmark-gfm-extension_api.h @@ -114,6 +114,7 @@ typedef struct delimiter { struct delimiter *previous; struct delimiter *next; cmark_node *inl_text; + bufsize_t position; bufsize_t length; unsigned char delim_char; int can_open; diff --git a/ext/commonmarker/cmark-upstream b/ext/commonmarker/cmark-upstream index 9d57d8a2..57d5e093 160000 --- a/ext/commonmarker/cmark-upstream +++ b/ext/commonmarker/cmark-upstream @@ -1 +1 @@ -Subproject commit 9d57d8a23142b316282bdfc954cb0ecda40a8655 +Subproject commit 57d5e093ef801f54bf4174c900f7a863599bb47d diff --git a/ext/commonmarker/inlines.c b/ext/commonmarker/inlines.c index 3cd3bc3d..30f2c170 100644 --- a/ext/commonmarker/inlines.c +++ b/ext/commonmarker/inlines.c @@ -35,7 +35,6 @@ static const char *RIGHTSINGLEQUOTE = "\xE2\x80\x99"; typedef struct bracket { struct bracket *previous; - struct delimiter *previous_delimiter; cmark_node *inl_text; bufsize_t position; bool image; @@ -45,9 +44,15 @@ typedef struct bracket { bool in_bracket_image1; } bracket; +#define FLAG_SKIP_HTML_CDATA (1u << 0) +#define FLAG_SKIP_HTML_DECLARATION (1u << 1) +#define FLAG_SKIP_HTML_PI (1u << 2) +#define FLAG_SKIP_HTML_COMMENT (1u << 3) + typedef struct subject{ cmark_mem *mem; cmark_chunk input; + unsigned flags; int line; bufsize_t pos; int block_offset; @@ -57,6 +62,7 @@ typedef struct subject{ bracket *last_bracket; bufsize_t backticks[MAXBACKTICKS + 1]; bool scanned_for_backticks; + bool no_link_openers; } subject; // Extensions may populate this. @@ -111,6 +117,24 @@ static cmark_node *make_str_with_entities(subject *subj, } } +// Like cmark_node_append_child but without costly sanity checks. +// Assumes that child was newly created. +static void append_child(cmark_node *node, cmark_node *child) { + cmark_node *old_last_child = node->last_child; + + child->next = NULL; + child->prev = old_last_child; + child->parent = node; + node->last_child = child; + + if (old_last_child) { + old_last_child->next = child; + } else { + // Also set first_child if node previously had no children. + node->first_child = child; + } +} + // Duplicate a chunk by creating a copy of the buffer not by reusing the // buffer like cmark_chunk_dup does. static cmark_chunk chunk_clone(cmark_mem *mem, cmark_chunk *src) { @@ -154,7 +178,7 @@ static CMARK_INLINE cmark_node *make_autolink(subject *subj, link->start_line = link->end_line = subj->line; link->start_column = start_column + 1; link->end_column = end_column + 1; - cmark_node_append_child(link, make_str_with_entities(subj, start_column + 1, end_column - 1, &url)); + append_child(link, make_str_with_entities(subj, start_column + 1, end_column - 1, &url)); return link; } @@ -163,6 +187,7 @@ static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, int i; e->mem = mem; e->input = *chunk; + e->flags = 0; e->line = line_number; e->pos = 0; e->block_offset = block_offset; @@ -174,6 +199,7 @@ static void subject_from_buf(cmark_mem *mem, int line_number, int block_offset, e->backticks[i] = 0; } e->scanned_for_backticks = false; + e->no_link_openers = true; } static CMARK_INLINE int isbacktick(int c) { return (c == '`'); } @@ -505,6 +531,7 @@ static void push_delimiter(subject *subj, unsigned char c, bool can_open, delim->can_open = can_open; delim->can_close = can_close; delim->inl_text = inl_text; + delim->position = subj->pos; delim->length = inl_text->as.literal.len; delim->previous = subj->last_delim; delim->next = NULL; @@ -525,7 +552,6 @@ static void push_bracket(subject *subj, bool image, cmark_node *inl_text) { b->active = true; b->inl_text = inl_text; b->previous = subj->last_bracket; - b->previous_delimiter = subj->last_delim; b->position = subj->pos; b->bracket_after = false; if (image) { @@ -534,6 +560,9 @@ static void push_bracket(subject *subj, bool image, cmark_node *inl_text) { b->in_bracket_image0 = true; } subj->last_bracket = b; + if (!image) { + subj->no_link_openers = false; + } } // Assumes the subject has a c at the current position. @@ -640,12 +669,13 @@ static cmark_syntax_extension *get_extension_for_special_char(cmark_parser *pars return NULL; } -static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *stack_bottom) { - delimiter *closer = subj->last_delim; +static void process_emphasis(cmark_parser *parser, subject *subj, bufsize_t stack_bottom) { + delimiter *candidate; + delimiter *closer = NULL; delimiter *opener; delimiter *old_closer; bool opener_found; - delimiter *openers_bottom[3][128]; + bufsize_t openers_bottom[3][128]; int i; // initialize openers_bottom: @@ -658,8 +688,10 @@ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *sta } // move back to first relevant delim. - while (closer != NULL && closer->previous != stack_bottom) { - closer = closer->previous; + candidate = subj->last_delim; + while (candidate != NULL && candidate->position >= stack_bottom) { + closer = candidate; + candidate = candidate->previous; } // now move forward, looking for closers, and handling each @@ -669,8 +701,8 @@ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *sta // Now look backwards for first matching opener: opener = closer->previous; opener_found = false; - while (opener != NULL && opener != stack_bottom && - opener != openers_bottom[closer->length % 3][closer->delim_char]) { + while (opener != NULL && opener->position >= stack_bottom && + opener->position >= openers_bottom[closer->length % 3][closer->delim_char]) { if (opener->can_open && opener->delim_char == closer->delim_char) { // interior closer of size 2 can't match opener of size 1 // or of size 1 can't match 2 @@ -696,27 +728,29 @@ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *sta } else { closer = closer->next; } - } else if (closer->delim_char == '\'') { + } else if (closer->delim_char == '\'' || closer->delim_char == '"') { cmark_chunk_free(subj->mem, &closer->inl_text->as.literal); - closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE); - if (opener_found) { - cmark_chunk_free(subj->mem, &opener->inl_text->as.literal); - opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE); + if (closer->delim_char == '\'') { + closer->inl_text->as.literal = cmark_chunk_literal(RIGHTSINGLEQUOTE); + } else { + closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE); } closer = closer->next; - } else if (closer->delim_char == '"') { - cmark_chunk_free(subj->mem, &closer->inl_text->as.literal); - closer->inl_text->as.literal = cmark_chunk_literal(RIGHTDOUBLEQUOTE); if (opener_found) { cmark_chunk_free(subj->mem, &opener->inl_text->as.literal); - opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE); + if (old_closer->delim_char == '\'') { + opener->inl_text->as.literal = cmark_chunk_literal(LEFTSINGLEQUOTE); + } else { + opener->inl_text->as.literal = cmark_chunk_literal(LEFTDOUBLEQUOTE); + } + remove_delimiter(subj, opener); + remove_delimiter(subj, old_closer); } - closer = closer->next; } if (!opener_found) { // set lower bound for future searches for openers openers_bottom[old_closer->length % 3][old_closer->delim_char] = - old_closer->previous; + old_closer->position; if (!old_closer->can_open) { // we can remove a closer that can't be an // opener, once we've seen there's no @@ -729,7 +763,8 @@ static void process_emphasis(cmark_parser *parser, subject *subj, delimiter *sta } } // free all delimiters in list until stack_bottom: - while (subj->last_delim != NULL && subj->last_delim != stack_bottom) { + while (subj->last_delim != NULL && + subj->last_delim->position >= stack_bottom) { remove_delimiter(subj, subj->last_delim); } } @@ -768,7 +803,8 @@ static delimiter *S_insert_emph(subject *subj, delimiter *opener, tmp = opener_inl->next; while (tmp && tmp != closer_inl) { tmpnext = tmp->next; - cmark_node_append_child(emph, tmp); + cmark_node_unlink(tmp); + append_child(emph, tmp); tmp = tmpnext; } cmark_node_insert_after(opener_inl, emph); @@ -899,7 +935,63 @@ static cmark_node *handle_pointy_brace(subject *subj, int options) { } // finally, try to match an html tag - matchlen = scan_html_tag(&subj->input, subj->pos); + if (subj->pos + 2 <= subj->input.len) { + int c = subj->input.data[subj->pos]; + if (c == '!' && (subj->flags & FLAG_SKIP_HTML_COMMENT) == 0) { + c = subj->input.data[subj->pos+1]; + if (c == '-' && subj->input.data[subj->pos+2] == '-') { + if (subj->input.data[subj->pos+3] == '>') { + matchlen = 4; + } else if (subj->input.data[subj->pos+3] == '-' && + subj->input.data[subj->pos+4] == '>') { + matchlen = 5; + } else { + matchlen = scan_html_comment(&subj->input, subj->pos + 1); + if (matchlen > 0) { + matchlen += 1; // prefix "<" + } else { // no match through end of input: set a flag so + // we don't reparse looking for -->: + subj->flags |= FLAG_SKIP_HTML_COMMENT; + } + } + } else if (c == '[') { + if ((subj->flags & FLAG_SKIP_HTML_CDATA) == 0) { + matchlen = scan_html_cdata(&subj->input, subj->pos + 2); + if (matchlen > 0) { + // The regex doesn't require the final "]]>". But if we're not at + // the end of input, it must come after the match. Otherwise, + // disable subsequent scans to avoid quadratic behavior. + matchlen += 5; // prefix "![", suffix "]]>" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_CDATA; + matchlen = 0; + } + } + } + } else if ((subj->flags & FLAG_SKIP_HTML_DECLARATION) == 0) { + matchlen = scan_html_declaration(&subj->input, subj->pos + 1); + if (matchlen > 0) { + matchlen += 2; // prefix "!", suffix ">" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_DECLARATION; + matchlen = 0; + } + } + } + } else if (c == '?') { + if ((subj->flags & FLAG_SKIP_HTML_PI) == 0) { + // Note that we allow an empty match. + matchlen = scan_html_pi(&subj->input, subj->pos + 1); + matchlen += 3; // prefix "?", suffix "?>" + if (subj->pos + matchlen > subj->input.len) { + subj->flags |= FLAG_SKIP_HTML_PI; + matchlen = 0; + } + } + } else { + matchlen = scan_html_tag(&subj->input, subj->pos); + } + } if (matchlen > 0) { contents = cmark_chunk_dup(&subj->input, subj->pos - 1, matchlen + 1); subj->pos += matchlen; @@ -1065,16 +1157,16 @@ static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) { return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]")); } - if (!opener->active) { + // If we got here, we matched a potential link/image text. + // Now we check to see if it's a link/image. + is_image = opener->image; + + if (!is_image && subj->no_link_openers) { // take delimiter off stack pop_bracket(subj); return make_str(subj, subj->pos - 1, subj->pos - 1, cmark_chunk_literal("]")); } - // If we got here, we matched a potential link/image text. - // Now we check to see if it's a link/image. - is_image = opener->image; - after_link_text_pos = subj->pos; // First, look for an inline link. @@ -1193,7 +1285,7 @@ static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) { // being replacing the opening '[' text node with a `^footnote-ref]` node. cmark_node_insert_before(opener->inl_text, fnref); - process_emphasis(parser, subj, opener->previous_delimiter); + process_emphasis(parser, subj, opener->position); // sometimes, the footnote reference text gets parsed into multiple nodes // i.e. '[^example]' parsed into '[', '^exam', 'ple]'. // this happens for ex with the autolink extension. when the autolinker @@ -1238,42 +1330,22 @@ static cmark_node *handle_close_bracket(cmark_parser *parser, subject *subj) { tmp = opener->inl_text->next; while (tmp) { tmpnext = tmp->next; - cmark_node_append_child(inl, tmp); + cmark_node_unlink(tmp); + append_child(inl, tmp); tmp = tmpnext; } // Free the bracket [: cmark_node_free(opener->inl_text); - process_emphasis(parser, subj, opener->previous_delimiter); + process_emphasis(parser, subj, opener->position); pop_bracket(subj); - // Now, if we have a link, we also want to deactivate earlier link - // delimiters. (This code can be removed if we decide to allow links + // Now, if we have a link, we also want to deactivate links until + // we get a new opener. (This code can be removed if we decide to allow links // inside links.) if (!is_image) { - opener = subj->last_bracket; - while (opener != NULL) { - if (!opener->image) { - if (!opener->active) { - break; - } else { - opener->active = false; - } - } - opener = opener->previous; - } - bool in_bracket_image1 = false; - if (opener) { - in_bracket_image1 = opener->in_bracket_image1; - } - bracket *opener2 = subj->last_bracket; - while (opener2 != opener) { - if (opener2->image) { - opener2->in_bracket_image1 = in_bracket_image1; - } - opener2 = opener2->previous; - } + subj->no_link_openers = true; } return NULL; @@ -1451,7 +1523,7 @@ static int parse_inline(cmark_parser *parser, subject *subj, cmark_node *parent, new_inl = make_str(subj, startpos, endpos - 1, contents); } if (new_inl != NULL) { - cmark_node_append_child(parent, new_inl); + append_child(parent, new_inl); } return 1; @@ -1470,7 +1542,7 @@ void cmark_parse_inlines(cmark_parser *parser, while (!is_eof(&subj) && parse_inline(parser, &subj, parent, options)) ; - process_emphasis(parser, &subj, NULL); + process_emphasis(parser, &subj, 0); // free bracket and delim stack while (subj.last_delim) { remove_delimiter(&subj, subj.last_delim); diff --git a/ext/commonmarker/map.c b/ext/commonmarker/map.c index 9a418dfd..f60f8fc6 100644 --- a/ext/commonmarker/map.c +++ b/ext/commonmarker/map.c @@ -51,7 +51,7 @@ refsearch(const void *label, const void *p2) { } static void sort_map(cmark_map *map) { - unsigned int i = 0, last = 0, size = map->size; + size_t i = 0, last = 0, size = map->size; cmark_map_entry *r = map->refs, **sorted = NULL; sorted = (cmark_map_entry **)map->mem->calloc(size, sizeof(cmark_map_entry *)); @@ -73,6 +73,7 @@ static void sort_map(cmark_map *map) { cmark_map_entry *cmark_map_lookup(cmark_map *map, cmark_chunk *label) { cmark_map_entry **ref = NULL; + cmark_map_entry *r = NULL; unsigned char *norm; if (label->len < 1 || label->len > MAX_LINK_LABEL_LENGTH) @@ -91,10 +92,15 @@ cmark_map_entry *cmark_map_lookup(cmark_map *map, cmark_chunk *label) { ref = (cmark_map_entry **)bsearch(norm, map->sorted, map->size, sizeof(cmark_map_entry *), refsearch); map->mem->free(norm); - if (!ref) - return NULL; + if (ref != NULL) { + r = ref[0]; + /* Check for expansion limit */ + if (r->size > map->max_ref_size - map->ref_size) + return NULL; + map->ref_size += r->size; + } - return ref[0]; + return r; } void cmark_map_free(cmark_map *map) { @@ -118,5 +124,6 @@ cmark_map *cmark_map_new(cmark_mem *mem, cmark_map_free_f free) { cmark_map *map = (cmark_map *)mem->calloc(1, sizeof(cmark_map)); map->mem = mem; map->free = free; + map->max_ref_size = UINT_MAX; return map; } diff --git a/ext/commonmarker/map.h b/ext/commonmarker/map.h index aa4c06e5..cc9b1f30 100644 --- a/ext/commonmarker/map.h +++ b/ext/commonmarker/map.h @@ -10,7 +10,8 @@ extern "C" { struct cmark_map_entry { struct cmark_map_entry *next; unsigned char *label; - unsigned int age; + size_t age; + size_t size; }; typedef struct cmark_map_entry cmark_map_entry; @@ -23,7 +24,9 @@ struct cmark_map { cmark_mem *mem; cmark_map_entry *refs; cmark_map_entry **sorted; - unsigned int size; + size_t size; + size_t ref_size; + size_t max_ref_size; cmark_map_free_f free; }; diff --git a/ext/commonmarker/node.c b/ext/commonmarker/node.c index 0118d651..80c434e3 100644 --- a/ext/commonmarker/node.c +++ b/ext/commonmarker/node.c @@ -9,6 +9,40 @@ static void S_node_unlink(cmark_node *node); #define NODE_MEM(node) cmark_node_mem(node) +cmark_node__internal_flags CMARK_NODE__OPEN; +cmark_node__internal_flags CMARK_NODE__LAST_LINE_BLANK; +cmark_node__internal_flags CMARK_NODE__LAST_LINE_CHECKED; + +void cmark_register_node_flag(cmark_node__internal_flags *flags) { + static uint8_t shift = 0; + + // flags should be a pointer to a global variable and this function + // should only be called once to initialize its value. + if (*flags) { + fprintf(stderr, "flag initialization error in cmark_register_node_flag\n"); + abort(); + } + + // Check that we haven't run out of bits. + if (shift >= 8 * sizeof(cmark_node__internal_flags)) { + fprintf(stderr, "too many flags in cmark_register_node_flag\n"); + abort(); + } + + *flags = (cmark_node__internal_flags)1 << shift; + shift++; +} + +void cmark_init_standard_node_flags() { + static int initialized = 0; + if (!initialized) { + initialized = 1; + cmark_register_node_flag(&CMARK_NODE__OPEN); + cmark_register_node_flag(&CMARK_NODE__LAST_LINE_BLANK); + cmark_register_node_flag(&CMARK_NODE__LAST_LINE_CHECKED); + } +} + bool cmark_node_can_contain_type(cmark_node *node, cmark_node_type child_type) { if (child_type == CMARK_NODE_DOCUMENT) { return false; diff --git a/ext/commonmarker/node.h b/ext/commonmarker/node.h index b094c16e..281258f7 100644 --- a/ext/commonmarker/node.h +++ b/ext/commonmarker/node.h @@ -48,11 +48,7 @@ typedef struct { cmark_chunk on_exit; } cmark_custom; -enum cmark_node__internal_flags { - CMARK_NODE__OPEN = (1 << 0), - CMARK_NODE__LAST_LINE_BLANK = (1 << 1), - CMARK_NODE__LAST_LINE_CHECKED = (1 << 2), -}; +typedef uint16_t cmark_node__internal_flags; struct cmark_node { cmark_strbuf content; @@ -72,7 +68,7 @@ struct cmark_node { int end_column; int internal_offset; uint16_t type; - uint16_t flags; + cmark_node__internal_flags flags; cmark_syntax_extension *extension; @@ -95,6 +91,30 @@ struct cmark_node { } as; }; +/** + * Syntax extensions can use this function to register a custom node + * flag. The flags are stored in the `flags` field of the `cmark_node` + * struct. The `flags` parameter should be the address of a global variable + * which will store the flag value. + */ +CMARK_GFM_EXPORT +void cmark_register_node_flag(cmark_node__internal_flags *flags); + +/** + * Standard node flags. (Initialized using `cmark_init_standard_node_flags`.) + */ +extern cmark_node__internal_flags CMARK_NODE__OPEN; +extern cmark_node__internal_flags CMARK_NODE__LAST_LINE_BLANK; +extern cmark_node__internal_flags CMARK_NODE__LAST_LINE_CHECKED; + +/** + * Uses `cmark_register_node_flag` to initialize the standard node flags. + * This function should be called at program startup time. Calling it + * multiple times has no additional effect. + */ +CMARK_GFM_EXPORT +void cmark_init_standard_node_flags(); + static CMARK_INLINE cmark_mem *cmark_node_mem(cmark_node *node) { return node->content.mem; } diff --git a/ext/commonmarker/parser.h b/ext/commonmarker/parser.h index 245580b8..436c53f5 100644 --- a/ext/commonmarker/parser.h +++ b/ext/commonmarker/parser.h @@ -46,6 +46,7 @@ struct cmark_parser { /* Options set by the user, see the Options section in cmark.h */ int options; bool last_buffer_ended_with_cr; + size_t total_size; cmark_llist *syntax_extensions; cmark_llist *inline_syntax_extensions; cmark_ispunct_func backslash_ispunct; diff --git a/ext/commonmarker/references.c b/ext/commonmarker/references.c index 7e7f34b3..0c9d3995 100644 --- a/ext/commonmarker/references.c +++ b/ext/commonmarker/references.c @@ -32,6 +32,7 @@ void cmark_reference_create(cmark_map *map, cmark_chunk *label, ref->title = cmark_clean_title(map->mem, title); ref->entry.age = map->size; ref->entry.next = map->refs; + ref->entry.size = ref->url.len + ref->title.len; map->refs = (cmark_map_entry *)ref; map->size++; diff --git a/ext/commonmarker/scanners.c b/ext/commonmarker/scanners.c index 285b7a31..19720601 100644 --- a/ext/commonmarker/scanners.c +++ b/ext/commonmarker/scanners.c @@ -1,10508 +1,14056 @@ -/* Generated by re2c 1.3 */ -#include <stdlib.h> -#include "chunk.h" +/* Generated by re2c 3.0 */ #include "scanners.h" +#include "chunk.h" +#include <stdlib.h> -bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, bufsize_t offset) -{ - bufsize_t res; - unsigned char *ptr = (unsigned char *)c->data; +bufsize_t _scan_at(bufsize_t (*scanner)(const unsigned char *), cmark_chunk *c, + bufsize_t offset) { + bufsize_t res; + unsigned char *ptr = (unsigned char *)c->data; - if (ptr == NULL || offset > c->len) { - return 0; - } else { - unsigned char lim = ptr[c->len]; + if (ptr == NULL || offset > c->len) { + return 0; + } else { + unsigned char lim = ptr[c->len]; - ptr[c->len] = '\0'; - res = scanner(ptr + offset); - ptr[c->len] = lim; - } + ptr[c->len] = '\0'; + res = scanner(ptr + offset); + ptr[c->len] = lim; + } - return res; + return res; } - - // Try to match a scheme including colon. -bufsize_t _scan_scheme(const unsigned char *p) -{ +bufsize_t _scan_scheme(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - yych = *p; - if (yych <= '@') goto yy2; - if (yych <= 'Z') goto yy4; - if (yych <= '`') goto yy2; - if (yych <= 'z') goto yy4; -yy2: - ++p; -yy3: - { return 0; } -yy4: - yych = *(marker = ++p); - if (yych <= '/') { - if (yych <= '+') { - if (yych <= '*') goto yy3; - } else { - if (yych <= ',') goto yy3; - if (yych >= '/') goto yy3; - } - } else { - if (yych <= 'Z') { - if (yych <= '9') goto yy5; - if (yych <= '@') goto yy3; - } else { - if (yych <= '`') goto yy3; - if (yych >= '{') goto yy3; - } - } -yy5: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy7; - } else { - if (yych != '/') goto yy7; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych >= 'A') goto yy7; - } else { - if (yych <= '`') goto yy6; - if (yych <= 'z') goto yy7; - } - } -yy6: - p = marker; - goto yy3; -yy7: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy10; - goto yy6; - } else { - if (yych == '/') goto yy6; - goto yy10; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - goto yy10; - } else { - if (yych <= '`') goto yy6; - if (yych <= 'z') goto yy10; - goto yy6; - } - } -yy8: - ++p; - { return (bufsize_t)(p - start); } -yy10: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy6; - } else { - if (yych == '/') goto yy6; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy8; - if (yych <= '@') goto yy6; - } else { - if (yych <= '`') goto yy6; - if (yych >= '{') goto yy6; - } - } - yych = *++p; - if (yych == ':') goto yy8; - goto yy6; -} - + { + unsigned char yych; + yych = *p; + if (yych <= '@') + goto yy1; + if (yych <= 'Z') + goto yy3; + if (yych <= '`') + goto yy1; + if (yych <= 'z') + goto yy3; + yy1: + ++p; + yy2 : { return 0; } + yy3: + yych = *(marker = ++p); + if (yych <= '/') { + if (yych <= '+') { + if (yych <= '*') + goto yy2; + } else { + if (yych <= ',') + goto yy2; + if (yych >= '/') + goto yy2; + } + } else { + if (yych <= 'Z') { + if (yych <= '9') + goto yy4; + if (yych <= '@') + goto yy2; + } else { + if (yych <= '`') + goto yy2; + if (yych >= '{') + goto yy2; + } + } + yy4: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy6; + } else { + if (yych != '/') + goto yy6; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych >= 'A') + goto yy6; + } else { + if (yych <= '`') + goto yy5; + if (yych <= 'z') + goto yy6; + } + } + yy5: + p = marker; + goto yy2; + yy6: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy8; + goto yy5; + } else { + if (yych == '/') + goto yy5; + goto yy8; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + goto yy8; + } else { + if (yych <= '`') + goto yy5; + if (yych <= 'z') + goto yy8; + goto yy5; + } + } + yy7: + ++p; + { return (bufsize_t)(p - start); } + yy8: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy5; + } else { + if (yych == '/') + goto yy5; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy7; + if (yych <= '@') + goto yy5; + } else { + if (yych <= '`') + goto yy5; + if (yych >= '{') + goto yy5; + } + } + yych = *++p; + if (yych == ':') + goto yy7; + goto yy5; + } } // Try to match URI autolink after first <, returning number of chars matched. -bufsize_t _scan_autolink_uri(const unsigned char *p) -{ +bufsize_t _scan_autolink_uri(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 0, 128, 0, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '@') goto yy41; - if (yych <= 'Z') goto yy43; - if (yych <= '`') goto yy41; - if (yych <= 'z') goto yy43; -yy41: - ++p; -yy42: - { return 0; } -yy43: - yych = *(marker = ++p); - if (yych <= '/') { - if (yych <= '+') { - if (yych <= '*') goto yy42; - } else { - if (yych <= ',') goto yy42; - if (yych >= '/') goto yy42; - } - } else { - if (yych <= 'Z') { - if (yych <= '9') goto yy44; - if (yych <= '@') goto yy42; - } else { - if (yych <= '`') goto yy42; - if (yych >= '{') goto yy42; - } - } -yy44: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy46; - } else { - if (yych != '/') goto yy46; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych >= 'A') goto yy46; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy46; - } - } -yy45: - p = marker; - goto yy42; -yy46: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy49; - goto yy45; - } else { - if (yych == '/') goto yy45; - goto yy49; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - goto yy49; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy49; - goto yy45; - } - } -yy47: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy47; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '<') goto yy45; - if (yych <= '>') goto yy50; - goto yy45; - } else { - if (yych <= 0xDF) goto yy52; - if (yych <= 0xE0) goto yy53; - goto yy54; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy55; - if (yych <= 0xEF) goto yy54; - goto yy56; - } else { - if (yych <= 0xF3) goto yy57; - if (yych <= 0xF4) goto yy58; - goto yy45; - } - } -yy49: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych == '+') goto yy59; - goto yy45; - } else { - if (yych == '/') goto yy45; - goto yy59; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - goto yy59; - } else { - if (yych <= '`') goto yy45; - if (yych <= 'z') goto yy59; - goto yy45; - } - } -yy50: - ++p; - { return (bufsize_t)(p - start); } -yy52: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy47; - goto yy45; -yy53: - yych = *++p; - if (yych <= 0x9F) goto yy45; - if (yych <= 0xBF) goto yy52; - goto yy45; -yy54: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy52; - goto yy45; -yy55: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0x9F) goto yy52; - goto yy45; -yy56: - yych = *++p; - if (yych <= 0x8F) goto yy45; - if (yych <= 0xBF) goto yy54; - goto yy45; -yy57: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0xBF) goto yy54; - goto yy45; -yy58: - yych = *++p; - if (yych <= 0x7F) goto yy45; - if (yych <= 0x8F) goto yy54; - goto yy45; -yy59: - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych <= '9') { - if (yych <= ',') { - if (yych != '+') goto yy45; - } else { - if (yych == '/') goto yy45; - } - } else { - if (yych <= 'Z') { - if (yych <= ':') goto yy47; - if (yych <= '@') goto yy45; - } else { - if (yych <= '`') goto yy45; - if (yych >= '{') goto yy45; - } - } - yych = *++p; - if (yych == ':') goto yy47; - goto yy45; + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 0, 128, 0, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '@') + goto yy10; + if (yych <= 'Z') + goto yy12; + if (yych <= '`') + goto yy10; + if (yych <= 'z') + goto yy12; + yy10: + ++p; + yy11 : { return 0; } + yy12: + yych = *(marker = ++p); + if (yych <= '/') { + if (yych <= '+') { + if (yych <= '*') + goto yy11; + } else { + if (yych <= ',') + goto yy11; + if (yych >= '/') + goto yy11; + } + } else { + if (yych <= 'Z') { + if (yych <= '9') + goto yy13; + if (yych <= '@') + goto yy11; + } else { + if (yych <= '`') + goto yy11; + if (yych >= '{') + goto yy11; + } + } + yy13: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy15; + } else { + if (yych != '/') + goto yy15; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych >= 'A') + goto yy15; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy15; + } + } + yy14: + p = marker; + goto yy11; + yy15: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy17; + goto yy14; + } else { + if (yych == '/') + goto yy14; + goto yy17; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + goto yy17; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy17; + goto yy14; + } + } + yy16: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy16; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '<') + goto yy14; + if (yych <= '>') + goto yy18; + goto yy14; + } else { + if (yych <= 0xDF) + goto yy19; + if (yych <= 0xE0) + goto yy20; + goto yy21; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy22; + if (yych <= 0xEF) + goto yy21; + goto yy23; + } else { + if (yych <= 0xF3) + goto yy24; + if (yych <= 0xF4) + goto yy25; + goto yy14; + } + } + yy17: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych == '+') + goto yy26; + goto yy14; + } else { + if (yych == '/') + goto yy14; + goto yy26; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + goto yy26; + } else { + if (yych <= '`') + goto yy14; + if (yych <= 'z') + goto yy26; + goto yy14; + } + } + yy18: + ++p; + { return (bufsize_t)(p - start); } + yy19: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy16; + goto yy14; + yy20: + yych = *++p; + if (yych <= 0x9F) + goto yy14; + if (yych <= 0xBF) + goto yy19; + goto yy14; + yy21: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy19; + goto yy14; + yy22: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0x9F) + goto yy19; + goto yy14; + yy23: + yych = *++p; + if (yych <= 0x8F) + goto yy14; + if (yych <= 0xBF) + goto yy21; + goto yy14; + yy24: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0xBF) + goto yy21; + goto yy14; + yy25: + yych = *++p; + if (yych <= 0x7F) + goto yy14; + if (yych <= 0x8F) + goto yy21; + goto yy14; + yy26: + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych <= '9') { + if (yych <= ',') { + if (yych != '+') + goto yy14; + } else { + if (yych == '/') + goto yy14; + } + } else { + if (yych <= 'Z') { + if (yych <= ':') + goto yy16; + if (yych <= '@') + goto yy14; + } else { + if (yych <= '`') + goto yy14; + if (yych >= '{') + goto yy14; + } + } + yych = *++p; + if (yych == ':') + goto yy16; + goto yy14; + } } +// Try to match email autolink after first <, returning num of chars matched. +bufsize_t _scan_autolink_email(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 128, 0, 128, 128, 128, 128, 128, 0, 0, + 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 128, 0, 128, 0, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 0, 0, 0, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '9') { + if (yych <= '\'') { + if (yych == '!') + goto yy30; + if (yych >= '#') + goto yy30; + } else { + if (yych <= ')') + goto yy28; + if (yych != ',') + goto yy30; + } + } else { + if (yych <= '?') { + if (yych == '=') + goto yy30; + if (yych >= '?') + goto yy30; + } else { + if (yych <= 'Z') { + if (yych >= 'A') + goto yy30; + } else { + if (yych <= ']') + goto yy28; + if (yych <= '~') + goto yy30; + } + } + } + yy28: + ++p; + yy29 : { return 0; } + yy30: + yych = *(marker = ++p); + if (yych <= ',') { + if (yych <= '"') { + if (yych == '!') + goto yy32; + goto yy29; + } else { + if (yych <= '\'') + goto yy32; + if (yych <= ')') + goto yy29; + if (yych <= '+') + goto yy32; + goto yy29; + } + } else { + if (yych <= '>') { + if (yych <= '9') + goto yy32; + if (yych == '=') + goto yy32; + goto yy29; + } else { + if (yych <= 'Z') + goto yy32; + if (yych <= ']') + goto yy29; + if (yych <= '~') + goto yy32; + goto yy29; + } + } + yy31: + yych = *++p; + yy32: + if (yybm[0 + yych] & 128) { + goto yy31; + } + if (yych <= '>') + goto yy33; + if (yych <= '@') + goto yy34; + yy33: + p = marker; + goto yy29; + yy34: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy33; + if (yych >= ':') + goto yy33; + } else { + if (yych <= 'Z') + goto yy35; + if (yych <= '`') + goto yy33; + if (yych >= '{') + goto yy33; + } + yy35: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy36; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy36; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy36; + goto yy33; + } + } + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy38; + if (yych <= '/') + goto yy33; + goto yy39; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy39; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy39; + goto yy33; + } + } + yy36: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych <= '-') + goto yy38; + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy39; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy39; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy39; + goto yy33; + } + } + yy37: + ++p; + { return (bufsize_t)(p - start); } + yy38: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy40; + if (yych <= '/') + goto yy33; + goto yy41; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy41; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy41; + goto yy33; + } + } + yy39: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy41; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy41; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy41; + goto yy33; + } + } + yy40: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy42; + if (yych <= '/') + goto yy33; + goto yy43; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy43; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy43; + goto yy33; + } + } + yy41: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy43; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy43; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy43; + goto yy33; + } + } + yy42: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy44; + if (yych <= '/') + goto yy33; + goto yy45; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy45; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy45; + goto yy33; + } + } + yy43: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy45; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy45; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy45; + goto yy33; + } + } + yy44: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy46; + if (yych <= '/') + goto yy33; + goto yy47; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy47; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy47; + goto yy33; + } + } + yy45: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy47; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy47; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy47; + goto yy33; + } + } + yy46: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy48; + if (yych <= '/') + goto yy33; + goto yy49; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy49; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy49; + goto yy33; + } + } + yy47: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy49; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy49; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy49; + goto yy33; + } + } + yy48: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy50; + if (yych <= '/') + goto yy33; + goto yy51; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy51; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy51; + goto yy33; + } + } + yy49: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy51; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy51; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy51; + goto yy33; + } + } + yy50: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy52; + if (yych <= '/') + goto yy33; + goto yy53; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy53; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy53; + goto yy33; + } + } + yy51: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy53; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy53; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy53; + goto yy33; + } + } + yy52: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy54; + if (yych <= '/') + goto yy33; + goto yy55; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy55; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy55; + goto yy33; + } + } + yy53: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy55; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy55; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy55; + goto yy33; + } + } + yy54: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy56; + if (yych <= '/') + goto yy33; + goto yy57; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy57; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy57; + goto yy33; + } + } + yy55: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy57; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy57; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy57; + goto yy33; + } + } + yy56: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy58; + if (yych <= '/') + goto yy33; + goto yy59; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy59; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy59; + goto yy33; + } + } + yy57: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy59; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy59; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy59; + goto yy33; + } + } + yy58: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy60; + if (yych <= '/') + goto yy33; + goto yy61; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy61; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy61; + goto yy33; + } + } + yy59: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy61; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy61; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy61; + goto yy33; + } + } + yy60: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy62; + if (yych <= '/') + goto yy33; + goto yy63; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy63; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy63; + goto yy33; + } + } + yy61: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy63; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy63; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy63; + goto yy33; + } + } + yy62: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy64; + if (yych <= '/') + goto yy33; + goto yy65; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy65; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy65; + goto yy33; + } + } + yy63: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy65; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy65; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy65; + goto yy33; + } + } + yy64: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy66; + if (yych <= '/') + goto yy33; + goto yy67; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy67; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy67; + goto yy33; + } + } + yy65: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy67; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy67; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy67; + goto yy33; + } + } + yy66: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy68; + if (yych <= '/') + goto yy33; + goto yy69; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy69; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy69; + goto yy33; + } + } + yy67: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy69; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy69; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy69; + goto yy33; + } + } + yy68: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy70; + if (yych <= '/') + goto yy33; + goto yy71; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy71; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy71; + goto yy33; + } + } + yy69: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy71; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy71; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy71; + goto yy33; + } + } + yy70: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy72; + if (yych <= '/') + goto yy33; + goto yy73; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy73; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy73; + goto yy33; + } + } + yy71: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy73; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy73; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy73; + goto yy33; + } + } + yy72: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy74; + if (yych <= '/') + goto yy33; + goto yy75; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy75; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy75; + goto yy33; + } + } + yy73: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy75; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy75; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy75; + goto yy33; + } + } + yy74: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy76; + if (yych <= '/') + goto yy33; + goto yy77; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy77; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy77; + goto yy33; + } + } + yy75: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy77; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy77; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy77; + goto yy33; + } + } + yy76: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy78; + if (yych <= '/') + goto yy33; + goto yy79; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy79; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy79; + goto yy33; + } + } + yy77: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy79; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy79; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy79; + goto yy33; + } + } + yy78: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy80; + if (yych <= '/') + goto yy33; + goto yy81; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy81; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy81; + goto yy33; + } + } + yy79: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy81; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy81; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy81; + goto yy33; + } + } + yy80: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy82; + if (yych <= '/') + goto yy33; + goto yy83; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy83; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy83; + goto yy33; + } + } + yy81: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy83; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy83; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy83; + goto yy33; + } + } + yy82: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy84; + if (yych <= '/') + goto yy33; + goto yy85; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy85; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy85; + goto yy33; + } + } + yy83: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy85; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy85; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy85; + goto yy33; + } + } + yy84: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy86; + if (yych <= '/') + goto yy33; + goto yy87; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy87; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy87; + goto yy33; + } + } + yy85: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy87; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy87; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy87; + goto yy33; + } + } + yy86: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy88; + if (yych <= '/') + goto yy33; + goto yy89; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy89; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy89; + goto yy33; + } + } + yy87: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy89; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy89; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy89; + goto yy33; + } + } + yy88: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy90; + if (yych <= '/') + goto yy33; + goto yy91; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy91; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy91; + goto yy33; + } + } + yy89: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy91; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy91; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy91; + goto yy33; + } + } + yy90: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy92; + if (yych <= '/') + goto yy33; + goto yy93; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy93; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy93; + goto yy33; + } + } + yy91: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy93; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy93; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy93; + goto yy33; + } + } + yy92: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy94; + if (yych <= '/') + goto yy33; + goto yy95; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy95; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy95; + goto yy33; + } + } + yy93: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy95; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy95; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy95; + goto yy33; + } + } + yy94: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy96; + if (yych <= '/') + goto yy33; + goto yy97; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy97; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy97; + goto yy33; + } + } + yy95: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy97; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy97; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy97; + goto yy33; + } + } + yy96: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy98; + if (yych <= '/') + goto yy33; + goto yy99; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy99; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy99; + goto yy33; + } + } + yy97: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy99; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy99; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy99; + goto yy33; + } + } + yy98: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy100; + if (yych <= '/') + goto yy33; + goto yy101; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy101; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy101; + goto yy33; + } + } + yy99: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy101; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy101; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy101; + goto yy33; + } + } + yy100: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy102; + if (yych <= '/') + goto yy33; + goto yy103; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy103; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy103; + goto yy33; + } + } + yy101: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy103; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy103; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy103; + goto yy33; + } + } + yy102: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy104; + if (yych <= '/') + goto yy33; + goto yy105; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy105; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy105; + goto yy33; + } + } + yy103: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy105; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy105; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy105; + goto yy33; + } + } + yy104: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy106; + if (yych <= '/') + goto yy33; + goto yy107; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy107; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy107; + goto yy33; + } + } + yy105: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy107; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy107; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy107; + goto yy33; + } + } + yy106: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy108; + if (yych <= '/') + goto yy33; + goto yy109; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy109; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy109; + goto yy33; + } + } + yy107: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy109; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy109; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy109; + goto yy33; + } + } + yy108: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy110; + if (yych <= '/') + goto yy33; + goto yy111; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy111; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy111; + goto yy33; + } + } + yy109: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy111; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy111; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy111; + goto yy33; + } + } + yy110: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy112; + if (yych <= '/') + goto yy33; + goto yy113; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy113; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy113; + goto yy33; + } + } + yy111: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy113; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy113; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy113; + goto yy33; + } + } + yy112: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy114; + if (yych <= '/') + goto yy33; + goto yy115; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy115; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy115; + goto yy33; + } + } + yy113: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy115; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy115; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy115; + goto yy33; + } + } + yy114: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy116; + if (yych <= '/') + goto yy33; + goto yy117; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy117; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy117; + goto yy33; + } + } + yy115: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy117; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy117; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy117; + goto yy33; + } + } + yy116: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy118; + if (yych <= '/') + goto yy33; + goto yy119; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy119; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy119; + goto yy33; + } + } + yy117: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy119; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy119; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy119; + goto yy33; + } + } + yy118: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy120; + if (yych <= '/') + goto yy33; + goto yy121; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy121; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy121; + goto yy33; + } + } + yy119: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy121; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy121; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy121; + goto yy33; + } + } + yy120: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy122; + if (yych <= '/') + goto yy33; + goto yy123; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy123; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy123; + goto yy33; + } + } + yy121: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy123; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy123; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy123; + goto yy33; + } + } + yy122: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy124; + if (yych <= '/') + goto yy33; + goto yy125; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy125; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy125; + goto yy33; + } + } + yy123: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy125; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy125; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy125; + goto yy33; + } + } + yy124: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy126; + if (yych <= '/') + goto yy33; + goto yy127; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy127; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy127; + goto yy33; + } + } + yy125: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy127; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy127; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy127; + goto yy33; + } + } + yy126: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy128; + if (yych <= '/') + goto yy33; + goto yy129; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy129; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy129; + goto yy33; + } + } + yy127: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy129; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy129; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy129; + goto yy33; + } + } + yy128: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy130; + if (yych <= '/') + goto yy33; + goto yy131; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy131; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy131; + goto yy33; + } + } + yy129: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy131; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy131; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy131; + goto yy33; + } + } + yy130: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy132; + if (yych <= '/') + goto yy33; + goto yy133; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy133; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy133; + goto yy33; + } + } + yy131: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy133; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy133; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy133; + goto yy33; + } + } + yy132: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy134; + if (yych <= '/') + goto yy33; + goto yy135; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy135; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy135; + goto yy33; + } + } + yy133: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy135; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy135; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy135; + goto yy33; + } + } + yy134: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy136; + if (yych <= '/') + goto yy33; + goto yy137; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy137; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy137; + goto yy33; + } + } + yy135: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy137; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy137; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy137; + goto yy33; + } + } + yy136: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy138; + if (yych <= '/') + goto yy33; + goto yy139; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy139; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy139; + goto yy33; + } + } + yy137: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy139; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy139; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy139; + goto yy33; + } + } + yy138: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy140; + if (yych <= '/') + goto yy33; + goto yy141; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy141; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy141; + goto yy33; + } + } + yy139: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy141; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy141; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy141; + goto yy33; + } + } + yy140: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy142; + if (yych <= '/') + goto yy33; + goto yy143; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy143; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy143; + goto yy33; + } + } + yy141: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy143; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy143; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy143; + goto yy33; + } + } + yy142: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy144; + if (yych <= '/') + goto yy33; + goto yy145; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy145; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy145; + goto yy33; + } + } + yy143: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy145; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy145; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy145; + goto yy33; + } + } + yy144: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy146; + if (yych <= '/') + goto yy33; + goto yy147; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy147; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy147; + goto yy33; + } + } + yy145: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy147; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy147; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy147; + goto yy33; + } + } + yy146: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy148; + if (yych <= '/') + goto yy33; + goto yy149; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy149; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy149; + goto yy33; + } + } + yy147: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy149; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy149; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy149; + goto yy33; + } + } + yy148: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy150; + if (yych <= '/') + goto yy33; + goto yy151; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy151; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy151; + goto yy33; + } + } + yy149: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy151; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy151; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy151; + goto yy33; + } + } + yy150: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy152; + if (yych <= '/') + goto yy33; + goto yy153; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy153; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy153; + goto yy33; + } + } + yy151: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy153; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy153; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy153; + goto yy33; + } + } + yy152: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy154; + if (yych <= '/') + goto yy33; + goto yy155; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy155; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy155; + goto yy33; + } + } + yy153: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy155; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy155; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy155; + goto yy33; + } + } + yy154: + yych = *++p; + if (yych <= '9') { + if (yych == '-') + goto yy156; + if (yych <= '/') + goto yy33; + goto yy157; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy33; + goto yy157; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy157; + goto yy33; + } + } + yy155: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= ',') + goto yy33; + if (yych >= '.') + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy157; + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + goto yy157; + } else { + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy157; + goto yy33; + } + } + yy156: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy33; + if (yych <= '9') + goto yy158; + goto yy33; + } else { + if (yych <= 'Z') + goto yy158; + if (yych <= '`') + goto yy33; + if (yych <= 'z') + goto yy158; + goto yy33; + } + yy157: + yych = *++p; + if (yych <= '=') { + if (yych <= '.') { + if (yych <= '-') + goto yy33; + goto yy34; + } else { + if (yych <= '/') + goto yy33; + if (yych >= ':') + goto yy33; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy37; + if (yych <= '@') + goto yy33; + } else { + if (yych <= '`') + goto yy33; + if (yych >= '{') + goto yy33; + } + } + yy158: + yych = *++p; + if (yych == '.') + goto yy34; + if (yych == '>') + goto yy37; + goto yy33; + } } -// Try to match email autolink after first <, returning num of chars matched. -bufsize_t _scan_autolink_email(const unsigned char *p) -{ +// Try to match an HTML tag after first <, returning num of chars matched. +bufsize_t _scan_html_tag(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 128, 128, 128, 128, 128, - 0, 0, 128, 128, 0, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 0, 0, 128, 0, 128, - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 0, 0, 0, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '9') { - if (yych <= '\'') { - if (yych == '!') goto yy91; - if (yych >= '#') goto yy91; - } else { - if (yych <= ')') goto yy89; - if (yych != ',') goto yy91; - } - } else { - if (yych <= '?') { - if (yych == '=') goto yy91; - if (yych >= '?') goto yy91; - } else { - if (yych <= 'Z') { - if (yych >= 'A') goto yy91; - } else { - if (yych <= ']') goto yy89; - if (yych <= '~') goto yy91; - } - } - } -yy89: - ++p; -yy90: - { return 0; } -yy91: - yych = *(marker = ++p); - if (yych <= ',') { - if (yych <= '"') { - if (yych == '!') goto yy93; - goto yy90; - } else { - if (yych <= '\'') goto yy93; - if (yych <= ')') goto yy90; - if (yych <= '+') goto yy93; - goto yy90; - } - } else { - if (yych <= '>') { - if (yych <= '9') goto yy93; - if (yych == '=') goto yy93; - goto yy90; - } else { - if (yych <= 'Z') goto yy93; - if (yych <= ']') goto yy90; - if (yych <= '~') goto yy93; - goto yy90; - } - } -yy92: - yych = *++p; -yy93: - if (yybm[0+yych] & 128) { - goto yy92; - } - if (yych <= '>') goto yy94; - if (yych <= '@') goto yy95; -yy94: - p = marker; - goto yy90; -yy95: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy94; - if (yych >= ':') goto yy94; - } else { - if (yych <= 'Z') goto yy96; - if (yych <= '`') goto yy94; - if (yych >= '{') goto yy94; - } -yy96: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy98; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy98; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy98; - goto yy94; - } - } - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy101; - if (yych <= '/') goto yy94; - goto yy102; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy102; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy102; - goto yy94; - } - } -yy98: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych <= '-') goto yy101; - goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy102; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy102; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy102; - goto yy94; - } - } -yy99: - ++p; - { return (bufsize_t)(p - start); } -yy101: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy103; - if (yych <= '/') goto yy94; - goto yy104; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy104; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy104; - goto yy94; - } - } -yy102: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy104; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy104; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy104; - goto yy94; - } - } -yy103: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy105; - if (yych <= '/') goto yy94; - goto yy106; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy106; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy106; - goto yy94; - } - } -yy104: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy106; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy106; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy106; - goto yy94; - } - } -yy105: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy107; - if (yych <= '/') goto yy94; - goto yy108; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy108; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy108; - goto yy94; - } - } -yy106: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy108; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy108; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy108; - goto yy94; - } - } -yy107: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy109; - if (yych <= '/') goto yy94; - goto yy110; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy110; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy110; - goto yy94; - } - } -yy108: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy110; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy110; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy110; - goto yy94; - } - } -yy109: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy111; - if (yych <= '/') goto yy94; - goto yy112; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy112; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy112; - goto yy94; - } - } -yy110: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy112; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy112; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy112; - goto yy94; - } - } -yy111: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy113; - if (yych <= '/') goto yy94; - goto yy114; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy114; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy114; - goto yy94; - } - } -yy112: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy114; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy114; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy114; - goto yy94; - } - } -yy113: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy115; - if (yych <= '/') goto yy94; - goto yy116; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy116; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy116; - goto yy94; - } - } -yy114: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy116; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy116; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy116; - goto yy94; - } - } -yy115: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy117; - if (yych <= '/') goto yy94; - goto yy118; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy118; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy118; - goto yy94; - } - } -yy116: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy118; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy118; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy118; - goto yy94; - } - } -yy117: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy119; - if (yych <= '/') goto yy94; - goto yy120; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy120; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy120; - goto yy94; - } - } -yy118: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy120; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy120; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy120; - goto yy94; - } - } -yy119: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy121; - if (yych <= '/') goto yy94; - goto yy122; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy122; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy122; - goto yy94; - } - } -yy120: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy122; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy122; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy122; - goto yy94; - } - } -yy121: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy123; - if (yych <= '/') goto yy94; - goto yy124; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy124; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy124; - goto yy94; - } - } -yy122: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy124; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy124; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy124; - goto yy94; - } - } -yy123: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy125; - if (yych <= '/') goto yy94; - goto yy126; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy126; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy126; - goto yy94; - } - } -yy124: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy126; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy126; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy126; - goto yy94; - } - } -yy125: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy127; - if (yych <= '/') goto yy94; - goto yy128; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy128; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy128; - goto yy94; - } - } -yy126: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy128; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy128; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy128; - goto yy94; - } - } -yy127: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy129; - if (yych <= '/') goto yy94; - goto yy130; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy130; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy130; - goto yy94; - } - } -yy128: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy130; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy130; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy130; - goto yy94; - } - } -yy129: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy131; - if (yych <= '/') goto yy94; - goto yy132; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy132; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy132; - goto yy94; - } - } -yy130: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy132; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy132; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy132; - goto yy94; - } - } -yy131: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy133; - if (yych <= '/') goto yy94; - goto yy134; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy134; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy134; - goto yy94; - } - } -yy132: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy134; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy134; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy134; - goto yy94; - } - } -yy133: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy135; - if (yych <= '/') goto yy94; - goto yy136; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy136; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy136; - goto yy94; - } - } -yy134: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy136; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy136; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy136; - goto yy94; - } - } -yy135: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy137; - if (yych <= '/') goto yy94; - goto yy138; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy138; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy138; - goto yy94; - } - } -yy136: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy138; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy138; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy138; - goto yy94; - } - } -yy137: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy139; - if (yych <= '/') goto yy94; - goto yy140; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy140; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy140; - goto yy94; - } - } -yy138: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy140; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy140; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy140; - goto yy94; - } - } -yy139: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy141; - if (yych <= '/') goto yy94; - goto yy142; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy142; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy142; - goto yy94; - } - } -yy140: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy142; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy142; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy142; - goto yy94; - } - } -yy141: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy143; - if (yych <= '/') goto yy94; - goto yy144; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy144; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy144; - goto yy94; - } - } -yy142: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy144; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy144; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy144; - goto yy94; - } - } -yy143: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy145; - if (yych <= '/') goto yy94; - goto yy146; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy146; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy146; - goto yy94; - } - } -yy144: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy146; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy146; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy146; - goto yy94; - } - } -yy145: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy147; - if (yych <= '/') goto yy94; - goto yy148; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy148; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy148; - goto yy94; - } - } -yy146: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy148; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy148; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy148; - goto yy94; - } - } -yy147: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy149; - if (yych <= '/') goto yy94; - goto yy150; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy150; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy150; - goto yy94; - } - } -yy148: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy150; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy150; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy150; - goto yy94; - } - } -yy149: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy151; - if (yych <= '/') goto yy94; - goto yy152; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy152; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy152; - goto yy94; - } - } -yy150: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy152; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy152; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy152; - goto yy94; - } - } -yy151: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy153; - if (yych <= '/') goto yy94; - goto yy154; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy154; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy154; - goto yy94; - } - } -yy152: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy154; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy154; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy154; - goto yy94; - } - } -yy153: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy155; - if (yych <= '/') goto yy94; - goto yy156; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy156; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy156; - goto yy94; - } - } -yy154: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy156; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy156; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy156; - goto yy94; - } - } -yy155: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy157; - if (yych <= '/') goto yy94; - goto yy158; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy158; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy158; - goto yy94; - } - } -yy156: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy158; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy158; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy158; - goto yy94; - } - } -yy157: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy159; - if (yych <= '/') goto yy94; - goto yy160; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy160; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy160; - goto yy94; - } - } -yy158: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy160; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy160; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy160; - goto yy94; - } - } -yy159: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy161; - if (yych <= '/') goto yy94; - goto yy162; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy162; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy162; - goto yy94; - } - } -yy160: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy162; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy162; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy162; - goto yy94; - } - } -yy161: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy163; - if (yych <= '/') goto yy94; - goto yy164; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy164; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy164; - goto yy94; - } - } -yy162: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy164; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy164; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy164; - goto yy94; - } - } -yy163: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy165; - if (yych <= '/') goto yy94; - goto yy166; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy166; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy166; - goto yy94; - } - } -yy164: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy166; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy166; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy166; - goto yy94; - } - } -yy165: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy167; - if (yych <= '/') goto yy94; - goto yy168; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy168; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy168; - goto yy94; - } - } -yy166: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy168; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy168; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy168; - goto yy94; - } - } -yy167: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy169; - if (yych <= '/') goto yy94; - goto yy170; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy170; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy170; - goto yy94; - } - } -yy168: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy170; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy170; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy170; - goto yy94; - } - } -yy169: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy171; - if (yych <= '/') goto yy94; - goto yy172; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy172; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy172; - goto yy94; - } - } -yy170: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy172; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy172; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy172; - goto yy94; - } - } -yy171: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy173; - if (yych <= '/') goto yy94; - goto yy174; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy174; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy174; - goto yy94; - } - } -yy172: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy174; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy174; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy174; - goto yy94; - } - } -yy173: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy175; - if (yych <= '/') goto yy94; - goto yy176; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy176; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy176; - goto yy94; - } - } -yy174: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy176; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy176; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy176; - goto yy94; - } - } -yy175: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy177; - if (yych <= '/') goto yy94; - goto yy178; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy178; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy178; - goto yy94; - } - } -yy176: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy178; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy178; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy178; - goto yy94; - } - } -yy177: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy179; - if (yych <= '/') goto yy94; - goto yy180; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy180; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy180; - goto yy94; - } - } -yy178: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy180; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy180; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy180; - goto yy94; - } - } -yy179: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy181; - if (yych <= '/') goto yy94; - goto yy182; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy182; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy182; - goto yy94; - } - } -yy180: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy182; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy182; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy182; - goto yy94; - } - } -yy181: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy183; - if (yych <= '/') goto yy94; - goto yy184; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy184; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy184; - goto yy94; - } - } -yy182: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy184; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy184; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy184; - goto yy94; - } - } -yy183: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy185; - if (yych <= '/') goto yy94; - goto yy186; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy186; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy186; - goto yy94; - } - } -yy184: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy186; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy186; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy186; - goto yy94; - } - } -yy185: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy187; - if (yych <= '/') goto yy94; - goto yy188; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy188; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy188; - goto yy94; - } - } -yy186: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy188; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy188; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy188; - goto yy94; - } - } -yy187: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy189; - if (yych <= '/') goto yy94; - goto yy190; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy190; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy190; - goto yy94; - } - } -yy188: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy190; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy190; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy190; - goto yy94; - } - } -yy189: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy191; - if (yych <= '/') goto yy94; - goto yy192; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy192; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy192; - goto yy94; - } - } -yy190: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy192; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy192; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy192; - goto yy94; - } - } -yy191: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy193; - if (yych <= '/') goto yy94; - goto yy194; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy194; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy194; - goto yy94; - } - } -yy192: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy194; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy194; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy194; - goto yy94; - } - } -yy193: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy195; - if (yych <= '/') goto yy94; - goto yy196; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy196; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy196; - goto yy94; - } - } -yy194: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy196; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy196; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy196; - goto yy94; - } - } -yy195: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy197; - if (yych <= '/') goto yy94; - goto yy198; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy198; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy198; - goto yy94; - } - } -yy196: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy198; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy198; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy198; - goto yy94; - } - } -yy197: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy199; - if (yych <= '/') goto yy94; - goto yy200; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy200; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy200; - goto yy94; - } - } -yy198: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy200; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy200; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy200; - goto yy94; - } - } -yy199: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy201; - if (yych <= '/') goto yy94; - goto yy202; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy202; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy202; - goto yy94; - } - } -yy200: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy202; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy202; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy202; - goto yy94; - } - } -yy201: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy203; - if (yych <= '/') goto yy94; - goto yy204; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy204; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy204; - goto yy94; - } - } -yy202: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy204; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy204; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy204; - goto yy94; - } - } -yy203: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy205; - if (yych <= '/') goto yy94; - goto yy206; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy206; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy206; - goto yy94; - } - } -yy204: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy206; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy206; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy206; - goto yy94; - } - } -yy205: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy207; - if (yych <= '/') goto yy94; - goto yy208; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy208; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy208; - goto yy94; - } - } -yy206: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy208; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy208; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy208; - goto yy94; - } - } -yy207: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy209; - if (yych <= '/') goto yy94; - goto yy210; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy210; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy210; - goto yy94; - } - } -yy208: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy210; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy210; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy210; - goto yy94; - } - } -yy209: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy211; - if (yych <= '/') goto yy94; - goto yy212; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy212; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy212; - goto yy94; - } - } -yy210: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy212; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy212; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy212; - goto yy94; - } - } -yy211: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy213; - if (yych <= '/') goto yy94; - goto yy214; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy214; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy214; - goto yy94; - } - } -yy212: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy214; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy214; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy214; - goto yy94; - } - } -yy213: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy215; - if (yych <= '/') goto yy94; - goto yy216; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy216; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy216; - goto yy94; - } - } -yy214: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy216; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy216; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy216; - goto yy94; - } - } -yy215: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy217; - if (yych <= '/') goto yy94; - goto yy218; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy218; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy218; - goto yy94; - } - } -yy216: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy218; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy218; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy218; - goto yy94; - } - } -yy217: - yych = *++p; - if (yych <= '9') { - if (yych == '-') goto yy219; - if (yych <= '/') goto yy94; - goto yy220; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy94; - goto yy220; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy220; - goto yy94; - } - } -yy218: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= ',') goto yy94; - if (yych >= '.') goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy220; - goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - goto yy220; - } else { - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy220; - goto yy94; - } - } -yy219: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy94; - if (yych <= '9') goto yy221; - goto yy94; - } else { - if (yych <= 'Z') goto yy221; - if (yych <= '`') goto yy94; - if (yych <= 'z') goto yy221; - goto yy94; - } -yy220: - yych = *++p; - if (yych <= '=') { - if (yych <= '.') { - if (yych <= '-') goto yy94; - goto yy95; - } else { - if (yych <= '/') goto yy94; - if (yych >= ':') goto yy94; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy99; - if (yych <= '@') goto yy94; - } else { - if (yych <= '`') goto yy94; - if (yych >= '{') goto yy94; - } - } -yy221: - yych = *++p; - if (yych == '.') goto yy95; - if (yych == '>') goto yy99; - goto yy94; + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 224, 224, 224, 224, 224, 224, 224, 224, 200, 200, 200, 200, 200, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 200, 224, 128, 224, 224, 224, 224, 64, 224, 224, + 224, 224, 224, 244, 240, 224, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 240, 224, 192, 192, 192, 224, 224, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, 224, 240, 192, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, + 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 224, 224, 224, + 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '@') { + if (yych == '/') + goto yy162; + } else { + if (yych <= 'Z') + goto yy163; + if (yych <= '`') + goto yy160; + if (yych <= 'z') + goto yy163; + } + yy160: + ++p; + yy161 : { return 0; } + yy162: + yych = *(marker = ++p); + if (yych <= '@') + goto yy161; + if (yych <= 'Z') + goto yy164; + if (yych <= '`') + goto yy161; + if (yych <= 'z') + goto yy164; + goto yy161; + yy163: + yych = *(marker = ++p); + if (yych <= '.') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy161; + if (yych <= '\r') + goto yy168; + goto yy161; + } else { + if (yych <= ' ') + goto yy168; + if (yych == '-') + goto yy168; + goto yy161; + } + } else { + if (yych <= '@') { + if (yych <= '9') + goto yy168; + if (yych == '>') + goto yy168; + goto yy161; + } else { + if (yych <= 'Z') + goto yy168; + if (yych <= '`') + goto yy161; + if (yych <= 'z') + goto yy168; + goto yy161; + } + } + yy164: + yych = *++p; + if (yybm[0 + yych] & 4) { + goto yy164; + } + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy171; + } else { + if (yych <= ' ') + goto yy171; + if (yych == '>') + goto yy170; + } + yy165: + p = marker; + goto yy161; + yy166: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych <= '>') { + if (yych <= '9') { + if (yych == '/') + goto yy169; + goto yy165; + } else { + if (yych <= ':') + goto yy172; + if (yych <= '=') + goto yy165; + goto yy170; + } + } else { + if (yych <= '^') { + if (yych <= '@') + goto yy165; + if (yych <= 'Z') + goto yy172; + goto yy165; + } else { + if (yych == '`') + goto yy165; + if (yych <= 'z') + goto yy172; + goto yy165; + } + } + yy167: + yych = *++p; + yy168: + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych <= '=') { + if (yych <= '.') { + if (yych == '-') + goto yy167; + goto yy165; + } else { + if (yych <= '/') + goto yy169; + if (yych <= '9') + goto yy167; + goto yy165; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy170; + if (yych <= '@') + goto yy165; + goto yy167; + } else { + if (yych <= '`') + goto yy165; + if (yych <= 'z') + goto yy167; + goto yy165; + } + } + yy169: + yych = *++p; + if (yych != '>') + goto yy165; + yy170: + ++p; + { return (bufsize_t)(p - start); } + yy171: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy171; + goto yy165; + } else { + if (yych <= ' ') + goto yy171; + if (yych == '>') + goto yy170; + goto yy165; + } + yy172: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy172; + } + if (yych <= ',') { + if (yych <= '\r') { + if (yych <= 0x08) + goto yy165; + } else { + if (yych != ' ') + goto yy165; + } + } else { + if (yych <= '<') { + if (yych <= '/') + goto yy169; + goto yy165; + } else { + if (yych <= '=') + goto yy174; + if (yych <= '>') + goto yy170; + goto yy165; + } + } + yy173: + yych = *++p; + if (yych <= '<') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy165; + if (yych <= '\r') + goto yy173; + if (yych <= 0x1F) + goto yy165; + goto yy173; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy165; + goto yy169; + } else { + if (yych == ':') + goto yy172; + goto yy165; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '=') + goto yy174; + if (yych <= '>') + goto yy170; + if (yych <= '@') + goto yy165; + goto yy172; + } else { + if (yych <= '_') { + if (yych <= '^') + goto yy165; + goto yy172; + } else { + if (yych <= '`') + goto yy165; + if (yych <= 'z') + goto yy172; + goto yy165; + } + } + } + yy174: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy175; + } + if (yych <= 0xE0) { + if (yych <= '"') { + if (yych <= 0x00) + goto yy165; + if (yych <= ' ') + goto yy174; + goto yy176; + } else { + if (yych <= '\'') + goto yy177; + if (yych <= 0xC1) + goto yy165; + if (yych <= 0xDF) + goto yy178; + goto yy179; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy181; + goto yy180; + } else { + if (yych <= 0xF0) + goto yy182; + if (yych <= 0xF3) + goto yy183; + if (yych <= 0xF4) + goto yy184; + goto yy165; + } + } + yy175: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy175; + } + if (yych <= 0xE0) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy165; + if (yych <= ' ') + goto yy166; + goto yy165; + } else { + if (yych <= '>') + goto yy170; + if (yych <= 0xC1) + goto yy165; + if (yych <= 0xDF) + goto yy178; + goto yy179; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy181; + goto yy180; + } else { + if (yych <= 0xF0) + goto yy182; + if (yych <= 0xF3) + goto yy183; + if (yych <= 0xF4) + goto yy184; + goto yy165; + } + } + yy176: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy176; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy165; + if (yych <= '"') + goto yy185; + goto yy165; + } else { + if (yych <= 0xDF) + goto yy186; + if (yych <= 0xE0) + goto yy187; + goto yy188; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy189; + if (yych <= 0xEF) + goto yy188; + goto yy190; + } else { + if (yych <= 0xF3) + goto yy191; + if (yych <= 0xF4) + goto yy192; + goto yy165; + } + } + yy177: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy177; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy165; + if (yych <= '\'') + goto yy185; + goto yy165; + } else { + if (yych <= 0xDF) + goto yy193; + if (yych <= 0xE0) + goto yy194; + goto yy195; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy196; + if (yych <= 0xEF) + goto yy195; + goto yy197; + } else { + if (yych <= 0xF3) + goto yy198; + if (yych <= 0xF4) + goto yy199; + goto yy165; + } + } + yy178: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy175; + goto yy165; + yy179: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy178; + goto yy165; + yy180: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy178; + goto yy165; + yy181: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy178; + goto yy165; + yy182: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy180; + goto yy165; + yy183: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy180; + goto yy165; + yy184: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy180; + goto yy165; + yy185: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy166; + } + if (yych == '/') + goto yy169; + if (yych == '>') + goto yy170; + goto yy165; + yy186: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy176; + goto yy165; + yy187: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy186; + goto yy165; + yy188: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy186; + goto yy165; + yy189: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy186; + goto yy165; + yy190: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy188; + goto yy165; + yy191: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy188; + goto yy165; + yy192: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy188; + goto yy165; + yy193: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy177; + goto yy165; + yy194: + yych = *++p; + if (yych <= 0x9F) + goto yy165; + if (yych <= 0xBF) + goto yy193; + goto yy165; + yy195: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy193; + goto yy165; + yy196: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x9F) + goto yy193; + goto yy165; + yy197: + yych = *++p; + if (yych <= 0x8F) + goto yy165; + if (yych <= 0xBF) + goto yy195; + goto yy165; + yy198: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0xBF) + goto yy195; + goto yy165; + yy199: + yych = *++p; + if (yych <= 0x7F) + goto yy165; + if (yych <= 0x8F) + goto yy195; + goto yy165; + } } +// Try to (liberally) match an HTML tag after first <, returning num of chars +// matched. +bufsize_t _scan_liberal_html_tag(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xE0) { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy201; + if (yych <= '\t') + goto yy203; + } else { + if (yych <= 0x7F) + goto yy203; + if (yych <= 0xC1) + goto yy201; + if (yych <= 0xDF) + goto yy204; + goto yy205; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy207; + goto yy206; + } else { + if (yych <= 0xF0) + goto yy208; + if (yych <= 0xF3) + goto yy209; + if (yych <= 0xF4) + goto yy210; + } + } + yy201: + ++p; + yy202 : { return 0; } + yy203: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy202; + if (yych <= '\t') + goto yy212; + goto yy202; + } else { + if (yych <= 0x7F) + goto yy212; + if (yych <= 0xC1) + goto yy202; + if (yych <= 0xF4) + goto yy212; + goto yy202; + } + yy204: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy211; + goto yy202; + yy205: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy202; + if (yych <= 0xBF) + goto yy216; + goto yy202; + yy206: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy216; + goto yy202; + yy207: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0x9F) + goto yy216; + goto yy202; + yy208: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy202; + if (yych <= 0xBF) + goto yy218; + goto yy202; + yy209: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0xBF) + goto yy218; + goto yy202; + yy210: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy202; + if (yych <= 0x8F) + goto yy218; + goto yy202; + yy211: + yych = *++p; + yy212: + if (yybm[0 + yych] & 64) { + goto yy211; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy213; + if (yych <= '>') + goto yy214; + } else { + if (yych <= 0xDF) + goto yy216; + if (yych <= 0xE0) + goto yy217; + goto yy218; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy219; + if (yych <= 0xEF) + goto yy218; + goto yy220; + } else { + if (yych <= 0xF3) + goto yy221; + if (yych <= 0xF4) + goto yy222; + } + } + yy213: + p = marker; + if (yyaccept == 0) { + goto yy202; + } else { + goto yy215; + } + yy214: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy211; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy215; + if (yych <= '>') + goto yy214; + } else { + if (yych <= 0xDF) + goto yy216; + if (yych <= 0xE0) + goto yy217; + goto yy218; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy219; + if (yych <= 0xEF) + goto yy218; + goto yy220; + } else { + if (yych <= 0xF3) + goto yy221; + if (yych <= 0xF4) + goto yy222; + } + } + yy215 : { return (bufsize_t)(p - start); } + yy216: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy211; + goto yy213; + yy217: + yych = *++p; + if (yych <= 0x9F) + goto yy213; + if (yych <= 0xBF) + goto yy216; + goto yy213; + yy218: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy216; + goto yy213; + yy219: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0x9F) + goto yy216; + goto yy213; + yy220: + yych = *++p; + if (yych <= 0x8F) + goto yy213; + if (yych <= 0xBF) + goto yy218; + goto yy213; + yy221: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0xBF) + goto yy218; + goto yy213; + yy222: + yych = *++p; + if (yych <= 0x7F) + goto yy213; + if (yych <= 0x8F) + goto yy218; + goto yy213; + } } -// Try to match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_html_tag(const unsigned char *p) -{ +bufsize_t _scan_html_comment(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - /* table 1 .. 8: 0 */ - 0, 250, 250, 250, 250, 250, 250, 250, - 250, 235, 235, 235, 235, 235, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, - 250, 250, 250, 250, 250, 250, 250, 250, - 235, 250, 202, 250, 250, 250, 250, 170, - 250, 250, 250, 250, 250, 246, 254, 250, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 234, 234, 232, 250, - 250, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 250, 122, 250, 254, - 234, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 254, 254, 254, 254, 254, - 254, 254, 254, 250, 250, 250, 250, 250, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - /* table 9 .. 11: 256 */ - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 192, 128, 128, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 128, 128, 128, 128, 128, 0, - 128, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 128, 128, 128, 128, 128, - 128, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 128, 128, 128, 128, 128, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '>') { - if (yych <= '!') { - if (yych >= '!') goto yy226; - } else { - if (yych == '/') goto yy227; - } - } else { - if (yych <= 'Z') { - if (yych <= '?') goto yy228; - if (yych >= 'A') goto yy229; - } else { - if (yych <= '`') goto yy224; - if (yych <= 'z') goto yy229; - } - } -yy224: - ++p; -yy225: - { return 0; } -yy226: - yych = *(marker = ++p); - if (yybm[256+yych] & 32) { - goto yy232; - } - if (yych == '-') goto yy230; - if (yych <= '@') goto yy225; - if (yych <= '[') goto yy234; - goto yy225; -yy227: - yych = *(marker = ++p); - if (yych <= '@') goto yy225; - if (yych <= 'Z') goto yy235; - if (yych <= '`') goto yy225; - if (yych <= 'z') goto yy235; - goto yy225; -yy228: - yych = *(marker = ++p); - if (yych <= 0x00) goto yy225; - if (yych <= 0x7F) goto yy238; - if (yych <= 0xC1) goto yy225; - if (yych <= 0xF4) goto yy238; - goto yy225; -yy229: - yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy225; - if (yych <= '\r') goto yy250; - goto yy225; - } else { - if (yych <= ' ') goto yy250; - if (yych == '-') goto yy250; - goto yy225; - } - } else { - if (yych <= '@') { - if (yych <= '9') goto yy250; - if (yych == '>') goto yy250; - goto yy225; - } else { - if (yych <= 'Z') goto yy250; - if (yych <= '`') goto yy225; - if (yych <= 'z') goto yy250; - goto yy225; - } - } -yy230: - yych = *++p; - if (yych == '-') goto yy254; -yy231: - p = marker; - goto yy225; -yy232: - yych = *++p; - if (yybm[256+yych] & 32) { - goto yy232; - } - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy255; - if (yych == ' ') goto yy255; - goto yy231; -yy234: - yych = *++p; - if (yych == 'C') goto yy257; - if (yych == 'c') goto yy257; - goto yy231; -yy235: - yych = *++p; - if (yybm[256+yych] & 64) { - goto yy235; - } - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy258; - goto yy231; - } else { - if (yych <= ' ') goto yy258; - if (yych == '>') goto yy252; - goto yy231; - } -yy237: - yych = *++p; -yy238: - if (yybm[256+yych] & 128) { - goto yy237; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych >= '@') goto yy231; - } else { - if (yych <= 0xDF) goto yy240; - if (yych <= 0xE0) goto yy241; - goto yy242; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy243; - if (yych <= 0xEF) goto yy242; - goto yy244; - } else { - if (yych <= 0xF3) goto yy245; - if (yych <= 0xF4) goto yy246; - goto yy231; - } - } - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) goto yy231; - if (yych <= '=') goto yy237; - goto yy252; - } else { - if (yych <= 0x7F) goto yy237; - if (yych <= 0xC1) goto yy231; - if (yych >= 0xE0) goto yy241; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy243; - goto yy242; - } else { - if (yych <= 0xF0) goto yy244; - if (yych <= 0xF3) goto yy245; - if (yych <= 0xF4) goto yy246; - goto yy231; - } - } -yy240: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy237; - goto yy231; -yy241: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy240; - goto yy231; -yy242: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy240; - goto yy231; -yy243: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy240; - goto yy231; -yy244: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy242; - goto yy231; -yy245: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy242; - goto yy231; -yy246: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy242; - goto yy231; -yy247: - yych = *++p; - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych <= '>') { - if (yych <= '9') { - if (yych == '/') goto yy251; - goto yy231; - } else { - if (yych <= ':') goto yy260; - if (yych <= '=') goto yy231; - goto yy252; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy231; - if (yych <= 'Z') goto yy260; - goto yy231; - } else { - if (yych == '`') goto yy231; - if (yych <= 'z') goto yy260; - goto yy231; - } - } -yy249: - yych = *++p; -yy250: - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych <= '=') { - if (yych <= '.') { - if (yych == '-') goto yy249; - goto yy231; - } else { - if (yych <= '/') goto yy251; - if (yych <= '9') goto yy249; - goto yy231; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy252; - if (yych <= '@') goto yy231; - goto yy249; - } else { - if (yych <= '`') goto yy231; - if (yych <= 'z') goto yy249; - goto yy231; - } - } -yy251: - yych = *++p; - if (yych != '>') goto yy231; -yy252: - ++p; - { return (bufsize_t)(p - start); } -yy254: - yych = *++p; - if (yych == '-') goto yy264; - if (yych == '>') goto yy231; - goto yy263; -yy255: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy255; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '>') goto yy252; - goto yy231; - } else { - if (yych <= 0xDF) goto yy272; - if (yych <= 0xE0) goto yy273; - goto yy274; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy275; - if (yych <= 0xEF) goto yy274; - goto yy276; - } else { - if (yych <= 0xF3) goto yy277; - if (yych <= 0xF4) goto yy278; - goto yy231; - } - } -yy257: - yych = *++p; - if (yych == 'D') goto yy279; - if (yych == 'd') goto yy279; - goto yy231; -yy258: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy258; - goto yy231; - } else { - if (yych <= ' ') goto yy258; - if (yych == '>') goto yy252; - goto yy231; - } -yy260: - yych = *++p; - if (yybm[0+yych] & 4) { - goto yy260; - } - if (yych <= ',') { - if (yych <= '\r') { - if (yych <= 0x08) goto yy231; - goto yy280; - } else { - if (yych == ' ') goto yy280; - goto yy231; - } - } else { - if (yych <= '<') { - if (yych <= '/') goto yy251; - goto yy231; - } else { - if (yych <= '=') goto yy282; - if (yych <= '>') goto yy252; - goto yy231; - } - } -yy262: - yych = *++p; -yy263: - if (yybm[0+yych] & 8) { - goto yy262; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '-') goto yy284; - goto yy231; - } else { - if (yych <= 0xDF) goto yy265; - if (yych <= 0xE0) goto yy266; - goto yy267; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy268; - if (yych <= 0xEF) goto yy267; - goto yy269; - } else { - if (yych <= 0xF3) goto yy270; - if (yych <= 0xF4) goto yy271; - goto yy231; - } - } -yy264: - yych = *++p; - if (yych == '-') goto yy251; - if (yych == '>') goto yy231; - goto yy263; -yy265: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy262; - goto yy231; -yy266: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy265; - goto yy231; -yy267: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy265; - goto yy231; -yy268: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy265; - goto yy231; -yy269: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy267; - goto yy231; -yy270: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy267; - goto yy231; -yy271: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy267; - goto yy231; -yy272: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy255; - goto yy231; -yy273: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy272; - goto yy231; -yy274: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy272; - goto yy231; -yy275: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy272; - goto yy231; -yy276: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy274; - goto yy231; -yy277: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy274; - goto yy231; -yy278: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy274; - goto yy231; -yy279: - yych = *++p; - if (yych == 'A') goto yy285; - if (yych == 'a') goto yy285; - goto yy231; -yy280: - yych = *++p; - if (yych <= '<') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy231; - if (yych <= '\r') goto yy280; - if (yych <= 0x1F) goto yy231; - goto yy280; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy231; - goto yy251; - } else { - if (yych == ':') goto yy260; - goto yy231; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '=') goto yy282; - if (yych <= '>') goto yy252; - if (yych <= '@') goto yy231; - goto yy260; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy231; - goto yy260; - } else { - if (yych <= '`') goto yy231; - if (yych <= 'z') goto yy260; - goto yy231; - } - } - } -yy282: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy286; - } - if (yych <= 0xE0) { - if (yych <= '"') { - if (yych <= 0x00) goto yy231; - if (yych <= ' ') goto yy282; - goto yy288; - } else { - if (yych <= '\'') goto yy290; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy292; - goto yy293; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy295; - goto yy294; - } else { - if (yych <= 0xF0) goto yy296; - if (yych <= 0xF3) goto yy297; - if (yych <= 0xF4) goto yy298; - goto yy231; - } - } -yy284: - yych = *++p; - if (yybm[0+yych] & 8) { - goto yy262; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '-') goto yy251; - goto yy231; - } else { - if (yych <= 0xDF) goto yy265; - if (yych <= 0xE0) goto yy266; - goto yy267; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy268; - if (yych <= 0xEF) goto yy267; - goto yy269; - } else { - if (yych <= 0xF3) goto yy270; - if (yych <= 0xF4) goto yy271; - goto yy231; - } - } -yy285: - yych = *++p; - if (yych == 'T') goto yy299; - if (yych == 't') goto yy299; - goto yy231; -yy286: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy286; - } - if (yych <= 0xE0) { - if (yych <= '=') { - if (yych <= 0x00) goto yy231; - if (yych <= ' ') goto yy247; - goto yy231; - } else { - if (yych <= '>') goto yy252; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy292; - goto yy293; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy295; - goto yy294; - } else { - if (yych <= 0xF0) goto yy296; - if (yych <= 0xF3) goto yy297; - if (yych <= 0xF4) goto yy298; - goto yy231; - } - } -yy288: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy288; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '"') goto yy300; - goto yy231; - } else { - if (yych <= 0xDF) goto yy301; - if (yych <= 0xE0) goto yy302; - goto yy303; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy304; - if (yych <= 0xEF) goto yy303; - goto yy305; - } else { - if (yych <= 0xF3) goto yy306; - if (yych <= 0xF4) goto yy307; - goto yy231; - } - } -yy290: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy290; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= '\'') goto yy300; - goto yy231; - } else { - if (yych <= 0xDF) goto yy308; - if (yych <= 0xE0) goto yy309; - goto yy310; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy311; - if (yych <= 0xEF) goto yy310; - goto yy312; - } else { - if (yych <= 0xF3) goto yy313; - if (yych <= 0xF4) goto yy314; - goto yy231; - } - } -yy292: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy286; - goto yy231; -yy293: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy292; - goto yy231; -yy294: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy292; - goto yy231; -yy295: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy292; - goto yy231; -yy296: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy294; - goto yy231; -yy297: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy294; - goto yy231; -yy298: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy294; - goto yy231; -yy299: - yych = *++p; - if (yych == 'A') goto yy315; - if (yych == 'a') goto yy315; - goto yy231; -yy300: - yych = *++p; - if (yybm[0+yych] & 1) { - goto yy247; - } - if (yych == '/') goto yy251; - if (yych == '>') goto yy252; - goto yy231; -yy301: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy288; - goto yy231; -yy302: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy301; - goto yy231; -yy303: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy301; - goto yy231; -yy304: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy301; - goto yy231; -yy305: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy303; - goto yy231; -yy306: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy303; - goto yy231; -yy307: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy303; - goto yy231; -yy308: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy290; - goto yy231; -yy309: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy308; - goto yy231; -yy310: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy308; - goto yy231; -yy311: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy308; - goto yy231; -yy312: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy310; - goto yy231; -yy313: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy310; - goto yy231; -yy314: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy310; - goto yy231; -yy315: - yych = *++p; - if (yych != '[') goto yy231; -yy316: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy316; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych >= '^') goto yy231; - } else { - if (yych <= 0xDF) goto yy319; - if (yych <= 0xE0) goto yy320; - goto yy321; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy322; - if (yych <= 0xEF) goto yy321; - goto yy323; - } else { - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy316; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy231; - if (yych <= ']') goto yy326; - goto yy231; - } else { - if (yych <= 0xDF) goto yy319; - if (yych <= 0xE0) goto yy320; - goto yy321; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy322; - if (yych <= 0xEF) goto yy321; - goto yy323; - } else { - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } -yy319: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy316; - goto yy231; -yy320: - yych = *++p; - if (yych <= 0x9F) goto yy231; - if (yych <= 0xBF) goto yy319; - goto yy231; -yy321: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy319; - goto yy231; -yy322: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x9F) goto yy319; - goto yy231; -yy323: - yych = *++p; - if (yych <= 0x8F) goto yy231; - if (yych <= 0xBF) goto yy321; - goto yy231; -yy324: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0xBF) goto yy321; - goto yy231; -yy325: - yych = *++p; - if (yych <= 0x7F) goto yy231; - if (yych <= 0x8F) goto yy321; - goto yy231; -yy326: - yych = *++p; - if (yych <= 0xE0) { - if (yych <= '>') { - if (yych <= 0x00) goto yy231; - if (yych <= '=') goto yy316; - goto yy252; - } else { - if (yych <= 0x7F) goto yy316; - if (yych <= 0xC1) goto yy231; - if (yych <= 0xDF) goto yy319; - goto yy320; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy322; - goto yy321; - } else { - if (yych <= 0xF0) goto yy323; - if (yych <= 0xF3) goto yy324; - if (yych <= 0xF4) goto yy325; - goto yy231; - } - } + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych == '-') + goto yy225; + ++p; + yy224 : { return 0; } + yy225: + yych = *(marker = ++p); + if (yych != '-') + goto yy224; + yy226: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy226; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy227; + if (yych <= '-') + goto yy228; + } else { + if (yych <= 0xDF) + goto yy229; + if (yych <= 0xE0) + goto yy230; + goto yy231; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy232; + if (yych <= 0xEF) + goto yy231; + goto yy233; + } else { + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + } + } + yy227: + p = marker; + goto yy224; + yy228: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy226; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy227; + if (yych <= '-') + goto yy236; + goto yy227; + } else { + if (yych <= 0xDF) + goto yy229; + if (yych <= 0xE0) + goto yy230; + goto yy231; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy232; + if (yych <= 0xEF) + goto yy231; + goto yy233; + } else { + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + goto yy227; + } + } + yy229: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy226; + goto yy227; + yy230: + yych = *++p; + if (yych <= 0x9F) + goto yy227; + if (yych <= 0xBF) + goto yy229; + goto yy227; + yy231: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy229; + goto yy227; + yy232: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0x9F) + goto yy229; + goto yy227; + yy233: + yych = *++p; + if (yych <= 0x8F) + goto yy227; + if (yych <= 0xBF) + goto yy231; + goto yy227; + yy234: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0xBF) + goto yy231; + goto yy227; + yy235: + yych = *++p; + if (yych <= 0x7F) + goto yy227; + if (yych <= 0x8F) + goto yy231; + goto yy227; + yy236: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy227; + if (yych <= '=') + goto yy226; + } else { + if (yych <= 0x7F) + goto yy226; + if (yych <= 0xC1) + goto yy227; + if (yych <= 0xDF) + goto yy229; + goto yy230; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy232; + goto yy231; + } else { + if (yych <= 0xF0) + goto yy233; + if (yych <= 0xF3) + goto yy234; + if (yych <= 0xF4) + goto yy235; + goto yy227; + } + } + ++p; + { return (bufsize_t)(p - start); } + } } +bufsize_t _scan_html_pi(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yybm[0 + yych] & 128) { + goto yy240; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy238; + if (yych <= '?') + goto yy243; + } else { + if (yych <= 0xDF) + goto yy244; + if (yych <= 0xE0) + goto yy245; + goto yy246; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy247; + if (yych <= 0xEF) + goto yy246; + goto yy248; + } else { + if (yych <= 0xF3) + goto yy249; + if (yych <= 0xF4) + goto yy250; + } + } + yy238: + ++p; + yy239 : { return 0; } + yy240: + yyaccept = 0; + yych = *(marker = ++p); + yy241: + if (yybm[0 + yych] & 128) { + goto yy240; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy242; + if (yych <= '?') + goto yy251; + } else { + if (yych <= 0xDF) + goto yy253; + if (yych <= 0xE0) + goto yy254; + goto yy255; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy256; + if (yych <= 0xEF) + goto yy255; + goto yy257; + } else { + if (yych <= 0xF3) + goto yy258; + if (yych <= 0xF4) + goto yy259; + } + } + yy242 : { return (bufsize_t)(p - start); } + yy243: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= '?') { + if (yych <= 0x00) + goto yy239; + if (yych <= '=') + goto yy241; + if (yych <= '>') + goto yy239; + goto yy240; + } else { + if (yych <= 0x7F) + goto yy241; + if (yych <= 0xC1) + goto yy239; + if (yych <= 0xF4) + goto yy241; + goto yy239; + } + yy244: + yych = *++p; + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy240; + goto yy239; + yy245: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy239; + if (yych <= 0xBF) + goto yy253; + goto yy239; + yy246: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy253; + goto yy239; + yy247: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0x9F) + goto yy253; + goto yy239; + yy248: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy239; + if (yych <= 0xBF) + goto yy255; + goto yy239; + yy249: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0xBF) + goto yy255; + goto yy239; + yy250: + yyaccept = 1; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy239; + if (yych <= 0x8F) + goto yy255; + goto yy239; + yy251: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy252; + if (yych <= '=') + goto yy240; + } else { + if (yych <= 0x7F) + goto yy240; + if (yych <= 0xC1) + goto yy252; + if (yych <= 0xDF) + goto yy253; + goto yy254; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy256; + goto yy255; + } else { + if (yych <= 0xF0) + goto yy257; + if (yych <= 0xF3) + goto yy258; + if (yych <= 0xF4) + goto yy259; + } + } + yy252: + p = marker; + if (yyaccept == 0) { + goto yy242; + } else { + goto yy239; + } + yy253: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy240; + goto yy252; + yy254: + yych = *++p; + if (yych <= 0x9F) + goto yy252; + if (yych <= 0xBF) + goto yy253; + goto yy252; + yy255: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy253; + goto yy252; + yy256: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0x9F) + goto yy253; + goto yy252; + yy257: + yych = *++p; + if (yych <= 0x8F) + goto yy252; + if (yych <= 0xBF) + goto yy255; + goto yy252; + yy258: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0xBF) + goto yy255; + goto yy252; + yy259: + yych = *++p; + if (yych <= 0x7F) + goto yy252; + if (yych <= 0x8F) + goto yy255; + goto yy252; + } } -// Try to (liberally) match an HTML tag after first <, returning num of chars matched. -bufsize_t _scan_liberal_html_tag(const unsigned char *p) -{ +bufsize_t _scan_html_declaration(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 128, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xE0) { - if (yych <= '\n') { - if (yych <= 0x00) goto yy329; - if (yych <= '\t') goto yy331; - } else { - if (yych <= 0x7F) goto yy331; - if (yych <= 0xC1) goto yy329; - if (yych <= 0xDF) goto yy332; - goto yy333; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy335; - goto yy334; - } else { - if (yych <= 0xF0) goto yy336; - if (yych <= 0xF3) goto yy337; - if (yych <= 0xF4) goto yy338; - } - } -yy329: - ++p; -yy330: - { return 0; } -yy331: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy330; - if (yych <= '\t') goto yy340; - goto yy330; - } else { - if (yych <= 0x7F) goto yy340; - if (yych <= 0xC1) goto yy330; - if (yych <= 0xF4) goto yy340; - goto yy330; - } -yy332: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy339; - goto yy330; -yy333: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy330; - if (yych <= 0xBF) goto yy345; - goto yy330; -yy334: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy345; - goto yy330; -yy335: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0x9F) goto yy345; - goto yy330; -yy336: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy330; - if (yych <= 0xBF) goto yy347; - goto yy330; -yy337: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0xBF) goto yy347; - goto yy330; -yy338: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy330; - if (yych <= 0x8F) goto yy347; - goto yy330; -yy339: - yych = *++p; -yy340: - if (yybm[0+yych] & 64) { - goto yy339; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy341; - if (yych <= '>') goto yy342; - } else { - if (yych <= 0xDF) goto yy345; - if (yych <= 0xE0) goto yy346; - goto yy347; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy348; - if (yych <= 0xEF) goto yy347; - goto yy349; - } else { - if (yych <= 0xF3) goto yy350; - if (yych <= 0xF4) goto yy351; - } - } -yy341: - p = marker; - if (yyaccept == 0) { - goto yy330; - } else { - goto yy344; - } -yy342: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy339; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy344; - if (yych <= '>') goto yy342; - } else { - if (yych <= 0xDF) goto yy345; - if (yych <= 0xE0) goto yy346; - goto yy347; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy348; - if (yych <= 0xEF) goto yy347; - goto yy349; - } else { - if (yych <= 0xF3) goto yy350; - if (yych <= 0xF4) goto yy351; - } - } -yy344: - { return (bufsize_t)(p - start); } -yy345: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy339; - goto yy341; -yy346: - yych = *++p; - if (yych <= 0x9F) goto yy341; - if (yych <= 0xBF) goto yy345; - goto yy341; -yy347: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy345; - goto yy341; -yy348: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0x9F) goto yy345; - goto yy341; -yy349: - yych = *++p; - if (yych <= 0x8F) goto yy341; - if (yych <= 0xBF) goto yy347; - goto yy341; -yy350: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0xBF) goto yy347; - goto yy341; -yy351: - yych = *++p; - if (yych <= 0x7F) goto yy341; - if (yych <= 0x8F) goto yy347; - goto yy341; + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 0, 64, 64, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '@') + goto yy261; + if (yych <= 'Z') + goto yy263; + yy261: + ++p; + yy262 : { return 0; } + yy263: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy266; + } + if (yych <= 0x08) + goto yy262; + if (yych <= '\r') + goto yy264; + if (yych != ' ') + goto yy262; + yy264: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy264; + } + if (yych <= 0xED) { + if (yych <= 0xDF) { + if (yych >= 0xC2) + goto yy268; + } else { + if (yych <= 0xE0) + goto yy269; + if (yych <= 0xEC) + goto yy270; + goto yy271; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy270; + goto yy272; + } else { + if (yych <= 0xF3) + goto yy273; + if (yych <= 0xF4) + goto yy274; + } + } + yy265 : { return (bufsize_t)(p - start); } + yy266: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy266; + } + if (yych <= 0x08) + goto yy267; + if (yych <= '\r') + goto yy264; + if (yych == ' ') + goto yy264; + yy267: + p = marker; + if (yyaccept == 0) { + goto yy262; + } else { + goto yy265; + } + yy268: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy264; + goto yy267; + yy269: + yych = *++p; + if (yych <= 0x9F) + goto yy267; + if (yych <= 0xBF) + goto yy268; + goto yy267; + yy270: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy268; + goto yy267; + yy271: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0x9F) + goto yy268; + goto yy267; + yy272: + yych = *++p; + if (yych <= 0x8F) + goto yy267; + if (yych <= 0xBF) + goto yy270; + goto yy267; + yy273: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0xBF) + goto yy270; + goto yy267; + yy274: + yych = *++p; + if (yych <= 0x7F) + goto yy267; + if (yych <= 0x8F) + goto yy270; + goto yy267; + } } +bufsize_t _scan_html_cdata(const unsigned char *p) { + const unsigned char *marker = NULL; + const unsigned char *start = p; + + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych == 'C') + goto yy277; + if (yych == 'c') + goto yy277; + ++p; + yy276 : { return 0; } + yy277: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'D') + goto yy278; + if (yych != 'd') + goto yy276; + yy278: + yych = *++p; + if (yych == 'A') + goto yy280; + if (yych == 'a') + goto yy280; + yy279: + p = marker; + if (yyaccept == 0) { + goto yy276; + } else { + goto yy284; + } + yy280: + yych = *++p; + if (yych == 'T') + goto yy281; + if (yych != 't') + goto yy279; + yy281: + yych = *++p; + if (yych == 'A') + goto yy282; + if (yych != 'a') + goto yy279; + yy282: + yych = *++p; + if (yych != '[') + goto yy279; + yy283: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy283; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy284; + if (yych <= ']') + goto yy285; + } else { + if (yych <= 0xDF) + goto yy286; + if (yych <= 0xE0) + goto yy287; + goto yy288; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy289; + if (yych <= 0xEF) + goto yy288; + goto yy290; + } else { + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + } + } + yy284 : { return (bufsize_t)(p - start); } + yy285: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy283; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy279; + if (yych <= ']') + goto yy293; + goto yy279; + } else { + if (yych <= 0xDF) + goto yy286; + if (yych <= 0xE0) + goto yy287; + goto yy288; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy289; + if (yych <= 0xEF) + goto yy288; + goto yy290; + } else { + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + goto yy279; + } + } + yy286: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy283; + goto yy279; + yy287: + yych = *++p; + if (yych <= 0x9F) + goto yy279; + if (yych <= 0xBF) + goto yy286; + goto yy279; + yy288: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy286; + goto yy279; + yy289: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0x9F) + goto yy286; + goto yy279; + yy290: + yych = *++p; + if (yych <= 0x8F) + goto yy279; + if (yych <= 0xBF) + goto yy288; + goto yy279; + yy291: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0xBF) + goto yy288; + goto yy279; + yy292: + yych = *++p; + if (yych <= 0x7F) + goto yy279; + if (yych <= 0x8F) + goto yy288; + goto yy279; + yy293: + yych = *++p; + if (yych <= 0xE0) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy279; + if (yych <= '=') + goto yy283; + goto yy279; + } else { + if (yych <= 0x7F) + goto yy283; + if (yych <= 0xC1) + goto yy279; + if (yych <= 0xDF) + goto yy286; + goto yy287; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy289; + goto yy288; + } else { + if (yych <= 0xF0) + goto yy290; + if (yych <= 0xF3) + goto yy291; + if (yych <= 0xF4) + goto yy292; + goto yy279; + } + } + } } // Try to match an HTML block tag start line, returning // an integer code for the type of block (1-6, matching the spec). // #7 is handled by a separate function, below. -bufsize_t _scan_html_block_start(const unsigned char *p) -{ +bufsize_t _scan_html_block_start(const unsigned char *p) { const unsigned char *marker = NULL; -{ - unsigned char yych; - yych = *p; - if (yych == '<') goto yy356; - ++p; -yy355: - { return 0; } -yy356: - yych = *(marker = ++p); - switch (yych) { - case '!': goto yy357; - case '/': goto yy359; - case '?': goto yy360; - case 'A': - case 'a': goto yy362; - case 'B': - case 'b': goto yy363; - case 'C': - case 'c': goto yy364; - case 'D': - case 'd': goto yy365; - case 'F': - case 'f': goto yy366; - case 'H': - case 'h': goto yy367; - case 'I': - case 'i': goto yy368; - case 'L': - case 'l': goto yy369; - case 'M': - case 'm': goto yy370; - case 'N': - case 'n': goto yy371; - case 'O': - case 'o': goto yy372; - case 'P': - case 'p': goto yy373; - case 'S': - case 's': goto yy374; - case 'T': - case 't': goto yy375; - case 'U': - case 'u': goto yy376; - default: goto yy355; - } -yy357: - yych = *++p; - if (yych <= '@') { - if (yych == '-') goto yy377; - } else { - if (yych <= 'Z') goto yy378; - if (yych <= '[') goto yy380; - } -yy358: - p = marker; - goto yy355; -yy359: - yych = *++p; - switch (yych) { - case 'A': - case 'a': goto yy362; - case 'B': - case 'b': goto yy363; - case 'C': - case 'c': goto yy364; - case 'D': - case 'd': goto yy365; - case 'F': - case 'f': goto yy366; - case 'H': - case 'h': goto yy367; - case 'I': - case 'i': goto yy368; - case 'L': - case 'l': goto yy369; - case 'M': - case 'm': goto yy370; - case 'N': - case 'n': goto yy371; - case 'O': - case 'o': goto yy372; - case 'P': - case 'p': goto yy381; - case 'S': - case 's': goto yy382; - case 'T': - case 't': goto yy375; - case 'U': - case 'u': goto yy376; - default: goto yy358; - } -yy360: - ++p; - { return 3; } -yy362: - yych = *++p; - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= 'C') goto yy358; - goto yy383; - } else { - if (yych <= 'Q') goto yy358; - if (yych <= 'R') goto yy384; - goto yy385; - } - } else { - if (yych <= 'q') { - if (yych == 'd') goto yy383; - goto yy358; - } else { - if (yych <= 'r') goto yy384; - if (yych <= 's') goto yy385; - goto yy358; - } - } -yy363: - yych = *++p; - if (yych <= 'O') { - if (yych <= 'K') { - if (yych == 'A') goto yy386; - goto yy358; - } else { - if (yych <= 'L') goto yy387; - if (yych <= 'N') goto yy358; - goto yy388; - } - } else { - if (yych <= 'k') { - if (yych == 'a') goto yy386; - goto yy358; - } else { - if (yych <= 'l') goto yy387; - if (yych == 'o') goto yy388; - goto yy358; - } - } -yy364: - yych = *++p; - if (yych <= 'O') { - if (yych <= 'D') { - if (yych == 'A') goto yy389; - goto yy358; - } else { - if (yych <= 'E') goto yy390; - if (yych <= 'N') goto yy358; - goto yy391; - } - } else { - if (yych <= 'd') { - if (yych == 'a') goto yy389; - goto yy358; - } else { - if (yych <= 'e') goto yy390; - if (yych == 'o') goto yy391; - goto yy358; - } - } -yy365: - yych = *++p; - switch (yych) { - case 'D': - case 'L': - case 'T': - case 'd': - case 'l': - case 't': goto yy392; - case 'E': - case 'e': goto yy393; - case 'I': - case 'i': goto yy394; - default: goto yy358; - } -yy366: - yych = *++p; - if (yych <= 'R') { - if (yych <= 'N') { - if (yych == 'I') goto yy395; - goto yy358; - } else { - if (yych <= 'O') goto yy396; - if (yych <= 'Q') goto yy358; - goto yy397; - } - } else { - if (yych <= 'n') { - if (yych == 'i') goto yy395; - goto yy358; - } else { - if (yych <= 'o') goto yy396; - if (yych == 'r') goto yy397; - goto yy358; - } - } -yy367: - yych = *++p; - if (yych <= 'S') { - if (yych <= 'D') { - if (yych <= '0') goto yy358; - if (yych <= '6') goto yy392; - goto yy358; - } else { - if (yych <= 'E') goto yy398; - if (yych == 'R') goto yy392; - goto yy358; - } - } else { - if (yych <= 'q') { - if (yych <= 'T') goto yy399; - if (yych == 'e') goto yy398; - goto yy358; - } else { - if (yych <= 'r') goto yy392; - if (yych == 't') goto yy399; - goto yy358; - } - } -yy368: - yych = *++p; - if (yych == 'F') goto yy400; - if (yych == 'f') goto yy400; - goto yy358; -yy369: - yych = *++p; - if (yych <= 'I') { - if (yych == 'E') goto yy401; - if (yych <= 'H') goto yy358; - goto yy402; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy401; - } else { - if (yych == 'i') goto yy402; - goto yy358; - } - } -yy370: - yych = *++p; - if (yych <= 'E') { - if (yych == 'A') goto yy403; - if (yych <= 'D') goto yy358; - goto yy404; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy403; - } else { - if (yych == 'e') goto yy404; - goto yy358; - } - } -yy371: - yych = *++p; - if (yych <= 'O') { - if (yych == 'A') goto yy405; - if (yych <= 'N') goto yy358; - goto yy406; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy405; - } else { - if (yych == 'o') goto yy406; - goto yy358; - } - } -yy372: - yych = *++p; - if (yych <= 'P') { - if (yych == 'L') goto yy392; - if (yych <= 'O') goto yy358; - goto yy407; - } else { - if (yych <= 'l') { - if (yych <= 'k') goto yy358; - goto yy392; - } else { - if (yych == 'p') goto yy407; - goto yy358; - } - } -yy373: - yych = *++p; - if (yych <= '>') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - if (yych <= 0x1F) goto yy358; - goto yy408; - } else { - if (yych == '/') goto yy410; - if (yych <= '=') goto yy358; - goto yy408; - } - } else { - if (yych <= 'R') { - if (yych == 'A') goto yy411; - if (yych <= 'Q') goto yy358; - goto yy412; - } else { - if (yych <= 'a') { - if (yych <= '`') goto yy358; - goto yy411; - } else { - if (yych == 'r') goto yy412; - goto yy358; - } - } - } -yy374: - yych = *++p; - if (yych <= 'U') { - if (yych <= 'D') { - if (yych == 'C') goto yy413; - goto yy358; - } else { - if (yych <= 'E') goto yy414; - if (yych <= 'S') goto yy358; - if (yych <= 'T') goto yy415; - goto yy416; - } - } else { - if (yych <= 'e') { - if (yych == 'c') goto yy413; - if (yych <= 'd') goto yy358; - goto yy414; - } else { - if (yych <= 's') goto yy358; - if (yych <= 't') goto yy415; - if (yych <= 'u') goto yy416; - goto yy358; - } - } -yy375: - yych = *++p; - switch (yych) { - case 'A': - case 'a': goto yy417; - case 'B': - case 'b': goto yy418; - case 'D': - case 'd': goto yy392; - case 'F': - case 'f': goto yy419; - case 'H': - case 'h': goto yy420; - case 'I': - case 'i': goto yy421; - case 'R': - case 'r': goto yy422; - default: goto yy358; - } -yy376: - yych = *++p; - if (yych == 'L') goto yy392; - if (yych == 'l') goto yy392; - goto yy358; -yy377: - yych = *++p; - if (yych == '-') goto yy423; - goto yy358; -yy378: - ++p; - { return 4; } -yy380: - yych = *++p; - if (yych == 'C') goto yy425; - if (yych == 'c') goto yy425; - goto yy358; -yy381: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= '@') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'A') goto yy411; - if (yych == 'a') goto yy411; - goto yy358; - } - } -yy382: - yych = *++p; - if (yych <= 'U') { - if (yych == 'E') goto yy414; - if (yych <= 'T') goto yy358; - goto yy416; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy414; - } else { - if (yych == 'u') goto yy416; - goto yy358; - } - } -yy383: - yych = *++p; - if (yych == 'D') goto yy426; - if (yych == 'd') goto yy426; - goto yy358; -yy384: - yych = *++p; - if (yych == 'T') goto yy427; - if (yych == 't') goto yy427; - goto yy358; -yy385: - yych = *++p; - if (yych == 'I') goto yy428; - if (yych == 'i') goto yy428; - goto yy358; -yy386: - yych = *++p; - if (yych == 'S') goto yy429; - if (yych == 's') goto yy429; - goto yy358; -yy387: - yych = *++p; - if (yych == 'O') goto yy430; - if (yych == 'o') goto yy430; - goto yy358; -yy388: - yych = *++p; - if (yych == 'D') goto yy431; - if (yych == 'd') goto yy431; - goto yy358; -yy389: - yych = *++p; - if (yych == 'P') goto yy432; - if (yych == 'p') goto yy432; - goto yy358; -yy390: - yych = *++p; - if (yych == 'N') goto yy433; - if (yych == 'n') goto yy433; - goto yy358; -yy391: - yych = *++p; - if (yych == 'L') goto yy434; - if (yych == 'l') goto yy434; - goto yy358; -yy392: - yych = *++p; - if (yych <= ' ') { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - if (yych <= 0x1F) goto yy358; - goto yy408; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy358; - goto yy410; - } else { - if (yych == '>') goto yy408; - goto yy358; - } - } -yy393: - yych = *++p; - if (yych == 'T') goto yy435; - if (yych == 't') goto yy435; - goto yy358; -yy394: - yych = *++p; - if (yych <= 'V') { - if (yych <= 'Q') { - if (yych == 'A') goto yy436; - goto yy358; - } else { - if (yych <= 'R') goto yy392; - if (yych <= 'U') goto yy358; - goto yy392; - } - } else { - if (yych <= 'q') { - if (yych == 'a') goto yy436; - goto yy358; - } else { - if (yych <= 'r') goto yy392; - if (yych == 'v') goto yy392; - goto yy358; - } - } -yy395: - yych = *++p; - if (yych <= 'G') { - if (yych == 'E') goto yy437; - if (yych <= 'F') goto yy358; - goto yy438; - } else { - if (yych <= 'e') { - if (yych <= 'd') goto yy358; - goto yy437; - } else { - if (yych == 'g') goto yy438; - goto yy358; - } - } -yy396: - yych = *++p; - if (yych <= 'R') { - if (yych == 'O') goto yy433; - if (yych <= 'Q') goto yy358; - goto yy439; - } else { - if (yych <= 'o') { - if (yych <= 'n') goto yy358; - goto yy433; - } else { - if (yych == 'r') goto yy439; - goto yy358; - } - } -yy397: - yych = *++p; - if (yych == 'A') goto yy440; - if (yych == 'a') goto yy440; - goto yy358; -yy398: - yych = *++p; - if (yych == 'A') goto yy441; - if (yych == 'a') goto yy441; - goto yy358; -yy399: - yych = *++p; - if (yych == 'M') goto yy376; - if (yych == 'm') goto yy376; - goto yy358; -yy400: - yych = *++p; - if (yych == 'R') goto yy442; - if (yych == 'r') goto yy442; - goto yy358; -yy401: - yych = *++p; - if (yych == 'G') goto yy443; - if (yych == 'g') goto yy443; - goto yy358; -yy402: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'M') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'N') goto yy444; - if (yych == 'n') goto yy444; - goto yy358; - } - } -yy403: - yych = *++p; - if (yych == 'I') goto yy445; - if (yych == 'i') goto yy445; - goto yy358; -yy404: - yych = *++p; - if (yych == 'N') goto yy446; - if (yych == 'n') goto yy446; - goto yy358; -yy405: - yych = *++p; - if (yych == 'V') goto yy392; - if (yych == 'v') goto yy392; - goto yy358; -yy406: - yych = *++p; - if (yych == 'F') goto yy447; - if (yych == 'f') goto yy447; - goto yy358; -yy407: - yych = *++p; - if (yych == 'T') goto yy448; - if (yych == 't') goto yy448; - goto yy358; -yy408: - ++p; - { return 6; } -yy410: - yych = *++p; - if (yych == '>') goto yy408; - goto yy358; -yy411: - yych = *++p; - if (yych == 'R') goto yy449; - if (yych == 'r') goto yy449; - goto yy358; -yy412: - yych = *++p; - if (yych == 'E') goto yy450; - if (yych == 'e') goto yy450; - goto yy358; -yy413: - yych = *++p; - if (yych == 'R') goto yy451; - if (yych == 'r') goto yy451; - goto yy358; -yy414: - yych = *++p; - if (yych == 'C') goto yy432; - if (yych == 'c') goto yy432; - goto yy358; -yy415: - yych = *++p; - if (yych == 'Y') goto yy452; - if (yych == 'y') goto yy452; - goto yy358; -yy416: - yych = *++p; - if (yych == 'M') goto yy453; - if (yych == 'm') goto yy453; - goto yy358; -yy417: - yych = *++p; - if (yych == 'B') goto yy454; - if (yych == 'b') goto yy454; - goto yy358; -yy418: - yych = *++p; - if (yych == 'O') goto yy388; - if (yych == 'o') goto yy388; - goto yy358; -yy419: - yych = *++p; - if (yych == 'O') goto yy455; - if (yych == 'o') goto yy455; - goto yy358; -yy420: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'D') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'E') goto yy456; - if (yych == 'e') goto yy456; - goto yy358; - } - } -yy421: - yych = *++p; - if (yych == 'T') goto yy454; - if (yych == 't') goto yy454; - goto yy358; -yy422: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= '@') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'A') goto yy457; - if (yych == 'a') goto yy457; - goto yy358; - } - } -yy423: - ++p; - { return 2; } -yy425: - yych = *++p; - if (yych == 'D') goto yy458; - if (yych == 'd') goto yy458; - goto yy358; -yy426: - yych = *++p; - if (yych == 'R') goto yy459; - if (yych == 'r') goto yy459; - goto yy358; -yy427: - yych = *++p; - if (yych == 'I') goto yy460; - if (yych == 'i') goto yy460; - goto yy358; -yy428: - yych = *++p; - if (yych == 'D') goto yy461; - if (yych == 'd') goto yy461; - goto yy358; -yy429: - yych = *++p; - if (yych == 'E') goto yy462; - if (yych == 'e') goto yy462; - goto yy358; -yy430: - yych = *++p; - if (yych == 'C') goto yy463; - if (yych == 'c') goto yy463; - goto yy358; -yy431: - yych = *++p; - if (yych == 'Y') goto yy392; - if (yych == 'y') goto yy392; - goto yy358; -yy432: - yych = *++p; - if (yych == 'T') goto yy464; - if (yych == 't') goto yy464; - goto yy358; -yy433: - yych = *++p; - if (yych == 'T') goto yy465; - if (yych == 't') goto yy465; - goto yy358; -yy434: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'F') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'G') goto yy466; - if (yych == 'g') goto yy466; - goto yy358; - } - } -yy435: - yych = *++p; - if (yych == 'A') goto yy467; - if (yych == 'a') goto yy467; - goto yy358; -yy436: - yych = *++p; - if (yych == 'L') goto yy468; - if (yych == 'l') goto yy468; - goto yy358; -yy437: - yych = *++p; - if (yych == 'L') goto yy469; - if (yych == 'l') goto yy469; - goto yy358; -yy438: - yych = *++p; - if (yych <= 'U') { - if (yych == 'C') goto yy470; - if (yych <= 'T') goto yy358; - goto yy471; - } else { - if (yych <= 'c') { - if (yych <= 'b') goto yy358; - goto yy470; - } else { - if (yych == 'u') goto yy471; - goto yy358; - } - } -yy439: - yych = *++p; - if (yych == 'M') goto yy392; - if (yych == 'm') goto yy392; - goto yy358; -yy440: - yych = *++p; - if (yych == 'M') goto yy472; - if (yych == 'm') goto yy472; - goto yy358; -yy441: - yych = *++p; - if (yych == 'D') goto yy473; - if (yych == 'd') goto yy473; - goto yy358; -yy442: - yych = *++p; - if (yych == 'A') goto yy474; - if (yych == 'a') goto yy474; - goto yy358; -yy443: - yych = *++p; - if (yych == 'E') goto yy475; - if (yych == 'e') goto yy475; - goto yy358; -yy444: - yych = *++p; - if (yych == 'K') goto yy392; - if (yych == 'k') goto yy392; - goto yy358; -yy445: - yych = *++p; - if (yych == 'N') goto yy392; - if (yych == 'n') goto yy392; - goto yy358; -yy446: - yych = *++p; - if (yych == 'U') goto yy476; - if (yych == 'u') goto yy476; - goto yy358; -yy447: - yych = *++p; - if (yych == 'R') goto yy477; - if (yych == 'r') goto yy477; - goto yy358; -yy448: - yych = *++p; - if (yych <= 'I') { - if (yych == 'G') goto yy466; - if (yych <= 'H') goto yy358; - goto yy478; - } else { - if (yych <= 'g') { - if (yych <= 'f') goto yy358; - goto yy466; - } else { - if (yych == 'i') goto yy478; - goto yy358; - } - } -yy449: - yych = *++p; - if (yych == 'A') goto yy439; - if (yych == 'a') goto yy439; - goto yy358; -yy450: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy479; - goto yy358; - } else { - if (yych <= ' ') goto yy479; - if (yych == '>') goto yy479; - goto yy358; - } -yy451: - yych = *++p; - if (yych == 'I') goto yy481; - if (yych == 'i') goto yy481; - goto yy358; -yy452: - yych = *++p; - if (yych == 'L') goto yy412; - if (yych == 'l') goto yy412; - goto yy358; -yy453: - yych = *++p; - if (yych == 'M') goto yy482; - if (yych == 'm') goto yy482; - goto yy358; -yy454: - yych = *++p; - if (yych == 'L') goto yy461; - if (yych == 'l') goto yy461; - goto yy358; -yy455: - yych = *++p; - if (yych == 'O') goto yy483; - if (yych == 'o') goto yy483; - goto yy358; -yy456: - yych = *++p; - if (yych == 'A') goto yy484; - if (yych == 'a') goto yy484; - goto yy358; -yy457: - yych = *++p; - if (yych == 'C') goto yy444; - if (yych == 'c') goto yy444; - goto yy358; -yy458: - yych = *++p; - if (yych == 'A') goto yy485; - if (yych == 'a') goto yy485; - goto yy358; -yy459: - yych = *++p; - if (yych == 'E') goto yy486; - if (yych == 'e') goto yy486; - goto yy358; -yy460: - yych = *++p; - if (yych == 'C') goto yy454; - if (yych == 'c') goto yy454; - goto yy358; -yy461: - yych = *++p; - if (yych == 'E') goto yy392; - if (yych == 'e') goto yy392; - goto yy358; -yy462: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'E') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'F') goto yy487; - if (yych == 'f') goto yy487; - goto yy358; - } - } -yy463: - yych = *++p; - if (yych == 'K') goto yy488; - if (yych == 'k') goto yy488; - goto yy358; -yy464: - yych = *++p; - if (yych == 'I') goto yy478; - if (yych == 'i') goto yy478; - goto yy358; -yy465: - yych = *++p; - if (yych == 'E') goto yy489; - if (yych == 'e') goto yy489; - goto yy358; -yy466: - yych = *++p; - if (yych == 'R') goto yy490; - if (yych == 'r') goto yy490; - goto yy358; -yy467: - yych = *++p; - if (yych == 'I') goto yy491; - if (yych == 'i') goto yy491; - goto yy358; -yy468: - yych = *++p; - if (yych == 'O') goto yy492; - if (yych == 'o') goto yy492; - goto yy358; -yy469: - yych = *++p; - if (yych == 'D') goto yy493; - if (yych == 'd') goto yy493; - goto yy358; -yy470: - yych = *++p; - if (yych == 'A') goto yy389; - if (yych == 'a') goto yy389; - goto yy358; -yy471: - yych = *++p; - if (yych == 'R') goto yy461; - if (yych == 'r') goto yy461; - goto yy358; -yy472: - yych = *++p; - if (yych == 'E') goto yy494; - if (yych == 'e') goto yy494; - goto yy358; -yy473: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'D') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'E') goto yy489; - if (yych == 'e') goto yy489; - goto yy358; - } - } -yy474: - yych = *++p; - if (yych == 'M') goto yy461; - if (yych == 'm') goto yy461; - goto yy358; -yy475: - yych = *++p; - if (yych == 'N') goto yy484; - if (yych == 'n') goto yy484; - goto yy358; -yy476: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'H') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'I') goto yy495; - if (yych == 'i') goto yy495; - goto yy358; - } - } -yy477: - yych = *++p; - if (yych == 'A') goto yy496; - if (yych == 'a') goto yy496; - goto yy358; -yy478: - yych = *++p; - if (yych == 'O') goto yy445; - if (yych == 'o') goto yy445; - goto yy358; -yy479: - ++p; - { return 1; } -yy481: - yych = *++p; - if (yych == 'P') goto yy497; - if (yych == 'p') goto yy497; - goto yy358; -yy482: - yych = *++p; - if (yych == 'A') goto yy498; - if (yych == 'a') goto yy498; - goto yy358; -yy483: - yych = *++p; - if (yych == 'T') goto yy392; - if (yych == 't') goto yy392; - goto yy358; -yy484: - yych = *++p; - if (yych == 'D') goto yy392; - if (yych == 'd') goto yy392; - goto yy358; -yy485: - yych = *++p; - if (yych == 'T') goto yy499; - if (yych == 't') goto yy499; - goto yy358; -yy486: - yych = *++p; - if (yych == 'S') goto yy500; - if (yych == 's') goto yy500; - goto yy358; -yy487: - yych = *++p; - if (yych == 'O') goto yy501; - if (yych == 'o') goto yy501; - goto yy358; -yy488: - yych = *++p; - if (yych == 'Q') goto yy502; - if (yych == 'q') goto yy502; - goto yy358; -yy489: - yych = *++p; - if (yych == 'R') goto yy392; - if (yych == 'r') goto yy392; - goto yy358; -yy490: - yych = *++p; - if (yych == 'O') goto yy503; - if (yych == 'o') goto yy503; - goto yy358; -yy491: - yych = *++p; - if (yych == 'L') goto yy500; - if (yych == 'l') goto yy500; - goto yy358; -yy492: - yych = *++p; - if (yych == 'G') goto yy392; - if (yych == 'g') goto yy392; - goto yy358; -yy493: - yych = *++p; - if (yych == 'S') goto yy504; - if (yych == 's') goto yy504; - goto yy358; -yy494: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy358; - if (yych <= '\r') goto yy408; - goto yy358; - } else { - if (yych <= ' ') goto yy408; - if (yych <= '.') goto yy358; - goto yy410; - } - } else { - if (yych <= 'R') { - if (yych == '>') goto yy408; - goto yy358; - } else { - if (yych <= 'S') goto yy504; - if (yych == 's') goto yy504; - goto yy358; - } - } -yy495: - yych = *++p; - if (yych == 'T') goto yy505; - if (yych == 't') goto yy505; - goto yy358; -yy496: - yych = *++p; - if (yych == 'M') goto yy506; - if (yych == 'm') goto yy506; - goto yy358; -yy497: - yych = *++p; - if (yych == 'T') goto yy450; - if (yych == 't') goto yy450; - goto yy358; -yy498: - yych = *++p; - if (yych == 'R') goto yy431; - if (yych == 'r') goto yy431; - goto yy358; -yy499: - yych = *++p; - if (yych == 'A') goto yy507; - if (yych == 'a') goto yy507; - goto yy358; -yy500: - yych = *++p; - if (yych == 'S') goto yy392; - if (yych == 's') goto yy392; - goto yy358; -yy501: - yych = *++p; - if (yych == 'N') goto yy483; - if (yych == 'n') goto yy483; - goto yy358; -yy502: - yych = *++p; - if (yych == 'U') goto yy508; - if (yych == 'u') goto yy508; - goto yy358; -yy503: - yych = *++p; - if (yych == 'U') goto yy509; - if (yych == 'u') goto yy509; - goto yy358; -yy504: - yych = *++p; - if (yych == 'E') goto yy483; - if (yych == 'e') goto yy483; - goto yy358; -yy505: - yych = *++p; - if (yych == 'E') goto yy439; - if (yych == 'e') goto yy439; - goto yy358; -yy506: - yych = *++p; - if (yych == 'E') goto yy500; - if (yych == 'e') goto yy500; - goto yy358; -yy507: - yych = *++p; - if (yych == '[') goto yy510; - goto yy358; -yy508: - yych = *++p; - if (yych == 'O') goto yy512; - if (yych == 'o') goto yy512; - goto yy358; -yy509: - yych = *++p; - if (yych == 'P') goto yy392; - if (yych == 'p') goto yy392; - goto yy358; -yy510: - ++p; - { return 5; } -yy512: - yych = *++p; - if (yych == 'T') goto yy461; - if (yych == 't') goto yy461; - goto yy358; -} - + { + unsigned char yych; + yych = *p; + if (yych == '<') + goto yy296; + ++p; + yy295 : { return 0; } + yy296: + yych = *(marker = ++p); + switch (yych) { + case '!': + goto yy297; + case '/': + goto yy299; + case '?': + goto yy300; + case 'A': + case 'a': + goto yy301; + case 'B': + case 'b': + goto yy302; + case 'C': + case 'c': + goto yy303; + case 'D': + case 'd': + goto yy304; + case 'F': + case 'f': + goto yy305; + case 'H': + case 'h': + goto yy306; + case 'I': + case 'i': + goto yy307; + case 'L': + case 'l': + goto yy308; + case 'M': + case 'm': + goto yy309; + case 'N': + case 'n': + goto yy310; + case 'O': + case 'o': + goto yy311; + case 'P': + case 'p': + goto yy312; + case 'S': + case 's': + goto yy313; + case 'T': + case 't': + goto yy314; + case 'U': + case 'u': + goto yy315; + default: + goto yy295; + } + yy297: + yych = *++p; + if (yych <= '@') { + if (yych == '-') + goto yy316; + } else { + if (yych <= 'Z') + goto yy317; + if (yych <= '[') + goto yy318; + } + yy298: + p = marker; + goto yy295; + yy299: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy301; + case 'B': + case 'b': + goto yy302; + case 'C': + case 'c': + goto yy303; + case 'D': + case 'd': + goto yy304; + case 'F': + case 'f': + goto yy305; + case 'H': + case 'h': + goto yy306; + case 'I': + case 'i': + goto yy307; + case 'L': + case 'l': + goto yy308; + case 'M': + case 'm': + goto yy309; + case 'N': + case 'n': + goto yy310; + case 'O': + case 'o': + goto yy311; + case 'P': + case 'p': + goto yy319; + case 'S': + case 's': + goto yy320; + case 'T': + case 't': + goto yy321; + case 'U': + case 'u': + goto yy315; + default: + goto yy298; + } + yy300: + ++p; + { return 3; } + yy301: + yych = *++p; + if (yych <= 'S') { + if (yych <= 'D') { + if (yych <= 'C') + goto yy298; + goto yy322; + } else { + if (yych <= 'Q') + goto yy298; + if (yych <= 'R') + goto yy323; + goto yy324; + } + } else { + if (yych <= 'q') { + if (yych == 'd') + goto yy322; + goto yy298; + } else { + if (yych <= 'r') + goto yy323; + if (yych <= 's') + goto yy324; + goto yy298; + } + } + yy302: + yych = *++p; + if (yych <= 'O') { + if (yych <= 'K') { + if (yych == 'A') + goto yy325; + goto yy298; + } else { + if (yych <= 'L') + goto yy326; + if (yych <= 'N') + goto yy298; + goto yy327; + } + } else { + if (yych <= 'k') { + if (yych == 'a') + goto yy325; + goto yy298; + } else { + if (yych <= 'l') + goto yy326; + if (yych == 'o') + goto yy327; + goto yy298; + } + } + yy303: + yych = *++p; + if (yych <= 'O') { + if (yych <= 'D') { + if (yych == 'A') + goto yy328; + goto yy298; + } else { + if (yych <= 'E') + goto yy329; + if (yych <= 'N') + goto yy298; + goto yy330; + } + } else { + if (yych <= 'd') { + if (yych == 'a') + goto yy328; + goto yy298; + } else { + if (yych <= 'e') + goto yy329; + if (yych == 'o') + goto yy330; + goto yy298; + } + } + yy304: + yych = *++p; + switch (yych) { + case 'D': + case 'L': + case 'T': + case 'd': + case 'l': + case 't': + goto yy331; + case 'E': + case 'e': + goto yy332; + case 'I': + case 'i': + goto yy333; + default: + goto yy298; + } + yy305: + yych = *++p; + if (yych <= 'R') { + if (yych <= 'N') { + if (yych == 'I') + goto yy334; + goto yy298; + } else { + if (yych <= 'O') + goto yy335; + if (yych <= 'Q') + goto yy298; + goto yy336; + } + } else { + if (yych <= 'n') { + if (yych == 'i') + goto yy334; + goto yy298; + } else { + if (yych <= 'o') + goto yy335; + if (yych == 'r') + goto yy336; + goto yy298; + } + } + yy306: + yych = *++p; + if (yych <= 'S') { + if (yych <= 'D') { + if (yych <= '0') + goto yy298; + if (yych <= '6') + goto yy331; + goto yy298; + } else { + if (yych <= 'E') + goto yy337; + if (yych == 'R') + goto yy331; + goto yy298; + } + } else { + if (yych <= 'q') { + if (yych <= 'T') + goto yy338; + if (yych == 'e') + goto yy337; + goto yy298; + } else { + if (yych <= 'r') + goto yy331; + if (yych == 't') + goto yy338; + goto yy298; + } + } + yy307: + yych = *++p; + if (yych == 'F') + goto yy339; + if (yych == 'f') + goto yy339; + goto yy298; + yy308: + yych = *++p; + if (yych <= 'I') { + if (yych == 'E') + goto yy340; + if (yych <= 'H') + goto yy298; + goto yy341; + } else { + if (yych <= 'e') { + if (yych <= 'd') + goto yy298; + goto yy340; + } else { + if (yych == 'i') + goto yy341; + goto yy298; + } + } + yy309: + yych = *++p; + if (yych <= 'E') { + if (yych == 'A') + goto yy342; + if (yych <= 'D') + goto yy298; + goto yy343; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy342; + } else { + if (yych == 'e') + goto yy343; + goto yy298; + } + } + yy310: + yych = *++p; + if (yych <= 'O') { + if (yych == 'A') + goto yy344; + if (yych <= 'N') + goto yy298; + goto yy345; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy344; + } else { + if (yych == 'o') + goto yy345; + goto yy298; + } + } + yy311: + yych = *++p; + if (yych <= 'P') { + if (yych == 'L') + goto yy331; + if (yych <= 'O') + goto yy298; + goto yy346; + } else { + if (yych <= 'l') { + if (yych <= 'k') + goto yy298; + goto yy331; + } else { + if (yych == 'p') + goto yy346; + goto yy298; + } + } + yy312: + yych = *++p; + if (yych <= '>') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + if (yych <= 0x1F) + goto yy298; + goto yy347; + } else { + if (yych == '/') + goto yy348; + if (yych <= '=') + goto yy298; + goto yy347; + } + } else { + if (yych <= 'R') { + if (yych == 'A') + goto yy349; + if (yych <= 'Q') + goto yy298; + goto yy350; + } else { + if (yych <= 'a') { + if (yych <= '`') + goto yy298; + goto yy349; + } else { + if (yych == 'r') + goto yy350; + goto yy298; + } + } + } + yy313: + yych = *++p; + switch (yych) { + case 'C': + case 'c': + goto yy351; + case 'E': + case 'e': + goto yy352; + case 'O': + case 'o': + goto yy353; + case 'T': + case 't': + goto yy354; + case 'U': + case 'u': + goto yy355; + default: + goto yy298; + } + yy314: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy356; + case 'B': + case 'b': + goto yy357; + case 'D': + case 'd': + goto yy331; + case 'E': + case 'e': + goto yy358; + case 'F': + case 'f': + goto yy359; + case 'H': + case 'h': + goto yy360; + case 'I': + case 'i': + goto yy361; + case 'R': + case 'r': + goto yy362; + default: + goto yy298; + } + yy315: + yych = *++p; + if (yych == 'L') + goto yy331; + if (yych == 'l') + goto yy331; + goto yy298; + yy316: + yych = *++p; + if (yych == '-') + goto yy363; + goto yy298; + yy317: + ++p; + { return 4; } + yy318: + yych = *++p; + if (yych == 'C') + goto yy364; + if (yych == 'c') + goto yy364; + goto yy298; + yy319: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= '@') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'A') + goto yy349; + if (yych == 'a') + goto yy349; + goto yy298; + } + } + yy320: + yych = *++p; + if (yych <= 'U') { + if (yych <= 'N') { + if (yych == 'E') + goto yy352; + goto yy298; + } else { + if (yych <= 'O') + goto yy353; + if (yych <= 'T') + goto yy298; + goto yy355; + } + } else { + if (yych <= 'n') { + if (yych == 'e') + goto yy352; + goto yy298; + } else { + if (yych <= 'o') + goto yy353; + if (yych == 'u') + goto yy355; + goto yy298; + } + } + yy321: + yych = *++p; + switch (yych) { + case 'A': + case 'a': + goto yy356; + case 'B': + case 'b': + goto yy357; + case 'D': + case 'd': + goto yy331; + case 'F': + case 'f': + goto yy359; + case 'H': + case 'h': + goto yy360; + case 'I': + case 'i': + goto yy361; + case 'R': + case 'r': + goto yy362; + default: + goto yy298; + } + yy322: + yych = *++p; + if (yych == 'D') + goto yy365; + if (yych == 'd') + goto yy365; + goto yy298; + yy323: + yych = *++p; + if (yych == 'T') + goto yy366; + if (yych == 't') + goto yy366; + goto yy298; + yy324: + yych = *++p; + if (yych == 'I') + goto yy367; + if (yych == 'i') + goto yy367; + goto yy298; + yy325: + yych = *++p; + if (yych == 'S') + goto yy368; + if (yych == 's') + goto yy368; + goto yy298; + yy326: + yych = *++p; + if (yych == 'O') + goto yy369; + if (yych == 'o') + goto yy369; + goto yy298; + yy327: + yych = *++p; + if (yych == 'D') + goto yy370; + if (yych == 'd') + goto yy370; + goto yy298; + yy328: + yych = *++p; + if (yych == 'P') + goto yy371; + if (yych == 'p') + goto yy371; + goto yy298; + yy329: + yych = *++p; + if (yych == 'N') + goto yy372; + if (yych == 'n') + goto yy372; + goto yy298; + yy330: + yych = *++p; + if (yych == 'L') + goto yy373; + if (yych == 'l') + goto yy373; + goto yy298; + yy331: + yych = *++p; + if (yych <= ' ') { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + if (yych <= 0x1F) + goto yy298; + goto yy347; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy298; + goto yy348; + } else { + if (yych == '>') + goto yy347; + goto yy298; + } + } + yy332: + yych = *++p; + if (yych == 'T') + goto yy374; + if (yych == 't') + goto yy374; + goto yy298; + yy333: + yych = *++p; + if (yych <= 'V') { + if (yych <= 'Q') { + if (yych == 'A') + goto yy375; + goto yy298; + } else { + if (yych <= 'R') + goto yy331; + if (yych <= 'U') + goto yy298; + goto yy331; + } + } else { + if (yych <= 'q') { + if (yych == 'a') + goto yy375; + goto yy298; + } else { + if (yych <= 'r') + goto yy331; + if (yych == 'v') + goto yy331; + goto yy298; + } + } + yy334: + yych = *++p; + if (yych <= 'G') { + if (yych == 'E') + goto yy376; + if (yych <= 'F') + goto yy298; + goto yy377; + } else { + if (yych <= 'e') { + if (yych <= 'd') + goto yy298; + goto yy376; + } else { + if (yych == 'g') + goto yy377; + goto yy298; + } + } + yy335: + yych = *++p; + if (yych <= 'R') { + if (yych == 'O') + goto yy372; + if (yych <= 'Q') + goto yy298; + goto yy378; + } else { + if (yych <= 'o') { + if (yych <= 'n') + goto yy298; + goto yy372; + } else { + if (yych == 'r') + goto yy378; + goto yy298; + } + } + yy336: + yych = *++p; + if (yych == 'A') + goto yy379; + if (yych == 'a') + goto yy379; + goto yy298; + yy337: + yych = *++p; + if (yych == 'A') + goto yy380; + if (yych == 'a') + goto yy380; + goto yy298; + yy338: + yych = *++p; + if (yych == 'M') + goto yy315; + if (yych == 'm') + goto yy315; + goto yy298; + yy339: + yych = *++p; + if (yych == 'R') + goto yy381; + if (yych == 'r') + goto yy381; + goto yy298; + yy340: + yych = *++p; + if (yych == 'G') + goto yy382; + if (yych == 'g') + goto yy382; + goto yy298; + yy341: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'M') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'N') + goto yy383; + if (yych == 'n') + goto yy383; + goto yy298; + } + } + yy342: + yych = *++p; + if (yych == 'I') + goto yy384; + if (yych == 'i') + goto yy384; + goto yy298; + yy343: + yych = *++p; + if (yych == 'N') + goto yy385; + if (yych == 'n') + goto yy385; + goto yy298; + yy344: + yych = *++p; + if (yych == 'V') + goto yy331; + if (yych == 'v') + goto yy331; + goto yy298; + yy345: + yych = *++p; + if (yych == 'F') + goto yy386; + if (yych == 'f') + goto yy386; + goto yy298; + yy346: + yych = *++p; + if (yych == 'T') + goto yy387; + if (yych == 't') + goto yy387; + goto yy298; + yy347: + ++p; + { return 6; } + yy348: + yych = *++p; + if (yych == '>') + goto yy347; + goto yy298; + yy349: + yych = *++p; + if (yych == 'R') + goto yy388; + if (yych == 'r') + goto yy388; + goto yy298; + yy350: + yych = *++p; + if (yych == 'E') + goto yy389; + if (yych == 'e') + goto yy389; + goto yy298; + yy351: + yych = *++p; + if (yych == 'R') + goto yy390; + if (yych == 'r') + goto yy390; + goto yy298; + yy352: + yych = *++p; + if (yych == 'C') + goto yy371; + if (yych == 'c') + goto yy371; + goto yy298; + yy353: + yych = *++p; + if (yych == 'U') + goto yy391; + if (yych == 'u') + goto yy391; + goto yy298; + yy354: + yych = *++p; + if (yych == 'Y') + goto yy392; + if (yych == 'y') + goto yy392; + goto yy298; + yy355: + yych = *++p; + if (yych == 'M') + goto yy393; + if (yych == 'm') + goto yy393; + goto yy298; + yy356: + yych = *++p; + if (yych == 'B') + goto yy394; + if (yych == 'b') + goto yy394; + goto yy298; + yy357: + yych = *++p; + if (yych == 'O') + goto yy327; + if (yych == 'o') + goto yy327; + goto yy298; + yy358: + yych = *++p; + if (yych == 'X') + goto yy395; + if (yych == 'x') + goto yy395; + goto yy298; + yy359: + yych = *++p; + if (yych == 'O') + goto yy396; + if (yych == 'o') + goto yy396; + goto yy298; + yy360: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'D') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'E') + goto yy397; + if (yych == 'e') + goto yy397; + goto yy298; + } + } + yy361: + yych = *++p; + if (yych == 'T') + goto yy394; + if (yych == 't') + goto yy394; + goto yy298; + yy362: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= '@') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'A') + goto yy398; + if (yych == 'a') + goto yy398; + goto yy298; + } + } + yy363: + ++p; + { return 2; } + yy364: + yych = *++p; + if (yych == 'D') + goto yy399; + if (yych == 'd') + goto yy399; + goto yy298; + yy365: + yych = *++p; + if (yych == 'R') + goto yy400; + if (yych == 'r') + goto yy400; + goto yy298; + yy366: + yych = *++p; + if (yych == 'I') + goto yy401; + if (yych == 'i') + goto yy401; + goto yy298; + yy367: + yych = *++p; + if (yych == 'D') + goto yy402; + if (yych == 'd') + goto yy402; + goto yy298; + yy368: + yych = *++p; + if (yych == 'E') + goto yy403; + if (yych == 'e') + goto yy403; + goto yy298; + yy369: + yych = *++p; + if (yych == 'C') + goto yy404; + if (yych == 'c') + goto yy404; + goto yy298; + yy370: + yych = *++p; + if (yych == 'Y') + goto yy331; + if (yych == 'y') + goto yy331; + goto yy298; + yy371: + yych = *++p; + if (yych == 'T') + goto yy405; + if (yych == 't') + goto yy405; + goto yy298; + yy372: + yych = *++p; + if (yych == 'T') + goto yy406; + if (yych == 't') + goto yy406; + goto yy298; + yy373: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'F') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'G') + goto yy407; + if (yych == 'g') + goto yy407; + goto yy298; + } + } + yy374: + yych = *++p; + if (yych == 'A') + goto yy408; + if (yych == 'a') + goto yy408; + goto yy298; + yy375: + yych = *++p; + if (yych == 'L') + goto yy409; + if (yych == 'l') + goto yy409; + goto yy298; + yy376: + yych = *++p; + if (yych == 'L') + goto yy410; + if (yych == 'l') + goto yy410; + goto yy298; + yy377: + yych = *++p; + if (yych <= 'U') { + if (yych == 'C') + goto yy411; + if (yych <= 'T') + goto yy298; + goto yy412; + } else { + if (yych <= 'c') { + if (yych <= 'b') + goto yy298; + goto yy411; + } else { + if (yych == 'u') + goto yy412; + goto yy298; + } + } + yy378: + yych = *++p; + if (yych == 'M') + goto yy331; + if (yych == 'm') + goto yy331; + goto yy298; + yy379: + yych = *++p; + if (yych == 'M') + goto yy413; + if (yych == 'm') + goto yy413; + goto yy298; + yy380: + yych = *++p; + if (yych == 'D') + goto yy414; + if (yych == 'd') + goto yy414; + goto yy298; + yy381: + yych = *++p; + if (yych == 'A') + goto yy415; + if (yych == 'a') + goto yy415; + goto yy298; + yy382: + yych = *++p; + if (yych == 'E') + goto yy416; + if (yych == 'e') + goto yy416; + goto yy298; + yy383: + yych = *++p; + if (yych == 'K') + goto yy331; + if (yych == 'k') + goto yy331; + goto yy298; + yy384: + yych = *++p; + if (yych == 'N') + goto yy331; + if (yych == 'n') + goto yy331; + goto yy298; + yy385: + yych = *++p; + if (yych == 'U') + goto yy417; + if (yych == 'u') + goto yy417; + goto yy298; + yy386: + yych = *++p; + if (yych == 'R') + goto yy418; + if (yych == 'r') + goto yy418; + goto yy298; + yy387: + yych = *++p; + if (yych <= 'I') { + if (yych == 'G') + goto yy407; + if (yych <= 'H') + goto yy298; + goto yy419; + } else { + if (yych <= 'g') { + if (yych <= 'f') + goto yy298; + goto yy407; + } else { + if (yych == 'i') + goto yy419; + goto yy298; + } + } + yy388: + yych = *++p; + if (yych == 'A') + goto yy378; + if (yych == 'a') + goto yy378; + goto yy298; + yy389: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy420; + goto yy298; + } else { + if (yych <= ' ') + goto yy420; + if (yych == '>') + goto yy420; + goto yy298; + } + yy390: + yych = *++p; + if (yych == 'I') + goto yy421; + if (yych == 'i') + goto yy421; + goto yy298; + yy391: + yych = *++p; + if (yych == 'R') + goto yy422; + if (yych == 'r') + goto yy422; + goto yy298; + yy392: + yych = *++p; + if (yych == 'L') + goto yy350; + if (yych == 'l') + goto yy350; + goto yy298; + yy393: + yych = *++p; + if (yych == 'M') + goto yy423; + if (yych == 'm') + goto yy423; + goto yy298; + yy394: + yych = *++p; + if (yych == 'L') + goto yy402; + if (yych == 'l') + goto yy402; + goto yy298; + yy395: + yych = *++p; + if (yych == 'T') + goto yy424; + if (yych == 't') + goto yy424; + goto yy298; + yy396: + yych = *++p; + if (yych == 'O') + goto yy425; + if (yych == 'o') + goto yy425; + goto yy298; + yy397: + yych = *++p; + if (yych == 'A') + goto yy426; + if (yych == 'a') + goto yy426; + goto yy298; + yy398: + yych = *++p; + if (yych == 'C') + goto yy383; + if (yych == 'c') + goto yy383; + goto yy298; + yy399: + yych = *++p; + if (yych == 'A') + goto yy427; + if (yych == 'a') + goto yy427; + goto yy298; + yy400: + yych = *++p; + if (yych == 'E') + goto yy428; + if (yych == 'e') + goto yy428; + goto yy298; + yy401: + yych = *++p; + if (yych == 'C') + goto yy394; + if (yych == 'c') + goto yy394; + goto yy298; + yy402: + yych = *++p; + if (yych == 'E') + goto yy331; + if (yych == 'e') + goto yy331; + goto yy298; + yy403: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'E') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'F') + goto yy429; + if (yych == 'f') + goto yy429; + goto yy298; + } + } + yy404: + yych = *++p; + if (yych == 'K') + goto yy430; + if (yych == 'k') + goto yy430; + goto yy298; + yy405: + yych = *++p; + if (yych == 'I') + goto yy419; + if (yych == 'i') + goto yy419; + goto yy298; + yy406: + yych = *++p; + if (yych == 'E') + goto yy431; + if (yych == 'e') + goto yy431; + goto yy298; + yy407: + yych = *++p; + if (yych == 'R') + goto yy432; + if (yych == 'r') + goto yy432; + goto yy298; + yy408: + yych = *++p; + if (yych == 'I') + goto yy433; + if (yych == 'i') + goto yy433; + goto yy298; + yy409: + yych = *++p; + if (yych == 'O') + goto yy434; + if (yych == 'o') + goto yy434; + goto yy298; + yy410: + yych = *++p; + if (yych == 'D') + goto yy435; + if (yych == 'd') + goto yy435; + goto yy298; + yy411: + yych = *++p; + if (yych == 'A') + goto yy328; + if (yych == 'a') + goto yy328; + goto yy298; + yy412: + yych = *++p; + if (yych == 'R') + goto yy402; + if (yych == 'r') + goto yy402; + goto yy298; + yy413: + yych = *++p; + if (yych == 'E') + goto yy436; + if (yych == 'e') + goto yy436; + goto yy298; + yy414: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'D') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'E') + goto yy431; + if (yych == 'e') + goto yy431; + goto yy298; + } + } + yy415: + yych = *++p; + if (yych == 'M') + goto yy402; + if (yych == 'm') + goto yy402; + goto yy298; + yy416: + yych = *++p; + if (yych == 'N') + goto yy426; + if (yych == 'n') + goto yy426; + goto yy298; + yy417: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'H') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'I') + goto yy437; + if (yych == 'i') + goto yy437; + goto yy298; + } + } + yy418: + yych = *++p; + if (yych == 'A') + goto yy438; + if (yych == 'a') + goto yy438; + goto yy298; + yy419: + yych = *++p; + if (yych == 'O') + goto yy384; + if (yych == 'o') + goto yy384; + goto yy298; + yy420: + ++p; + { return 1; } + yy421: + yych = *++p; + if (yych == 'P') + goto yy439; + if (yych == 'p') + goto yy439; + goto yy298; + yy422: + yych = *++p; + if (yych == 'C') + goto yy402; + if (yych == 'c') + goto yy402; + goto yy298; + yy423: + yych = *++p; + if (yych == 'A') + goto yy440; + if (yych == 'a') + goto yy440; + goto yy298; + yy424: + yych = *++p; + if (yych == 'A') + goto yy441; + if (yych == 'a') + goto yy441; + goto yy298; + yy425: + yych = *++p; + if (yych == 'T') + goto yy331; + if (yych == 't') + goto yy331; + goto yy298; + yy426: + yych = *++p; + if (yych == 'D') + goto yy331; + if (yych == 'd') + goto yy331; + goto yy298; + yy427: + yych = *++p; + if (yych == 'T') + goto yy442; + if (yych == 't') + goto yy442; + goto yy298; + yy428: + yych = *++p; + if (yych == 'S') + goto yy443; + if (yych == 's') + goto yy443; + goto yy298; + yy429: + yych = *++p; + if (yych == 'O') + goto yy444; + if (yych == 'o') + goto yy444; + goto yy298; + yy430: + yych = *++p; + if (yych == 'Q') + goto yy445; + if (yych == 'q') + goto yy445; + goto yy298; + yy431: + yych = *++p; + if (yych == 'R') + goto yy331; + if (yych == 'r') + goto yy331; + goto yy298; + yy432: + yych = *++p; + if (yych == 'O') + goto yy446; + if (yych == 'o') + goto yy446; + goto yy298; + yy433: + yych = *++p; + if (yych == 'L') + goto yy443; + if (yych == 'l') + goto yy443; + goto yy298; + yy434: + yych = *++p; + if (yych == 'G') + goto yy331; + if (yych == 'g') + goto yy331; + goto yy298; + yy435: + yych = *++p; + if (yych == 'S') + goto yy447; + if (yych == 's') + goto yy447; + goto yy298; + yy436: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy298; + if (yych <= '\r') + goto yy347; + goto yy298; + } else { + if (yych <= ' ') + goto yy347; + if (yych <= '.') + goto yy298; + goto yy348; + } + } else { + if (yych <= 'R') { + if (yych == '>') + goto yy347; + goto yy298; + } else { + if (yych <= 'S') + goto yy447; + if (yych == 's') + goto yy447; + goto yy298; + } + } + yy437: + yych = *++p; + if (yych == 'T') + goto yy448; + if (yych == 't') + goto yy448; + goto yy298; + yy438: + yych = *++p; + if (yych == 'M') + goto yy449; + if (yych == 'm') + goto yy449; + goto yy298; + yy439: + yych = *++p; + if (yych == 'T') + goto yy389; + if (yych == 't') + goto yy389; + goto yy298; + yy440: + yych = *++p; + if (yych == 'R') + goto yy370; + if (yych == 'r') + goto yy370; + goto yy298; + yy441: + yych = *++p; + if (yych == 'R') + goto yy450; + if (yych == 'r') + goto yy450; + goto yy298; + yy442: + yych = *++p; + if (yych == 'A') + goto yy451; + if (yych == 'a') + goto yy451; + goto yy298; + yy443: + yych = *++p; + if (yych == 'S') + goto yy331; + if (yych == 's') + goto yy331; + goto yy298; + yy444: + yych = *++p; + if (yych == 'N') + goto yy425; + if (yych == 'n') + goto yy425; + goto yy298; + yy445: + yych = *++p; + if (yych == 'U') + goto yy452; + if (yych == 'u') + goto yy452; + goto yy298; + yy446: + yych = *++p; + if (yych == 'U') + goto yy453; + if (yych == 'u') + goto yy453; + goto yy298; + yy447: + yych = *++p; + if (yych == 'E') + goto yy425; + if (yych == 'e') + goto yy425; + goto yy298; + yy448: + yych = *++p; + if (yych == 'E') + goto yy378; + if (yych == 'e') + goto yy378; + goto yy298; + yy449: + yych = *++p; + if (yych == 'E') + goto yy443; + if (yych == 'e') + goto yy443; + goto yy298; + yy450: + yych = *++p; + if (yych == 'E') + goto yy454; + if (yych == 'e') + goto yy454; + goto yy298; + yy451: + yych = *++p; + if (yych == '[') + goto yy455; + goto yy298; + yy452: + yych = *++p; + if (yych == 'O') + goto yy456; + if (yych == 'o') + goto yy456; + goto yy298; + yy453: + yych = *++p; + if (yych == 'P') + goto yy331; + if (yych == 'p') + goto yy331; + goto yy298; + yy454: + yych = *++p; + if (yych == 'A') + goto yy389; + if (yych == 'a') + goto yy389; + goto yy298; + yy455: + ++p; + { return 5; } + yy456: + yych = *++p; + if (yych == 'T') + goto yy402; + if (yych == 't') + goto yy402; + goto yy298; + } } // Try to match an HTML block tag start line of type 7, returning // 7 if successful, 0 if not. -bufsize_t _scan_html_block_start_7(const unsigned char *p) -{ +bufsize_t _scan_html_block_start_7(const unsigned char *p) { const unsigned char *marker = NULL; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 224, 224, 224, 224, 224, 224, 224, - 224, 198, 210, 194, 198, 194, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 224, 224, 224, 224, 224, 224, 224, 224, - 198, 224, 128, 224, 224, 224, 224, 64, - 224, 224, 224, 224, 224, 233, 232, 224, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 232, 224, 192, 192, 192, 224, - 224, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 224, 224, 224, 224, 232, - 192, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 233, 233, 233, 233, 233, - 233, 233, 233, 224, 224, 224, 224, 224, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '<') goto yy517; - ++p; -yy516: - { return 0; } -yy517: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '/') goto yy516; - } else { - if (yych <= 'Z') goto yy520; - if (yych <= '`') goto yy516; - if (yych <= 'z') goto yy520; - goto yy516; - } - yych = *++p; - if (yych <= '@') goto yy519; - if (yych <= 'Z') goto yy522; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy522; -yy519: - p = marker; - if (yyaccept == 0) { - goto yy516; - } else { - goto yy535; - } -yy520: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy524; - } - if (yych <= '=') { - if (yych <= '.') { - if (yych == '-') goto yy520; - goto yy519; - } else { - if (yych <= '/') goto yy526; - if (yych <= '9') goto yy520; - goto yy519; - } - } else { - if (yych <= 'Z') { - if (yych <= '>') goto yy527; - if (yych <= '@') goto yy519; - goto yy520; - } else { - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy520; - goto yy519; - } - } -yy522: - yych = *++p; - if (yych <= '/') { - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy529; - goto yy519; - } else { - if (yych <= ' ') goto yy529; - if (yych == '-') goto yy522; - goto yy519; - } - } else { - if (yych <= '@') { - if (yych <= '9') goto yy522; - if (yych == '>') goto yy527; - goto yy519; - } else { - if (yych <= 'Z') goto yy522; - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy522; - goto yy519; - } - } -yy524: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy524; - } - if (yych <= '>') { - if (yych <= '9') { - if (yych != '/') goto yy519; - } else { - if (yych <= ':') goto yy531; - if (yych <= '=') goto yy519; - goto yy527; - } - } else { - if (yych <= '^') { - if (yych <= '@') goto yy519; - if (yych <= 'Z') goto yy531; - goto yy519; - } else { - if (yych == '`') goto yy519; - if (yych <= 'z') goto yy531; - goto yy519; - } - } -yy526: - yych = *++p; - if (yych != '>') goto yy519; -yy527: - yych = *++p; - if (yybm[0+yych] & 4) { - goto yy527; - } - if (yych <= 0x08) goto yy519; - if (yych <= '\n') goto yy533; - if (yych <= '\v') goto yy519; - if (yych <= '\r') goto yy536; - goto yy519; -yy529: - yych = *++p; - if (yych <= 0x1F) { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy529; - goto yy519; - } else { - if (yych <= ' ') goto yy529; - if (yych == '>') goto yy527; - goto yy519; - } -yy531: - yych = *++p; - if (yybm[0+yych] & 8) { - goto yy531; - } - if (yych <= ',') { - if (yych <= '\r') { - if (yych <= 0x08) goto yy519; - goto yy537; - } else { - if (yych == ' ') goto yy537; - goto yy519; - } - } else { - if (yych <= '<') { - if (yych <= '/') goto yy526; - goto yy519; - } else { - if (yych <= '=') goto yy539; - if (yych <= '>') goto yy527; - goto yy519; - } - } -yy533: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 4) { - goto yy527; - } - if (yych <= 0x08) goto yy535; - if (yych <= '\n') goto yy533; - if (yych <= '\v') goto yy535; - if (yych <= '\r') goto yy536; -yy535: - { return 7; } -yy536: - ++p; - goto yy535; -yy537: - yych = *++p; - if (yych <= '<') { - if (yych <= ' ') { - if (yych <= 0x08) goto yy519; - if (yych <= '\r') goto yy537; - if (yych <= 0x1F) goto yy519; - goto yy537; - } else { - if (yych <= '/') { - if (yych <= '.') goto yy519; - goto yy526; - } else { - if (yych == ':') goto yy531; - goto yy519; - } - } - } else { - if (yych <= 'Z') { - if (yych <= '=') goto yy539; - if (yych <= '>') goto yy527; - if (yych <= '@') goto yy519; - goto yy531; - } else { - if (yych <= '_') { - if (yych <= '^') goto yy519; - goto yy531; - } else { - if (yych <= '`') goto yy519; - if (yych <= 'z') goto yy531; - goto yy519; - } - } - } -yy539: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy541; - } - if (yych <= 0xE0) { - if (yych <= '"') { - if (yych <= 0x00) goto yy519; - if (yych <= ' ') goto yy539; - goto yy543; - } else { - if (yych <= '\'') goto yy545; - if (yych <= 0xC1) goto yy519; - if (yych <= 0xDF) goto yy547; - goto yy548; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy550; - goto yy549; - } else { - if (yych <= 0xF0) goto yy551; - if (yych <= 0xF3) goto yy552; - if (yych <= 0xF4) goto yy553; - goto yy519; - } - } -yy541: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy541; - } - if (yych <= 0xE0) { - if (yych <= '=') { - if (yych <= 0x00) goto yy519; - if (yych <= ' ') goto yy524; - goto yy519; - } else { - if (yych <= '>') goto yy527; - if (yych <= 0xC1) goto yy519; - if (yych <= 0xDF) goto yy547; - goto yy548; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy550; - goto yy549; - } else { - if (yych <= 0xF0) goto yy551; - if (yych <= 0xF3) goto yy552; - if (yych <= 0xF4) goto yy553; - goto yy519; - } - } -yy543: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy543; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy519; - if (yych <= '"') goto yy554; - goto yy519; - } else { - if (yych <= 0xDF) goto yy555; - if (yych <= 0xE0) goto yy556; - goto yy557; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy558; - if (yych <= 0xEF) goto yy557; - goto yy559; - } else { - if (yych <= 0xF3) goto yy560; - if (yych <= 0xF4) goto yy561; - goto yy519; - } - } -yy545: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy545; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy519; - if (yych <= '\'') goto yy554; - goto yy519; - } else { - if (yych <= 0xDF) goto yy562; - if (yych <= 0xE0) goto yy563; - goto yy564; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy565; - if (yych <= 0xEF) goto yy564; - goto yy566; - } else { - if (yych <= 0xF3) goto yy567; - if (yych <= 0xF4) goto yy568; - goto yy519; - } - } -yy547: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy541; - goto yy519; -yy548: - yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy547; - goto yy519; -yy549: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy547; - goto yy519; -yy550: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy547; - goto yy519; -yy551: - yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy549; - goto yy519; -yy552: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy549; - goto yy519; -yy553: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy549; - goto yy519; -yy554: - yych = *++p; - if (yybm[0+yych] & 2) { - goto yy524; - } - if (yych == '/') goto yy526; - if (yych == '>') goto yy527; - goto yy519; -yy555: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy543; - goto yy519; -yy556: - yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy555; - goto yy519; -yy557: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy555; - goto yy519; -yy558: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy555; - goto yy519; -yy559: - yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy557; - goto yy519; -yy560: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy557; - goto yy519; -yy561: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy557; - goto yy519; -yy562: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy545; - goto yy519; -yy563: - yych = *++p; - if (yych <= 0x9F) goto yy519; - if (yych <= 0xBF) goto yy562; - goto yy519; -yy564: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy562; - goto yy519; -yy565: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x9F) goto yy562; - goto yy519; -yy566: - yych = *++p; - if (yych <= 0x8F) goto yy519; - if (yych <= 0xBF) goto yy564; - goto yy519; -yy567: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0xBF) goto yy564; - goto yy519; -yy568: - yych = *++p; - if (yych <= 0x7F) goto yy519; - if (yych <= 0x8F) goto yy564; - goto yy519; -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 224, 224, 224, 224, 224, 224, 224, 224, 198, 210, 194, 198, 194, + 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, 224, + 224, 224, 224, 224, 198, 224, 128, 224, 224, 224, 224, 64, 224, 224, + 224, 224, 224, 233, 232, 224, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 232, 224, 192, 192, 192, 224, 224, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, 224, 232, 192, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, + 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 233, 224, 224, 224, + 224, 224, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych == '<') + goto yy459; + ++p; + yy458 : { return 0; } + yy459: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '@') { + if (yych != '/') + goto yy458; + } else { + if (yych <= 'Z') + goto yy461; + if (yych <= '`') + goto yy458; + if (yych <= 'z') + goto yy461; + goto yy458; + } + yych = *++p; + if (yych <= '@') + goto yy460; + if (yych <= 'Z') + goto yy462; + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy462; + yy460: + p = marker; + if (yyaccept == 0) { + goto yy458; + } else { + goto yy469; + } + yy461: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych <= '=') { + if (yych <= '.') { + if (yych == '-') + goto yy461; + goto yy460; + } else { + if (yych <= '/') + goto yy464; + if (yych <= '9') + goto yy461; + goto yy460; + } + } else { + if (yych <= 'Z') { + if (yych <= '>') + goto yy465; + if (yych <= '@') + goto yy460; + goto yy461; + } else { + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy461; + goto yy460; + } + } + yy462: + yych = *++p; + if (yych <= '/') { + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy466; + goto yy460; + } else { + if (yych <= ' ') + goto yy466; + if (yych == '-') + goto yy462; + goto yy460; + } + } else { + if (yych <= '@') { + if (yych <= '9') + goto yy462; + if (yych == '>') + goto yy465; + goto yy460; + } else { + if (yych <= 'Z') + goto yy462; + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy462; + goto yy460; + } + } + yy463: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych <= '>') { + if (yych <= '9') { + if (yych != '/') + goto yy460; + } else { + if (yych <= ':') + goto yy467; + if (yych <= '=') + goto yy460; + goto yy465; + } + } else { + if (yych <= '^') { + if (yych <= '@') + goto yy460; + if (yych <= 'Z') + goto yy467; + goto yy460; + } else { + if (yych == '`') + goto yy460; + if (yych <= 'z') + goto yy467; + goto yy460; + } + } + yy464: + yych = *++p; + if (yych != '>') + goto yy460; + yy465: + yych = *++p; + if (yybm[0 + yych] & 4) { + goto yy465; + } + if (yych <= 0x08) + goto yy460; + if (yych <= '\n') + goto yy468; + if (yych <= '\v') + goto yy460; + if (yych <= '\r') + goto yy470; + goto yy460; + yy466: + yych = *++p; + if (yych <= 0x1F) { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy466; + goto yy460; + } else { + if (yych <= ' ') + goto yy466; + if (yych == '>') + goto yy465; + goto yy460; + } + yy467: + yych = *++p; + if (yybm[0 + yych] & 8) { + goto yy467; + } + if (yych <= ',') { + if (yych <= '\r') { + if (yych <= 0x08) + goto yy460; + goto yy471; + } else { + if (yych == ' ') + goto yy471; + goto yy460; + } + } else { + if (yych <= '<') { + if (yych <= '/') + goto yy464; + goto yy460; + } else { + if (yych <= '=') + goto yy472; + if (yych <= '>') + goto yy465; + goto yy460; + } + } + yy468: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 4) { + goto yy465; + } + if (yych <= 0x08) + goto yy469; + if (yych <= '\n') + goto yy468; + if (yych <= '\v') + goto yy469; + if (yych <= '\r') + goto yy470; + yy469 : { return 7; } + yy470: + ++p; + goto yy469; + yy471: + yych = *++p; + if (yych <= '<') { + if (yych <= ' ') { + if (yych <= 0x08) + goto yy460; + if (yych <= '\r') + goto yy471; + if (yych <= 0x1F) + goto yy460; + goto yy471; + } else { + if (yych <= '/') { + if (yych <= '.') + goto yy460; + goto yy464; + } else { + if (yych == ':') + goto yy467; + goto yy460; + } + } + } else { + if (yych <= 'Z') { + if (yych <= '=') + goto yy472; + if (yych <= '>') + goto yy465; + if (yych <= '@') + goto yy460; + goto yy467; + } else { + if (yych <= '_') { + if (yych <= '^') + goto yy460; + goto yy467; + } else { + if (yych <= '`') + goto yy460; + if (yych <= 'z') + goto yy467; + goto yy460; + } + } + } + yy472: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy473; + } + if (yych <= 0xE0) { + if (yych <= '"') { + if (yych <= 0x00) + goto yy460; + if (yych <= ' ') + goto yy472; + goto yy474; + } else { + if (yych <= '\'') + goto yy475; + if (yych <= 0xC1) + goto yy460; + if (yych <= 0xDF) + goto yy476; + goto yy477; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy479; + goto yy478; + } else { + if (yych <= 0xF0) + goto yy480; + if (yych <= 0xF3) + goto yy481; + if (yych <= 0xF4) + goto yy482; + goto yy460; + } + } + yy473: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy473; + } + if (yych <= 0xE0) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy460; + if (yych <= ' ') + goto yy463; + goto yy460; + } else { + if (yych <= '>') + goto yy465; + if (yych <= 0xC1) + goto yy460; + if (yych <= 0xDF) + goto yy476; + goto yy477; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy479; + goto yy478; + } else { + if (yych <= 0xF0) + goto yy480; + if (yych <= 0xF3) + goto yy481; + if (yych <= 0xF4) + goto yy482; + goto yy460; + } + } + yy474: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy474; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy460; + if (yych <= '"') + goto yy483; + goto yy460; + } else { + if (yych <= 0xDF) + goto yy484; + if (yych <= 0xE0) + goto yy485; + goto yy486; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy487; + if (yych <= 0xEF) + goto yy486; + goto yy488; + } else { + if (yych <= 0xF3) + goto yy489; + if (yych <= 0xF4) + goto yy490; + goto yy460; + } + } + yy475: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy475; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy460; + if (yych <= '\'') + goto yy483; + goto yy460; + } else { + if (yych <= 0xDF) + goto yy491; + if (yych <= 0xE0) + goto yy492; + goto yy493; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy494; + if (yych <= 0xEF) + goto yy493; + goto yy495; + } else { + if (yych <= 0xF3) + goto yy496; + if (yych <= 0xF4) + goto yy497; + goto yy460; + } + } + yy476: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy473; + goto yy460; + yy477: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy476; + goto yy460; + yy478: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy476; + goto yy460; + yy479: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy476; + goto yy460; + yy480: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy478; + goto yy460; + yy481: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy478; + goto yy460; + yy482: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy478; + goto yy460; + yy483: + yych = *++p; + if (yybm[0 + yych] & 2) { + goto yy463; + } + if (yych == '/') + goto yy464; + if (yych == '>') + goto yy465; + goto yy460; + yy484: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy474; + goto yy460; + yy485: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy484; + goto yy460; + yy486: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy484; + goto yy460; + yy487: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy484; + goto yy460; + yy488: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy486; + goto yy460; + yy489: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy486; + goto yy460; + yy490: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy486; + goto yy460; + yy491: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy475; + goto yy460; + yy492: + yych = *++p; + if (yych <= 0x9F) + goto yy460; + if (yych <= 0xBF) + goto yy491; + goto yy460; + yy493: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy491; + goto yy460; + yy494: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x9F) + goto yy491; + goto yy460; + yy495: + yych = *++p; + if (yych <= 0x8F) + goto yy460; + if (yych <= 0xBF) + goto yy493; + goto yy460; + yy496: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0xBF) + goto yy493; + goto yy460; + yy497: + yych = *++p; + if (yych <= 0x7F) + goto yy460; + if (yych <= 0x8F) + goto yy493; + goto yy460; + } } // Try to match an HTML block end line of type 1 -bufsize_t _scan_html_block_end_1(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_1(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 128, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= ';') { - if (yych <= 0x00) goto yy571; - if (yych != '\n') goto yy573; - } else { - if (yych <= '<') goto yy574; - if (yych <= 0x7F) goto yy573; - if (yych >= 0xC2) goto yy575; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy576; - if (yych == 0xED) goto yy578; - goto yy577; - } else { - if (yych <= 0xF0) goto yy579; - if (yych <= 0xF3) goto yy580; - if (yych <= 0xF4) goto yy581; - } - } -yy571: - ++p; -yy572: - { return 0; } -yy573: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy572; - if (yych <= '\t') goto yy583; - goto yy572; - } else { - if (yych <= 0x7F) goto yy583; - if (yych <= 0xC1) goto yy572; - if (yych <= 0xF4) goto yy583; - goto yy572; - } -yy574: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '.') { - if (yych <= 0x00) goto yy572; - if (yych == '\n') goto yy572; - goto yy583; - } else { - if (yych <= 0x7F) { - if (yych <= '/') goto yy594; - goto yy583; - } else { - if (yych <= 0xC1) goto yy572; - if (yych <= 0xF4) goto yy583; - goto yy572; - } - } -yy575: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy582; - goto yy572; -yy576: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy572; - if (yych <= 0xBF) goto yy587; - goto yy572; -yy577: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy587; - goto yy572; -yy578: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0x9F) goto yy587; - goto yy572; -yy579: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy572; - if (yych <= 0xBF) goto yy589; - goto yy572; -yy580: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0xBF) goto yy589; - goto yy572; -yy581: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy572; - if (yych <= 0x8F) goto yy589; - goto yy572; -yy582: - yych = *++p; -yy583: - if (yybm[0+yych] & 64) { - goto yy582; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy584; - if (yych <= '<') goto yy585; - } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - } - } -yy584: - p = marker; - if (yyaccept == 0) { - goto yy572; - } else { - goto yy604; - } -yy585: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xDF) { - if (yych <= '.') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= '/') goto yy594; - if (yych <= 0x7F) goto yy582; - if (yych <= 0xC1) goto yy584; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy588; - if (yych == 0xED) goto yy590; - goto yy589; - } else { - if (yych <= 0xF0) goto yy591; - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } -yy587: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy582; - goto yy584; -yy588: - yych = *++p; - if (yych <= 0x9F) goto yy584; - if (yych <= 0xBF) goto yy587; - goto yy584; -yy589: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy587; - goto yy584; -yy590: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0x9F) goto yy587; - goto yy584; -yy591: - yych = *++p; - if (yych <= 0x8F) goto yy584; - if (yych <= 0xBF) goto yy589; - goto yy584; -yy592: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0xBF) goto yy589; - goto yy584; -yy593: - yych = *++p; - if (yych <= 0x7F) goto yy584; - if (yych <= 0x8F) goto yy589; - goto yy584; -yy594: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 's') { - if (yych <= 'P') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy584; - goto yy582; - } else { - if (yych <= '\n') goto yy584; - if (yych <= 'O') goto yy582; - } - } else { - if (yych <= 'o') { - if (yych == 'S') goto yy596; - goto yy582; - } else { - if (yych <= 'p') goto yy595; - if (yych <= 'r') goto yy582; - goto yy596; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy582; - goto yy584; - } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy595: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'q') { - if (yych <= 'R') goto yy597; - goto yy582; - } else { - if (yych <= 'r') goto yy597; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy596: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 't') { - if (yych <= 'C') { - if (yych <= '\t') { - if (yych <= 0x00) goto yy584; - goto yy582; - } else { - if (yych <= '\n') goto yy584; - if (yych <= 'B') goto yy582; - goto yy598; - } - } else { - if (yych <= 'b') { - if (yych == 'T') goto yy599; - goto yy582; - } else { - if (yych <= 'c') goto yy598; - if (yych <= 's') goto yy582; - goto yy599; - } - } - } else { - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy582; - goto yy584; - } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy597: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'D') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'd') { - if (yych <= 'E') goto yy600; - goto yy582; - } else { - if (yych <= 'e') goto yy600; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy598: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'Q') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'q') { - if (yych <= 'R') goto yy601; - goto yy582; - } else { - if (yych <= 'r') goto yy601; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy599: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'X') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'x') { - if (yych <= 'Y') goto yy602; - goto yy582; - } else { - if (yych <= 'y') goto yy602; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy600: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= '>') goto yy603; - if (yych <= 0x7F) goto yy582; - if (yych <= 0xC1) goto yy584; - goto yy587; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy588; - if (yych == 0xED) goto yy590; - goto yy589; - } else { - if (yych <= 0xF0) goto yy591; - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } -yy601: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'H') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'h') { - if (yych <= 'I') goto yy605; - goto yy582; - } else { - if (yych <= 'i') goto yy605; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy602: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'K') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'k') { - if (yych <= 'L') goto yy597; - goto yy582; - } else { - if (yych <= 'l') goto yy597; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy603: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy582; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy604; - if (yych <= '<') goto yy585; - } else { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - goto yy589; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy590; - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - } - } -yy604: - { return (bufsize_t)(p - start); } -yy605: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'O') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 'o') { - if (yych >= 'Q') goto yy582; - } else { - if (yych <= 'p') goto yy606; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -yy606: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy585; - } - if (yych <= 0xC1) { - if (yych <= 'S') { - if (yych <= 0x00) goto yy584; - if (yych == '\n') goto yy584; - goto yy582; - } else { - if (yych <= 's') { - if (yych <= 'T') goto yy600; - goto yy582; - } else { - if (yych <= 't') goto yy600; - if (yych <= 0x7F) goto yy582; - goto yy584; - } - } - } else { - if (yych <= 0xED) { - if (yych <= 0xDF) goto yy587; - if (yych <= 0xE0) goto yy588; - if (yych <= 0xEC) goto yy589; - goto yy590; - } else { - if (yych <= 0xF0) { - if (yych <= 0xEF) goto yy589; - goto yy591; - } else { - if (yych <= 0xF3) goto yy592; - if (yych <= 0xF4) goto yy593; - goto yy584; - } - } - } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xDF) { + if (yych <= ';') { + if (yych <= 0x00) + goto yy499; + if (yych != '\n') + goto yy501; + } else { + if (yych <= '<') + goto yy502; + if (yych <= 0x7F) + goto yy501; + if (yych >= 0xC2) + goto yy503; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy504; + if (yych == 0xED) + goto yy506; + goto yy505; + } else { + if (yych <= 0xF0) + goto yy507; + if (yych <= 0xF3) + goto yy508; + if (yych <= 0xF4) + goto yy509; + } + } + yy499: + ++p; + yy500 : { return 0; } + yy501: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy500; + if (yych <= '\t') + goto yy511; + goto yy500; + } else { + if (yych <= 0x7F) + goto yy511; + if (yych <= 0xC1) + goto yy500; + if (yych <= 0xF4) + goto yy511; + goto yy500; + } + yy502: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '.') { + if (yych <= 0x00) + goto yy500; + if (yych == '\n') + goto yy500; + goto yy511; + } else { + if (yych <= 0x7F) { + if (yych <= '/') + goto yy521; + goto yy511; + } else { + if (yych <= 0xC1) + goto yy500; + if (yych <= 0xF4) + goto yy511; + goto yy500; + } + } + yy503: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy510; + goto yy500; + yy504: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy500; + if (yych <= 0xBF) + goto yy514; + goto yy500; + yy505: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy514; + goto yy500; + yy506: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0x9F) + goto yy514; + goto yy500; + yy507: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy500; + if (yych <= 0xBF) + goto yy516; + goto yy500; + yy508: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0xBF) + goto yy516; + goto yy500; + yy509: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy500; + if (yych <= 0x8F) + goto yy516; + goto yy500; + yy510: + yych = *++p; + yy511: + if (yybm[0 + yych] & 64) { + goto yy510; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy512; + if (yych <= '<') + goto yy513; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + } + } + yy512: + p = marker; + if (yyaccept == 0) { + goto yy500; + } else { + goto yy534; + } + yy513: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xDF) { + if (yych <= '.') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '/') + goto yy521; + if (yych <= 0x7F) + goto yy510; + if (yych <= 0xC1) + goto yy512; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy515; + if (yych == 0xED) + goto yy517; + goto yy516; + } else { + if (yych <= 0xF0) + goto yy518; + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + yy514: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy510; + goto yy512; + yy515: + yych = *++p; + if (yych <= 0x9F) + goto yy512; + if (yych <= 0xBF) + goto yy514; + goto yy512; + yy516: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy514; + goto yy512; + yy517: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0x9F) + goto yy514; + goto yy512; + yy518: + yych = *++p; + if (yych <= 0x8F) + goto yy512; + if (yych <= 0xBF) + goto yy516; + goto yy512; + yy519: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0xBF) + goto yy516; + goto yy512; + yy520: + yych = *++p; + if (yych <= 0x7F) + goto yy512; + if (yych <= 0x8F) + goto yy516; + goto yy512; + yy521: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 's') { + if (yych <= 'R') { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy512; + if (yych <= '\t') + goto yy510; + goto yy512; + } else { + if (yych != 'P') + goto yy510; + } + } else { + if (yych <= 'o') { + if (yych <= 'S') + goto yy523; + if (yych <= 'T') + goto yy524; + goto yy510; + } else { + if (yych <= 'p') + goto yy522; + if (yych <= 'r') + goto yy510; + goto yy523; + } + } + } else { + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 't') + goto yy524; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy522: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych <= 'R') + goto yy525; + goto yy510; + } else { + if (yych <= 'r') + goto yy525; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy523: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 't') { + if (yych <= 'C') { + if (yych <= '\t') { + if (yych <= 0x00) + goto yy512; + goto yy510; + } else { + if (yych <= '\n') + goto yy512; + if (yych <= 'B') + goto yy510; + goto yy526; + } + } else { + if (yych <= 'b') { + if (yych == 'T') + goto yy527; + goto yy510; + } else { + if (yych <= 'c') + goto yy526; + if (yych <= 's') + goto yy510; + goto yy527; + } + } + } else { + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x7F) + goto yy510; + goto yy512; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy524: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych <= 'E') + goto yy528; + goto yy510; + } else { + if (yych <= 'e') + goto yy528; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy525: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych <= 'E') + goto yy529; + goto yy510; + } else { + if (yych <= 'e') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy526: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych <= 'R') + goto yy530; + goto yy510; + } else { + if (yych <= 'r') + goto yy530; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy527: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'X') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'x') { + if (yych <= 'Y') + goto yy531; + goto yy510; + } else { + if (yych <= 'y') + goto yy531; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy528: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'W') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'w') { + if (yych <= 'X') + goto yy532; + goto yy510; + } else { + if (yych <= 'x') + goto yy532; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy529: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '>') + goto yy533; + if (yych <= 0x7F) + goto yy510; + if (yych <= 0xC1) + goto yy512; + goto yy514; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy515; + if (yych == 0xED) + goto yy517; + goto yy516; + } else { + if (yych <= 0xF0) + goto yy518; + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + yy530: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'H') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'h') { + if (yych <= 'I') + goto yy535; + goto yy510; + } else { + if (yych <= 'i') + goto yy535; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy531: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'K') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'k') { + if (yych <= 'L') + goto yy525; + goto yy510; + } else { + if (yych <= 'l') + goto yy525; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy532: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'S') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 's') { + if (yych <= 'T') + goto yy536; + goto yy510; + } else { + if (yych <= 't') + goto yy536; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy533: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy510; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy534; + if (yych <= '<') + goto yy513; + } else { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + goto yy516; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy517; + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + } + } + yy534 : { return (bufsize_t)(p - start); } + yy535: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'O') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'o') { + if (yych <= 'P') + goto yy537; + goto yy510; + } else { + if (yych <= 'p') + goto yy537; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy536: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= '@') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '`') { + if (yych <= 'A') + goto yy538; + goto yy510; + } else { + if (yych <= 'a') + goto yy538; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy537: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'S') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 's') { + if (yych <= 'T') + goto yy529; + goto yy510; + } else { + if (yych <= 't') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy538: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'Q') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'q') { + if (yych >= 'S') + goto yy510; + } else { + if (yych <= 'r') + goto yy539; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy539: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= 'D') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= 'd') { + if (yych >= 'F') + goto yy510; + } else { + if (yych <= 'e') + goto yy540; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + yy540: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy513; + } + if (yych <= 0xC1) { + if (yych <= '@') { + if (yych <= 0x00) + goto yy512; + if (yych == '\n') + goto yy512; + goto yy510; + } else { + if (yych <= '`') { + if (yych <= 'A') + goto yy529; + goto yy510; + } else { + if (yych <= 'a') + goto yy529; + if (yych <= 0x7F) + goto yy510; + goto yy512; + } + } + } else { + if (yych <= 0xED) { + if (yych <= 0xDF) + goto yy514; + if (yych <= 0xE0) + goto yy515; + if (yych <= 0xEC) + goto yy516; + goto yy517; + } else { + if (yych <= 0xF0) { + if (yych <= 0xEF) + goto yy516; + goto yy518; + } else { + if (yych <= 0xF3) + goto yy519; + if (yych <= 0xF4) + goto yy520; + goto yy512; + } + } + } + } } // Try to match an HTML block end line of type 2 -bufsize_t _scan_html_block_end_2(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_2(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 128, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= ',') { - if (yych <= 0x00) goto yy609; - if (yych != '\n') goto yy611; - } else { - if (yych <= '-') goto yy612; - if (yych <= 0x7F) goto yy611; - if (yych >= 0xC2) goto yy613; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy614; - if (yych == 0xED) goto yy616; - goto yy615; - } else { - if (yych <= 0xF0) goto yy617; - if (yych <= 0xF3) goto yy618; - if (yych <= 0xF4) goto yy619; - } - } -yy609: - ++p; -yy610: - { return 0; } -yy611: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy610; - if (yych <= '\t') goto yy621; - goto yy610; - } else { - if (yych <= 0x7F) goto yy621; - if (yych <= 0xC1) goto yy610; - if (yych <= 0xF4) goto yy621; - goto yy610; - } -yy612: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy631; - } - if (yych <= '\n') { - if (yych <= 0x00) goto yy610; - if (yych <= '\t') goto yy621; - goto yy610; - } else { - if (yych <= 0x7F) goto yy621; - if (yych <= 0xC1) goto yy610; - if (yych <= 0xF4) goto yy621; - goto yy610; - } -yy613: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy620; - goto yy610; -yy614: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy610; - if (yych <= 0xBF) goto yy624; - goto yy610; -yy615: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy624; - goto yy610; -yy616: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0x9F) goto yy624; - goto yy610; -yy617: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy610; - if (yych <= 0xBF) goto yy626; - goto yy610; -yy618: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0xBF) goto yy626; - goto yy610; -yy619: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy610; - if (yych <= 0x8F) goto yy626; - goto yy610; -yy620: - yych = *++p; -yy621: - if (yybm[0+yych] & 64) { - goto yy620; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy622; - if (yych <= '-') goto yy623; - } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; - } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - } - } -yy622: - p = marker; - if (yyaccept == 0) { - goto yy610; - } else { - goto yy634; - } -yy623: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy620; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy622; - if (yych <= '-') goto yy631; - goto yy622; - } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; - } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - goto yy622; - } - } -yy624: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy620; - goto yy622; -yy625: - yych = *++p; - if (yych <= 0x9F) goto yy622; - if (yych <= 0xBF) goto yy624; - goto yy622; -yy626: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy624; - goto yy622; -yy627: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0x9F) goto yy624; - goto yy622; -yy628: - yych = *++p; - if (yych <= 0x8F) goto yy622; - if (yych <= 0xBF) goto yy626; - goto yy622; -yy629: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0xBF) goto yy626; - goto yy622; -yy630: - yych = *++p; - if (yych <= 0x7F) goto yy622; - if (yych <= 0x8F) goto yy626; - goto yy622; -yy631: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy631; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy622; - if (yych == '\n') goto yy622; - goto yy620; - } else { - if (yych <= '>') goto yy633; - if (yych <= 0x7F) goto yy620; - if (yych <= 0xC1) goto yy622; - goto yy624; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy625; - if (yych == 0xED) goto yy627; - goto yy626; - } else { - if (yych <= 0xF0) goto yy628; - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - goto yy622; - } - } -yy633: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy620; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy634; - if (yych <= '-') goto yy623; - } else { - if (yych <= 0xDF) goto yy624; - if (yych <= 0xE0) goto yy625; - goto yy626; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy627; - if (yych <= 0xEF) goto yy626; - goto yy628; - } else { - if (yych <= 0xF3) goto yy629; - if (yych <= 0xF4) goto yy630; - } - } -yy634: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xDF) { + if (yych <= ',') { + if (yych <= 0x00) + goto yy542; + if (yych != '\n') + goto yy544; + } else { + if (yych <= '-') + goto yy545; + if (yych <= 0x7F) + goto yy544; + if (yych >= 0xC2) + goto yy546; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy547; + if (yych == 0xED) + goto yy549; + goto yy548; + } else { + if (yych <= 0xF0) + goto yy550; + if (yych <= 0xF3) + goto yy551; + if (yych <= 0xF4) + goto yy552; + } + } + yy542: + ++p; + yy543 : { return 0; } + yy544: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy543; + if (yych <= '\t') + goto yy554; + goto yy543; + } else { + if (yych <= 0x7F) + goto yy554; + if (yych <= 0xC1) + goto yy543; + if (yych <= 0xF4) + goto yy554; + goto yy543; + } + yy545: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy564; + } + if (yych <= '\n') { + if (yych <= 0x00) + goto yy543; + if (yych <= '\t') + goto yy554; + goto yy543; + } else { + if (yych <= 0x7F) + goto yy554; + if (yych <= 0xC1) + goto yy543; + if (yych <= 0xF4) + goto yy554; + goto yy543; + } + yy546: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy553; + goto yy543; + yy547: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy543; + if (yych <= 0xBF) + goto yy557; + goto yy543; + yy548: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy557; + goto yy543; + yy549: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0x9F) + goto yy557; + goto yy543; + yy550: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy543; + if (yych <= 0xBF) + goto yy559; + goto yy543; + yy551: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0xBF) + goto yy559; + goto yy543; + yy552: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy543; + if (yych <= 0x8F) + goto yy559; + goto yy543; + yy553: + yych = *++p; + yy554: + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy555; + if (yych <= '-') + goto yy556; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + } + } + yy555: + p = marker; + if (yyaccept == 0) { + goto yy543; + } else { + goto yy566; + } + yy556: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy555; + if (yych <= '-') + goto yy564; + goto yy555; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + goto yy555; + } + } + yy557: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy553; + goto yy555; + yy558: + yych = *++p; + if (yych <= 0x9F) + goto yy555; + if (yych <= 0xBF) + goto yy557; + goto yy555; + yy559: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy557; + goto yy555; + yy560: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0x9F) + goto yy557; + goto yy555; + yy561: + yych = *++p; + if (yych <= 0x8F) + goto yy555; + if (yych <= 0xBF) + goto yy559; + goto yy555; + yy562: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0xBF) + goto yy559; + goto yy555; + yy563: + yych = *++p; + if (yych <= 0x7F) + goto yy555; + if (yych <= 0x8F) + goto yy559; + goto yy555; + yy564: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy564; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy555; + if (yych == '\n') + goto yy555; + goto yy553; + } else { + if (yych <= '>') + goto yy565; + if (yych <= 0x7F) + goto yy553; + if (yych <= 0xC1) + goto yy555; + goto yy557; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy558; + if (yych == 0xED) + goto yy560; + goto yy559; + } else { + if (yych <= 0xF0) + goto yy561; + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + goto yy555; + } + } + yy565: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy553; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy566; + if (yych <= '-') + goto yy556; + } else { + if (yych <= 0xDF) + goto yy557; + if (yych <= 0xE0) + goto yy558; + goto yy559; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy560; + if (yych <= 0xEF) + goto yy559; + goto yy561; + } else { + if (yych <= 0xF3) + goto yy562; + if (yych <= 0xF4) + goto yy563; + } + } + yy566 : { return (bufsize_t)(p - start); } + } } // Try to match an HTML block end line of type 3 -bufsize_t _scan_html_block_end_3(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_3(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 128, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= '>') { - if (yych <= 0x00) goto yy637; - if (yych != '\n') goto yy639; - } else { - if (yych <= '?') goto yy640; - if (yych <= 0x7F) goto yy639; - if (yych >= 0xC2) goto yy641; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy642; - if (yych == 0xED) goto yy644; - goto yy643; - } else { - if (yych <= 0xF0) goto yy645; - if (yych <= 0xF3) goto yy646; - if (yych <= 0xF4) goto yy647; - } - } -yy637: - ++p; -yy638: - { return 0; } -yy639: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy638; - if (yych <= '\t') goto yy649; - goto yy638; - } else { - if (yych <= 0x7F) goto yy649; - if (yych <= 0xC1) goto yy638; - if (yych <= 0xF4) goto yy649; - goto yy638; - } -yy640: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '=') { - if (yych <= 0x00) goto yy638; - if (yych == '\n') goto yy638; - goto yy649; - } else { - if (yych <= 0x7F) { - if (yych <= '>') goto yy660; - goto yy649; - } else { - if (yych <= 0xC1) goto yy638; - if (yych <= 0xF4) goto yy649; - goto yy638; - } - } -yy641: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy648; - goto yy638; -yy642: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy638; - if (yych <= 0xBF) goto yy653; - goto yy638; -yy643: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy653; - goto yy638; -yy644: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0x9F) goto yy653; - goto yy638; -yy645: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy638; - if (yych <= 0xBF) goto yy655; - goto yy638; -yy646: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0xBF) goto yy655; - goto yy638; -yy647: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy638; - if (yych <= 0x8F) goto yy655; - goto yy638; -yy648: - yych = *++p; -yy649: - if (yybm[0+yych] & 64) { - goto yy648; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy650; - if (yych <= '?') goto yy651; - } else { - if (yych <= 0xDF) goto yy653; - if (yych <= 0xE0) goto yy654; - goto yy655; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy656; - if (yych <= 0xEF) goto yy655; - goto yy657; - } else { - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; - } - } -yy650: - p = marker; - if (yyaccept == 0) { - goto yy638; - } else { - goto yy661; - } -yy651: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy651; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy650; - if (yych == '\n') goto yy650; - goto yy648; - } else { - if (yych <= '>') goto yy660; - if (yych <= 0x7F) goto yy648; - if (yych <= 0xC1) goto yy650; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy654; - if (yych == 0xED) goto yy656; - goto yy655; - } else { - if (yych <= 0xF0) goto yy657; - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; - goto yy650; - } - } -yy653: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy648; - goto yy650; -yy654: - yych = *++p; - if (yych <= 0x9F) goto yy650; - if (yych <= 0xBF) goto yy653; - goto yy650; -yy655: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy653; - goto yy650; -yy656: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0x9F) goto yy653; - goto yy650; -yy657: - yych = *++p; - if (yych <= 0x8F) goto yy650; - if (yych <= 0xBF) goto yy655; - goto yy650; -yy658: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0xBF) goto yy655; - goto yy650; -yy659: - yych = *++p; - if (yych <= 0x7F) goto yy650; - if (yych <= 0x8F) goto yy655; - goto yy650; -yy660: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy648; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy661; - if (yych <= '?') goto yy651; - } else { - if (yych <= 0xDF) goto yy653; - if (yych <= 0xE0) goto yy654; - goto yy655; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy656; - if (yych <= 0xEF) goto yy655; - goto yy657; - } else { - if (yych <= 0xF3) goto yy658; - if (yych <= 0xF4) goto yy659; - } - } -yy661: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xDF) { + if (yych <= '>') { + if (yych <= 0x00) + goto yy568; + if (yych != '\n') + goto yy570; + } else { + if (yych <= '?') + goto yy571; + if (yych <= 0x7F) + goto yy570; + if (yych >= 0xC2) + goto yy572; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy573; + if (yych == 0xED) + goto yy575; + goto yy574; + } else { + if (yych <= 0xF0) + goto yy576; + if (yych <= 0xF3) + goto yy577; + if (yych <= 0xF4) + goto yy578; + } + } + yy568: + ++p; + yy569 : { return 0; } + yy570: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy569; + if (yych <= '\t') + goto yy580; + goto yy569; + } else { + if (yych <= 0x7F) + goto yy580; + if (yych <= 0xC1) + goto yy569; + if (yych <= 0xF4) + goto yy580; + goto yy569; + } + yy571: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '=') { + if (yych <= 0x00) + goto yy569; + if (yych == '\n') + goto yy569; + goto yy580; + } else { + if (yych <= 0x7F) { + if (yych <= '>') + goto yy590; + goto yy580; + } else { + if (yych <= 0xC1) + goto yy569; + if (yych <= 0xF4) + goto yy580; + goto yy569; + } + } + yy572: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy579; + goto yy569; + yy573: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy569; + if (yych <= 0xBF) + goto yy583; + goto yy569; + yy574: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy583; + goto yy569; + yy575: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0x9F) + goto yy583; + goto yy569; + yy576: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy569; + if (yych <= 0xBF) + goto yy585; + goto yy569; + yy577: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0xBF) + goto yy585; + goto yy569; + yy578: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy569; + if (yych <= 0x8F) + goto yy585; + goto yy569; + yy579: + yych = *++p; + yy580: + if (yybm[0 + yych] & 64) { + goto yy579; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy581; + if (yych <= '?') + goto yy582; + } else { + if (yych <= 0xDF) + goto yy583; + if (yych <= 0xE0) + goto yy584; + goto yy585; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy586; + if (yych <= 0xEF) + goto yy585; + goto yy587; + } else { + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + } + } + yy581: + p = marker; + if (yyaccept == 0) { + goto yy569; + } else { + goto yy591; + } + yy582: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy582; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy581; + if (yych == '\n') + goto yy581; + goto yy579; + } else { + if (yych <= '>') + goto yy590; + if (yych <= 0x7F) + goto yy579; + if (yych <= 0xC1) + goto yy581; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy584; + if (yych == 0xED) + goto yy586; + goto yy585; + } else { + if (yych <= 0xF0) + goto yy587; + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + goto yy581; + } + } + yy583: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy579; + goto yy581; + yy584: + yych = *++p; + if (yych <= 0x9F) + goto yy581; + if (yych <= 0xBF) + goto yy583; + goto yy581; + yy585: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy583; + goto yy581; + yy586: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0x9F) + goto yy583; + goto yy581; + yy587: + yych = *++p; + if (yych <= 0x8F) + goto yy581; + if (yych <= 0xBF) + goto yy585; + goto yy581; + yy588: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0xBF) + goto yy585; + goto yy581; + yy589: + yych = *++p; + if (yych <= 0x7F) + goto yy581; + if (yych <= 0x8F) + goto yy585; + goto yy581; + yy590: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy579; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy591; + if (yych <= '?') + goto yy582; + } else { + if (yych <= 0xDF) + goto yy583; + if (yych <= 0xE0) + goto yy584; + goto yy585; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy586; + if (yych <= 0xEF) + goto yy585; + goto yy587; + } else { + if (yych <= 0xF3) + goto yy588; + if (yych <= 0xF4) + goto yy589; + } + } + yy591 : { return (bufsize_t)(p - start); } + } } // Try to match an HTML block end line of type 4 -bufsize_t _scan_html_block_end_4(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_4(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 0, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 64, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 128, 128, 128, 128, 128, 128, 128, 128, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yybm[0+yych] & 64) { - goto yy667; - } - if (yych <= 0xE0) { - if (yych <= '\n') { - if (yych <= 0x00) goto yy664; - if (yych <= '\t') goto yy666; - } else { - if (yych <= 0x7F) goto yy666; - if (yych <= 0xC1) goto yy664; - if (yych <= 0xDF) goto yy670; - goto yy671; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy673; - goto yy672; - } else { - if (yych <= 0xF0) goto yy674; - if (yych <= 0xF3) goto yy675; - if (yych <= 0xF4) goto yy676; - } - } -yy664: - ++p; -yy665: - { return 0; } -yy666: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy665; - if (yych <= '\t') goto yy678; - goto yy665; - } else { - if (yych <= 0x7F) goto yy678; - if (yych <= 0xC1) goto yy665; - if (yych <= 0xF4) goto yy678; - goto yy665; - } -yy667: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy677; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy669; - if (yych <= '>') goto yy667; - } else { - if (yych <= 0xDF) goto yy680; - if (yych <= 0xE0) goto yy681; - goto yy682; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy683; - if (yych <= 0xEF) goto yy682; - goto yy684; - } else { - if (yych <= 0xF3) goto yy685; - if (yych <= 0xF4) goto yy686; - } - } -yy669: - { return (bufsize_t)(p - start); } -yy670: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy677; - goto yy665; -yy671: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy665; - if (yych <= 0xBF) goto yy680; - goto yy665; -yy672: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy680; - goto yy665; -yy673: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0x9F) goto yy680; - goto yy665; -yy674: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy665; - if (yych <= 0xBF) goto yy682; - goto yy665; -yy675: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0xBF) goto yy682; - goto yy665; -yy676: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy665; - if (yych <= 0x8F) goto yy682; - goto yy665; -yy677: - yych = *++p; -yy678: - if (yybm[0+yych] & 128) { - goto yy677; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy679; - if (yych <= '>') goto yy667; - } else { - if (yych <= 0xDF) goto yy680; - if (yych <= 0xE0) goto yy681; - goto yy682; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy683; - if (yych <= 0xEF) goto yy682; - goto yy684; - } else { - if (yych <= 0xF3) goto yy685; - if (yych <= 0xF4) goto yy686; - } - } -yy679: - p = marker; - if (yyaccept == 0) { - goto yy665; - } else { - goto yy669; - } -yy680: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy677; - goto yy679; -yy681: - yych = *++p; - if (yych <= 0x9F) goto yy679; - if (yych <= 0xBF) goto yy680; - goto yy679; -yy682: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy680; - goto yy679; -yy683: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0x9F) goto yy680; - goto yy679; -yy684: - yych = *++p; - if (yych <= 0x8F) goto yy679; - if (yych <= 0xBF) goto yy682; - goto yy679; -yy685: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0xBF) goto yy682; - goto yy679; -yy686: - yych = *++p; - if (yych <= 0x7F) goto yy679; - if (yych <= 0x8F) goto yy682; - goto yy679; -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 128, 128, 128, 128, 128, 128, 128, 128, 128, 0, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 64, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yybm[0 + yych] & 64) { + goto yy596; + } + if (yych <= 0xE0) { + if (yych <= '\n') { + if (yych <= 0x00) + goto yy593; + if (yych <= '\t') + goto yy595; + } else { + if (yych <= 0x7F) + goto yy595; + if (yych <= 0xC1) + goto yy593; + if (yych <= 0xDF) + goto yy598; + goto yy599; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy601; + goto yy600; + } else { + if (yych <= 0xF0) + goto yy602; + if (yych <= 0xF3) + goto yy603; + if (yych <= 0xF4) + goto yy604; + } + } + yy593: + ++p; + yy594 : { return 0; } + yy595: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy594; + if (yych <= '\t') + goto yy606; + goto yy594; + } else { + if (yych <= 0x7F) + goto yy606; + if (yych <= 0xC1) + goto yy594; + if (yych <= 0xF4) + goto yy606; + goto yy594; + } + yy596: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy605; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy597; + if (yych <= '>') + goto yy596; + } else { + if (yych <= 0xDF) + goto yy608; + if (yych <= 0xE0) + goto yy609; + goto yy610; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy611; + if (yych <= 0xEF) + goto yy610; + goto yy612; + } else { + if (yych <= 0xF3) + goto yy613; + if (yych <= 0xF4) + goto yy614; + } + } + yy597 : { return (bufsize_t)(p - start); } + yy598: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy605; + goto yy594; + yy599: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy594; + if (yych <= 0xBF) + goto yy608; + goto yy594; + yy600: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy608; + goto yy594; + yy601: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0x9F) + goto yy608; + goto yy594; + yy602: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy594; + if (yych <= 0xBF) + goto yy610; + goto yy594; + yy603: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0xBF) + goto yy610; + goto yy594; + yy604: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy594; + if (yych <= 0x8F) + goto yy610; + goto yy594; + yy605: + yych = *++p; + yy606: + if (yybm[0 + yych] & 128) { + goto yy605; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy607; + if (yych <= '>') + goto yy596; + } else { + if (yych <= 0xDF) + goto yy608; + if (yych <= 0xE0) + goto yy609; + goto yy610; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy611; + if (yych <= 0xEF) + goto yy610; + goto yy612; + } else { + if (yych <= 0xF3) + goto yy613; + if (yych <= 0xF4) + goto yy614; + } + } + yy607: + p = marker; + if (yyaccept == 0) { + goto yy594; + } else { + goto yy597; + } + yy608: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy605; + goto yy607; + yy609: + yych = *++p; + if (yych <= 0x9F) + goto yy607; + if (yych <= 0xBF) + goto yy608; + goto yy607; + yy610: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy608; + goto yy607; + yy611: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0x9F) + goto yy608; + goto yy607; + yy612: + yych = *++p; + if (yych <= 0x8F) + goto yy607; + if (yych <= 0xBF) + goto yy610; + goto yy607; + yy613: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0xBF) + goto yy610; + goto yy607; + yy614: + yych = *++p; + if (yych <= 0x7F) + goto yy607; + if (yych <= 0x8F) + goto yy610; + goto yy607; + } } // Try to match an HTML block end line of type 5 -bufsize_t _scan_html_block_end_5(const unsigned char *p) -{ +bufsize_t _scan_html_block_end_5(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 0, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 128, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= 0xDF) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy689; - if (yych != '\n') goto yy691; - } else { - if (yych <= ']') goto yy692; - if (yych <= 0x7F) goto yy691; - if (yych >= 0xC2) goto yy693; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy694; - if (yych == 0xED) goto yy696; - goto yy695; - } else { - if (yych <= 0xF0) goto yy697; - if (yych <= 0xF3) goto yy698; - if (yych <= 0xF4) goto yy699; - } - } -yy689: - ++p; -yy690: - { return 0; } -yy691: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '\n') { - if (yych <= 0x00) goto yy690; - if (yych <= '\t') goto yy701; - goto yy690; - } else { - if (yych <= 0x7F) goto yy701; - if (yych <= 0xC1) goto yy690; - if (yych <= 0xF4) goto yy701; - goto yy690; - } -yy692: - yyaccept = 0; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy711; - } - if (yych <= '\n') { - if (yych <= 0x00) goto yy690; - if (yych <= '\t') goto yy701; - goto yy690; - } else { - if (yych <= 0x7F) goto yy701; - if (yych <= 0xC1) goto yy690; - if (yych <= 0xF4) goto yy701; - goto yy690; - } -yy693: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy700; - goto yy690; -yy694: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x9F) goto yy690; - if (yych <= 0xBF) goto yy704; - goto yy690; -yy695: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy704; - goto yy690; -yy696: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0x9F) goto yy704; - goto yy690; -yy697: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x8F) goto yy690; - if (yych <= 0xBF) goto yy706; - goto yy690; -yy698: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0xBF) goto yy706; - goto yy690; -yy699: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x7F) goto yy690; - if (yych <= 0x8F) goto yy706; - goto yy690; -yy700: - yych = *++p; -yy701: - if (yybm[0+yych] & 64) { - goto yy700; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy702; - if (yych <= ']') goto yy703; - } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; - } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - } - } -yy702: - p = marker; - if (yyaccept == 0) { - goto yy690; - } else { - goto yy714; - } -yy703: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy700; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy702; - if (yych <= ']') goto yy711; - goto yy702; - } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; - } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - goto yy702; - } - } -yy704: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy700; - goto yy702; -yy705: - yych = *++p; - if (yych <= 0x9F) goto yy702; - if (yych <= 0xBF) goto yy704; - goto yy702; -yy706: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy704; - goto yy702; -yy707: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0x9F) goto yy704; - goto yy702; -yy708: - yych = *++p; - if (yych <= 0x8F) goto yy702; - if (yych <= 0xBF) goto yy706; - goto yy702; -yy709: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0xBF) goto yy706; - goto yy702; -yy710: - yych = *++p; - if (yych <= 0x7F) goto yy702; - if (yych <= 0x8F) goto yy706; - goto yy702; -yy711: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy711; - } - if (yych <= 0xDF) { - if (yych <= '=') { - if (yych <= 0x00) goto yy702; - if (yych == '\n') goto yy702; - goto yy700; - } else { - if (yych <= '>') goto yy713; - if (yych <= 0x7F) goto yy700; - if (yych <= 0xC1) goto yy702; - goto yy704; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy705; - if (yych == 0xED) goto yy707; - goto yy706; - } else { - if (yych <= 0xF0) goto yy708; - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - goto yy702; - } - } -yy713: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy700; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= '\n') goto yy714; - if (yych <= ']') goto yy703; - } else { - if (yych <= 0xDF) goto yy704; - if (yych <= 0xE0) goto yy705; - goto yy706; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy707; - if (yych <= 0xEF) goto yy706; - goto yy708; - } else { - if (yych <= 0xF3) goto yy709; - if (yych <= 0xF4) goto yy710; - } - } -yy714: - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= 0xDF) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy616; + if (yych != '\n') + goto yy618; + } else { + if (yych <= ']') + goto yy619; + if (yych <= 0x7F) + goto yy618; + if (yych >= 0xC2) + goto yy620; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy621; + if (yych == 0xED) + goto yy623; + goto yy622; + } else { + if (yych <= 0xF0) + goto yy624; + if (yych <= 0xF3) + goto yy625; + if (yych <= 0xF4) + goto yy626; + } + } + yy616: + ++p; + yy617 : { return 0; } + yy618: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '\n') { + if (yych <= 0x00) + goto yy617; + if (yych <= '\t') + goto yy628; + goto yy617; + } else { + if (yych <= 0x7F) + goto yy628; + if (yych <= 0xC1) + goto yy617; + if (yych <= 0xF4) + goto yy628; + goto yy617; + } + yy619: + yyaccept = 0; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy638; + } + if (yych <= '\n') { + if (yych <= 0x00) + goto yy617; + if (yych <= '\t') + goto yy628; + goto yy617; + } else { + if (yych <= 0x7F) + goto yy628; + if (yych <= 0xC1) + goto yy617; + if (yych <= 0xF4) + goto yy628; + goto yy617; + } + yy620: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy627; + goto yy617; + yy621: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x9F) + goto yy617; + if (yych <= 0xBF) + goto yy631; + goto yy617; + yy622: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy631; + goto yy617; + yy623: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0x9F) + goto yy631; + goto yy617; + yy624: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x8F) + goto yy617; + if (yych <= 0xBF) + goto yy633; + goto yy617; + yy625: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0xBF) + goto yy633; + goto yy617; + yy626: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x7F) + goto yy617; + if (yych <= 0x8F) + goto yy633; + goto yy617; + yy627: + yych = *++p; + yy628: + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy629; + if (yych <= ']') + goto yy630; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + } + } + yy629: + p = marker; + if (yyaccept == 0) { + goto yy617; + } else { + goto yy640; + } + yy630: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy629; + if (yych <= ']') + goto yy638; + goto yy629; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + goto yy629; + } + } + yy631: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy627; + goto yy629; + yy632: + yych = *++p; + if (yych <= 0x9F) + goto yy629; + if (yych <= 0xBF) + goto yy631; + goto yy629; + yy633: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy631; + goto yy629; + yy634: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0x9F) + goto yy631; + goto yy629; + yy635: + yych = *++p; + if (yych <= 0x8F) + goto yy629; + if (yych <= 0xBF) + goto yy633; + goto yy629; + yy636: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0xBF) + goto yy633; + goto yy629; + yy637: + yych = *++p; + if (yych <= 0x7F) + goto yy629; + if (yych <= 0x8F) + goto yy633; + goto yy629; + yy638: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy638; + } + if (yych <= 0xDF) { + if (yych <= '=') { + if (yych <= 0x00) + goto yy629; + if (yych == '\n') + goto yy629; + goto yy627; + } else { + if (yych <= '>') + goto yy639; + if (yych <= 0x7F) + goto yy627; + if (yych <= 0xC1) + goto yy629; + goto yy631; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy632; + if (yych == 0xED) + goto yy634; + goto yy633; + } else { + if (yych <= 0xF0) + goto yy635; + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + goto yy629; + } + } + yy639: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy627; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= '\n') + goto yy640; + if (yych <= ']') + goto yy630; + } else { + if (yych <= 0xDF) + goto yy631; + if (yych <= 0xE0) + goto yy632; + goto yy633; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy634; + if (yych <= 0xEF) + goto yy633; + goto yy635; + } else { + if (yych <= 0xF3) + goto yy636; + if (yych <= 0xF4) + goto yy637; + } + } + yy640 : { return (bufsize_t)(p - start); } + } } // Try to match a link title (in single quotes, in double quotes, or // in parentheses), returning number of chars matched. Allow one // level of internal nesting (quotes within quotes). -bufsize_t _scan_link_title(const unsigned char *p) -{ +bufsize_t _scan_link_title(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - static const unsigned char yybm[] = { - 0, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 192, 208, 208, 208, 208, 144, - 80, 80, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 32, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 208, 208, 208, 208, 208, 208, 208, 208, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych <= '&') { - if (yych == '"') goto yy719; - } else { - if (yych <= '\'') goto yy720; - if (yych <= '(') goto yy721; - } - ++p; -yy718: - { return 0; } -yy719: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x00) goto yy718; - if (yych <= 0x7F) goto yy723; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy723; - goto yy718; -yy720: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= 0x00) goto yy718; - if (yych <= 0x7F) goto yy737; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy737; - goto yy718; -yy721: - yyaccept = 0; - yych = *(marker = ++p); - if (yych <= '(') { - if (yych <= 0x00) goto yy718; - if (yych <= '\'') goto yy750; - goto yy718; - } else { - if (yych <= 0x7F) goto yy750; - if (yych <= 0xC1) goto yy718; - if (yych <= 0xF4) goto yy750; - goto yy718; - } -yy722: - yych = *++p; -yy723: - if (yybm[0+yych] & 16) { - goto yy722; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '"') goto yy725; - goto yy727; - } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy729; - goto yy730; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; - } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; - } - } -yy724: - p = marker; - if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy718; - } else { - goto yy726; - } - } else { - if (yyaccept == 2) { - goto yy739; - } else { - goto yy752; - } - } -yy725: - ++p; -yy726: - { return (bufsize_t)(p - start); } -yy727: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy722; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '"') goto yy762; - goto yy727; - } else { - if (yych <= 0xC1) goto yy724; - if (yych >= 0xE0) goto yy730; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; - } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; - goto yy724; - } - } -yy729: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy722; - goto yy724; -yy730: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy729; - goto yy724; -yy731: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy729; - goto yy724; -yy732: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy729; - goto yy724; -yy733: - yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy731; - goto yy724; -yy734: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy731; - goto yy724; -yy735: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy731; - goto yy724; -yy736: - yych = *++p; -yy737: - if (yybm[0+yych] & 64) { - goto yy736; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych >= '(') goto yy740; - } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy742; - goto yy743; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; - } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy724; - } - } -yy738: - ++p; -yy739: - { return (bufsize_t)(p - start); } -yy740: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy736; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy724; - if (yych <= '\'') goto yy763; - goto yy740; - } else { - if (yych <= 0xC1) goto yy724; - if (yych >= 0xE0) goto yy743; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; - } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy724; - } - } -yy742: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy736; - goto yy724; -yy743: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy742; - goto yy724; -yy744: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy742; - goto yy724; -yy745: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy742; - goto yy724; -yy746: - yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy744; - goto yy724; -yy747: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy744; - goto yy724; -yy748: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy744; - goto yy724; -yy749: - yych = *++p; -yy750: - if (yybm[0+yych] & 128) { - goto yy749; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') goto yy724; - if (yych >= '*') goto yy753; - } else { - if (yych <= 0xC1) goto yy724; - if (yych <= 0xDF) goto yy755; - goto yy756; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy758; - goto yy757; - } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy724; - } - } -yy751: - ++p; -yy752: - { return (bufsize_t)(p - start); } -yy753: - yych = *++p; - if (yych <= 0xDF) { - if (yych <= '[') { - if (yych <= 0x00) goto yy724; - if (yych == ')') goto yy764; - goto yy749; - } else { - if (yych <= '\\') goto yy753; - if (yych <= 0x7F) goto yy749; - if (yych <= 0xC1) goto yy724; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy756; - if (yych == 0xED) goto yy758; - goto yy757; - } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy724; - } - } -yy755: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy749; - goto yy724; -yy756: - yych = *++p; - if (yych <= 0x9F) goto yy724; - if (yych <= 0xBF) goto yy755; - goto yy724; -yy757: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy755; - goto yy724; -yy758: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x9F) goto yy755; - goto yy724; -yy759: - yych = *++p; - if (yych <= 0x8F) goto yy724; - if (yych <= 0xBF) goto yy757; - goto yy724; -yy760: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0xBF) goto yy757; - goto yy724; -yy761: - yych = *++p; - if (yych <= 0x7F) goto yy724; - if (yych <= 0x8F) goto yy757; - goto yy724; -yy762: - yyaccept = 1; - yych = *(marker = ++p); - if (yybm[0+yych] & 16) { - goto yy722; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy726; - if (yych <= '"') goto yy725; - goto yy727; - } else { - if (yych <= 0xC1) goto yy726; - if (yych <= 0xDF) goto yy729; - goto yy730; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy732; - goto yy731; - } else { - if (yych <= 0xF0) goto yy733; - if (yych <= 0xF3) goto yy734; - if (yych <= 0xF4) goto yy735; - goto yy726; - } - } -yy763: - yyaccept = 2; - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy736; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= 0x00) goto yy739; - if (yych <= '\'') goto yy738; - goto yy740; - } else { - if (yych <= 0xC1) goto yy739; - if (yych <= 0xDF) goto yy742; - goto yy743; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy745; - goto yy744; - } else { - if (yych <= 0xF0) goto yy746; - if (yych <= 0xF3) goto yy747; - if (yych <= 0xF4) goto yy748; - goto yy739; - } - } -yy764: - yyaccept = 3; - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy749; - } - if (yych <= 0xE0) { - if (yych <= '\\') { - if (yych <= '(') goto yy752; - if (yych <= ')') goto yy751; - goto yy753; - } else { - if (yych <= 0xC1) goto yy752; - if (yych <= 0xDF) goto yy755; - goto yy756; - } - } else { - if (yych <= 0xEF) { - if (yych == 0xED) goto yy758; - goto yy757; - } else { - if (yych <= 0xF0) goto yy759; - if (yych <= 0xF3) goto yy760; - if (yych <= 0xF4) goto yy761; - goto yy752; - } - } -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + static const unsigned char yybm[] = { + 0, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 192, 208, 208, 208, 208, 144, 80, 80, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 32, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, 208, + 208, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych <= '&') { + if (yych == '"') + goto yy643; + } else { + if (yych <= '\'') + goto yy644; + if (yych <= '(') + goto yy645; + } + ++p; + yy642 : { return 0; } + yy643: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x00) + goto yy642; + if (yych <= 0x7F) + goto yy647; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy647; + goto yy642; + yy644: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= 0x00) + goto yy642; + if (yych <= 0x7F) + goto yy660; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy660; + goto yy642; + yy645: + yyaccept = 0; + yych = *(marker = ++p); + if (yych <= '(') { + if (yych <= 0x00) + goto yy642; + if (yych <= '\'') + goto yy672; + goto yy642; + } else { + if (yych <= 0x7F) + goto yy672; + if (yych <= 0xC1) + goto yy642; + if (yych <= 0xF4) + goto yy672; + goto yy642; + } + yy646: + yych = *++p; + yy647: + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '"') + goto yy649; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy652; + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + } + } + yy648: + p = marker; + if (yyaccept <= 1) { + if (yyaccept == 0) { + goto yy642; + } else { + goto yy650; + } + } else { + if (yyaccept == 2) { + goto yy662; + } else { + goto yy674; + } + } + yy649: + ++p; + yy650 : { return (bufsize_t)(p - start); } + yy651: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '"') + goto yy683; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych >= 0xE0) + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + goto yy648; + } + } + yy652: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy646; + goto yy648; + yy653: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy652; + goto yy648; + yy654: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy652; + goto yy648; + yy655: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy652; + goto yy648; + yy656: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy654; + goto yy648; + yy657: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy654; + goto yy648; + yy658: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy654; + goto yy648; + yy659: + yych = *++p; + yy660: + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych >= '(') + goto yy663; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy664; + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy648; + } + } + yy661: + ++p; + yy662 : { return (bufsize_t)(p - start); } + yy663: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy648; + if (yych <= '\'') + goto yy684; + goto yy663; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych >= 0xE0) + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy648; + } + } + yy664: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy659; + goto yy648; + yy665: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy664; + goto yy648; + yy666: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy664; + goto yy648; + yy667: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy664; + goto yy648; + yy668: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy666; + goto yy648; + yy669: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy666; + goto yy648; + yy670: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy666; + goto yy648; + yy671: + yych = *++p; + yy672: + if (yybm[0 + yych] & 128) { + goto yy671; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= '(') + goto yy648; + if (yych >= '*') + goto yy675; + } else { + if (yych <= 0xC1) + goto yy648; + if (yych <= 0xDF) + goto yy676; + goto yy677; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy648; + } + } + yy673: + ++p; + yy674 : { return (bufsize_t)(p - start); } + yy675: + yych = *++p; + if (yych <= 0xDF) { + if (yych <= '[') { + if (yych <= 0x00) + goto yy648; + if (yych == ')') + goto yy685; + goto yy671; + } else { + if (yych <= '\\') + goto yy675; + if (yych <= 0x7F) + goto yy671; + if (yych <= 0xC1) + goto yy648; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) + goto yy677; + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy648; + } + } + yy676: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy671; + goto yy648; + yy677: + yych = *++p; + if (yych <= 0x9F) + goto yy648; + if (yych <= 0xBF) + goto yy676; + goto yy648; + yy678: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy676; + goto yy648; + yy679: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x9F) + goto yy676; + goto yy648; + yy680: + yych = *++p; + if (yych <= 0x8F) + goto yy648; + if (yych <= 0xBF) + goto yy678; + goto yy648; + yy681: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0xBF) + goto yy678; + goto yy648; + yy682: + yych = *++p; + if (yych <= 0x7F) + goto yy648; + if (yych <= 0x8F) + goto yy678; + goto yy648; + yy683: + yyaccept = 1; + yych = *(marker = ++p); + if (yybm[0 + yych] & 16) { + goto yy646; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy650; + if (yych <= '"') + goto yy649; + goto yy651; + } else { + if (yych <= 0xC1) + goto yy650; + if (yych <= 0xDF) + goto yy652; + goto yy653; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy655; + goto yy654; + } else { + if (yych <= 0xF0) + goto yy656; + if (yych <= 0xF3) + goto yy657; + if (yych <= 0xF4) + goto yy658; + goto yy650; + } + } + yy684: + yyaccept = 2; + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy659; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= 0x00) + goto yy662; + if (yych <= '\'') + goto yy661; + goto yy663; + } else { + if (yych <= 0xC1) + goto yy662; + if (yych <= 0xDF) + goto yy664; + goto yy665; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy667; + goto yy666; + } else { + if (yych <= 0xF0) + goto yy668; + if (yych <= 0xF3) + goto yy669; + if (yych <= 0xF4) + goto yy670; + goto yy662; + } + } + yy685: + yyaccept = 3; + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy671; + } + if (yych <= 0xE0) { + if (yych <= '\\') { + if (yych <= '(') + goto yy674; + if (yych <= ')') + goto yy673; + goto yy675; + } else { + if (yych <= 0xC1) + goto yy674; + if (yych <= 0xDF) + goto yy676; + goto yy677; + } + } else { + if (yych <= 0xEF) { + if (yych == 0xED) + goto yy679; + goto yy678; + } else { + if (yych <= 0xF0) + goto yy680; + if (yych <= 0xF3) + goto yy681; + if (yych <= 0xF4) + goto yy682; + goto yy674; + } + } + } } // Match space characters, including newlines. -bufsize_t _scan_spacechars(const unsigned char *p) -{ - const unsigned char *start = p; \ - -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 128, 128, 128, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yybm[0+yych] & 128) { - goto yy769; - } - ++p; - { return 0; } -yy769: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy769; - } - { return (bufsize_t)(p - start); } -} +bufsize_t _scan_spacechars(const unsigned char *p) { + const unsigned char *start = p; + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 128, 128, 128, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yybm[0 + yych] & 128) { + goto yy687; + } + ++p; + { return 0; } + yy687: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy687; + } + { return (bufsize_t)(p - start); } + } } // Match ATX heading start. -bufsize_t _scan_atx_heading_start(const unsigned char *p) -{ +bufsize_t _scan_atx_heading_start(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '#') goto yy776; - ++p; -yy775: - { return 0; } -yy776: - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy775; - if (yych <= '\n') goto yy780; - goto yy775; - } else { - if (yych <= '\r') goto yy780; - if (yych == '#') goto yy781; - goto yy775; - } -yy777: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } -yy779: - { return (bufsize_t)(p - start); } -yy780: - ++p; - goto yy779; -yy781: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - } else { - if (yych <= '\r') goto yy780; - if (yych == '#') goto yy783; - } -yy782: - p = marker; - goto yy775; -yy783: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; - } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; - } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - goto yy782; - } else { - if (yych <= '\r') goto yy780; - if (yych != '#') goto yy782; - } - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy777; - } - if (yych <= 0x08) goto yy782; - if (yych <= '\n') goto yy780; - if (yych == '\r') goto yy780; - goto yy782; -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yych == '#') + goto yy690; + ++p; + yy689 : { return 0; } + yy690: + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy689; + if (yych <= '\n') + goto yy693; + goto yy689; + } else { + if (yych <= '\r') + goto yy693; + if (yych == '#') + goto yy694; + goto yy689; + } + yy691: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + yy692 : { return (bufsize_t)(p - start); } + yy693: + ++p; + goto yy692; + yy694: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + } else { + if (yych <= '\r') + goto yy693; + if (yych == '#') + goto yy696; + } + yy695: + p = marker; + goto yy689; + yy696: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + goto yy695; + } else { + if (yych <= '\r') + goto yy693; + if (yych != '#') + goto yy695; + } + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy691; + } + if (yych <= 0x08) + goto yy695; + if (yych <= '\n') + goto yy693; + if (yych == '\r') + goto yy693; + goto yy695; + } } // Match setext heading line. Return 1 for level-1 heading, // 2 for level-2, 0 for no match. -bufsize_t _scan_setext_heading_line(const unsigned char *p) -{ +bufsize_t _scan_setext_heading_line(const unsigned char *p) { const unsigned char *marker = NULL; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 32, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 64, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 128, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '-') goto yy791; - if (yych == '=') goto yy792; - ++p; -yy790: - { return 0; } -yy791: - yych = *(marker = ++p); - if (yybm[0+yych] & 64) { - goto yy798; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy790; - if (yych <= '\n') goto yy794; - goto yy790; - } else { - if (yych <= '\r') goto yy794; - if (yych == ' ') goto yy794; - goto yy790; - } -yy792: - yych = *(marker = ++p); - if (yybm[0+yych] & 128) { - goto yy804; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy790; - if (yych <= '\n') goto yy801; - goto yy790; - } else { - if (yych <= '\r') goto yy801; - if (yych == ' ') goto yy801; - goto yy790; - } -yy793: - yych = *++p; -yy794: - if (yybm[0+yych] & 32) { - goto yy793; - } - if (yych <= 0x08) goto yy795; - if (yych <= '\n') goto yy796; - if (yych == '\r') goto yy796; -yy795: - p = marker; - goto yy790; -yy796: - ++p; - { return 2; } -yy798: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy793; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\n') goto yy796; - goto yy795; - } else { - if (yych <= '\r') goto yy796; - if (yych == '-') goto yy798; - goto yy795; - } -yy800: - yych = *++p; -yy801: - if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\t') goto yy800; - if (yych >= '\v') goto yy795; - } else { - if (yych <= '\r') goto yy802; - if (yych == ' ') goto yy800; - goto yy795; - } -yy802: - ++p; - { return 1; } -yy804: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy804; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy795; - if (yych <= '\t') goto yy800; - if (yych <= '\n') goto yy802; - goto yy795; - } else { - if (yych <= '\r') goto yy802; - if (yych == ' ') goto yy800; - goto yy795; - } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yych == '-') + goto yy699; + if (yych == '=') + goto yy700; + ++p; + yy698 : { return 0; } + yy699: + yych = *(marker = ++p); + if (yybm[0 + yych] & 64) { + goto yy705; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy698; + if (yych <= '\n') + goto yy702; + goto yy698; + } else { + if (yych <= '\r') + goto yy702; + if (yych == ' ') + goto yy702; + goto yy698; + } + yy700: + yych = *(marker = ++p); + if (yybm[0 + yych] & 128) { + goto yy709; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy698; + if (yych <= '\n') + goto yy707; + goto yy698; + } else { + if (yych <= '\r') + goto yy707; + if (yych == ' ') + goto yy707; + goto yy698; + } + yy701: + yych = *++p; + yy702: + if (yybm[0 + yych] & 32) { + goto yy701; + } + if (yych <= 0x08) + goto yy703; + if (yych <= '\n') + goto yy704; + if (yych == '\r') + goto yy704; + yy703: + p = marker; + goto yy698; + yy704: + ++p; + { return 2; } + yy705: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy701; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\n') + goto yy704; + goto yy703; + } else { + if (yych <= '\r') + goto yy704; + if (yych == '-') + goto yy705; + goto yy703; + } + yy706: + yych = *++p; + yy707: + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\t') + goto yy706; + if (yych >= '\v') + goto yy703; + } else { + if (yych <= '\r') + goto yy708; + if (yych == ' ') + goto yy706; + goto yy703; + } + yy708: + ++p; + { return 1; } + yy709: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy709; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy703; + if (yych <= '\t') + goto yy706; + if (yych <= '\n') + goto yy708; + goto yy703; + } else { + if (yych <= '\r') + goto yy708; + if (yych == ' ') + goto yy706; + goto yy703; + } + } } // Scan an opening code fence. -bufsize_t _scan_open_code_fence(const unsigned char *p) -{ +bufsize_t _scan_open_code_fence(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 0, 192, 192, 0, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 144, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 192, 192, - 192, 192, 192, 192, 192, 192, 224, 192, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '`') goto yy810; - if (yych == '~') goto yy811; - ++p; -yy809: - { return 0; } -yy810: - yych = *(marker = ++p); - if (yych == '`') goto yy812; - goto yy809; -yy811: - yych = *(marker = ++p); - if (yych == '~') goto yy814; - goto yy809; -yy812: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy815; - } -yy813: - p = marker; - goto yy809; -yy814: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy817; - } - goto yy813; -yy815: - yych = *++p; - if (yybm[0+yych] & 16) { - goto yy815; - } - if (yych <= 0xDF) { - if (yych <= '\f') { - if (yych <= 0x00) goto yy813; - if (yych == '\n') { - marker = p; - goto yy821; - } - marker = p; - goto yy819; - } else { - if (yych <= '\r') { - marker = p; - goto yy821; - } - if (yych <= 0x7F) { - marker = p; - goto yy819; - } - if (yych <= 0xC1) goto yy813; - marker = p; - goto yy823; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy824; - } - if (yych == 0xED) { - marker = p; - goto yy826; - } - marker = p; - goto yy825; - } else { - if (yych <= 0xF0) { - marker = p; - goto yy827; - } - if (yych <= 0xF3) { - marker = p; - goto yy828; - } - if (yych <= 0xF4) { - marker = p; - goto yy829; - } - goto yy813; - } - } -yy817: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy817; - } - if (yych <= 0xDF) { - if (yych <= '\f') { - if (yych <= 0x00) goto yy813; - if (yych == '\n') { - marker = p; - goto yy832; - } - marker = p; - goto yy830; - } else { - if (yych <= '\r') { - marker = p; - goto yy832; - } - if (yych <= 0x7F) { - marker = p; - goto yy830; - } - if (yych <= 0xC1) goto yy813; - marker = p; - goto yy834; - } - } else { - if (yych <= 0xEF) { - if (yych <= 0xE0) { - marker = p; - goto yy835; - } - if (yych == 0xED) { - marker = p; - goto yy837; - } - marker = p; - goto yy836; - } else { - if (yych <= 0xF0) { - marker = p; - goto yy838; - } - if (yych <= 0xF3) { - marker = p; - goto yy839; - } - if (yych <= 0xF4) { - marker = p; - goto yy840; - } - goto yy813; - } - } -yy819: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy819; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy813; - if (yych >= 0x0E) goto yy813; - } else { - if (yych <= 0xDF) goto yy823; - if (yych <= 0xE0) goto yy824; - goto yy825; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy826; - if (yych <= 0xEF) goto yy825; - goto yy827; - } else { - if (yych <= 0xF3) goto yy828; - if (yych <= 0xF4) goto yy829; - goto yy813; - } - } -yy821: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy823: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy819; - goto yy813; -yy824: - yych = *++p; - if (yych <= 0x9F) goto yy813; - if (yych <= 0xBF) goto yy823; - goto yy813; -yy825: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy823; - goto yy813; -yy826: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x9F) goto yy823; - goto yy813; -yy827: - yych = *++p; - if (yych <= 0x8F) goto yy813; - if (yych <= 0xBF) goto yy825; - goto yy813; -yy828: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy825; - goto yy813; -yy829: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x8F) goto yy825; - goto yy813; -yy830: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy830; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= 0x00) goto yy813; - if (yych >= 0x0E) goto yy813; - } else { - if (yych <= 0xDF) goto yy834; - if (yych <= 0xE0) goto yy835; - goto yy836; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy837; - if (yych <= 0xEF) goto yy836; - goto yy838; - } else { - if (yych <= 0xF3) goto yy839; - if (yych <= 0xF4) goto yy840; - goto yy813; - } - } -yy832: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy834: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy830; - goto yy813; -yy835: - yych = *++p; - if (yych <= 0x9F) goto yy813; - if (yych <= 0xBF) goto yy834; - goto yy813; -yy836: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy834; - goto yy813; -yy837: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x9F) goto yy834; - goto yy813; -yy838: - yych = *++p; - if (yych <= 0x8F) goto yy813; - if (yych <= 0xBF) goto yy836; - goto yy813; -yy839: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0xBF) goto yy836; - goto yy813; -yy840: - yych = *++p; - if (yych <= 0x7F) goto yy813; - if (yych <= 0x8F) goto yy836; - goto yy813; -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 192, 192, 192, 192, 192, 192, 192, 192, 192, 0, 192, 192, 0, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 144, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, 192, + 224, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, + }; + yych = *p; + if (yych == '`') + goto yy712; + if (yych == '~') + goto yy713; + ++p; + yy711 : { return 0; } + yy712: + yych = *(marker = ++p); + if (yych == '`') + goto yy714; + goto yy711; + yy713: + yych = *(marker = ++p); + if (yych == '~') + goto yy716; + goto yy711; + yy714: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy717; + } + yy715: + p = marker; + goto yy711; + yy716: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy718; + } + goto yy715; + yy717: + yych = *++p; + if (yybm[0 + yych] & 16) { + goto yy717; + } + if (yych <= 0xDF) { + if (yych <= '\f') { + if (yych <= 0x00) + goto yy715; + if (yych == '\n') { + marker = p; + goto yy720; + } + marker = p; + goto yy719; + } else { + if (yych <= '\r') { + marker = p; + goto yy720; + } + if (yych <= 0x7F) { + marker = p; + goto yy719; + } + if (yych <= 0xC1) + goto yy715; + marker = p; + goto yy721; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) { + marker = p; + goto yy722; + } + if (yych == 0xED) { + marker = p; + goto yy724; + } + marker = p; + goto yy723; + } else { + if (yych <= 0xF0) { + marker = p; + goto yy725; + } + if (yych <= 0xF3) { + marker = p; + goto yy726; + } + if (yych <= 0xF4) { + marker = p; + goto yy727; + } + goto yy715; + } + } + yy718: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy718; + } + if (yych <= 0xDF) { + if (yych <= '\f') { + if (yych <= 0x00) + goto yy715; + if (yych == '\n') { + marker = p; + goto yy729; + } + marker = p; + goto yy728; + } else { + if (yych <= '\r') { + marker = p; + goto yy729; + } + if (yych <= 0x7F) { + marker = p; + goto yy728; + } + if (yych <= 0xC1) + goto yy715; + marker = p; + goto yy730; + } + } else { + if (yych <= 0xEF) { + if (yych <= 0xE0) { + marker = p; + goto yy731; + } + if (yych == 0xED) { + marker = p; + goto yy733; + } + marker = p; + goto yy732; + } else { + if (yych <= 0xF0) { + marker = p; + goto yy734; + } + if (yych <= 0xF3) { + marker = p; + goto yy735; + } + if (yych <= 0xF4) { + marker = p; + goto yy736; + } + goto yy715; + } + } + yy719: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy719; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy715; + if (yych >= 0x0E) + goto yy715; + } else { + if (yych <= 0xDF) + goto yy721; + if (yych <= 0xE0) + goto yy722; + goto yy723; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy724; + if (yych <= 0xEF) + goto yy723; + goto yy725; + } else { + if (yych <= 0xF3) + goto yy726; + if (yych <= 0xF4) + goto yy727; + goto yy715; + } + } + yy720: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy721: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy719; + goto yy715; + yy722: + yych = *++p; + if (yych <= 0x9F) + goto yy715; + if (yych <= 0xBF) + goto yy721; + goto yy715; + yy723: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy721; + goto yy715; + yy724: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x9F) + goto yy721; + goto yy715; + yy725: + yych = *++p; + if (yych <= 0x8F) + goto yy715; + if (yych <= 0xBF) + goto yy723; + goto yy715; + yy726: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy723; + goto yy715; + yy727: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x8F) + goto yy723; + goto yy715; + yy728: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy728; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= 0x00) + goto yy715; + if (yych >= 0x0E) + goto yy715; + } else { + if (yych <= 0xDF) + goto yy730; + if (yych <= 0xE0) + goto yy731; + goto yy732; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy733; + if (yych <= 0xEF) + goto yy732; + goto yy734; + } else { + if (yych <= 0xF3) + goto yy735; + if (yych <= 0xF4) + goto yy736; + goto yy715; + } + } + yy729: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy730: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy728; + goto yy715; + yy731: + yych = *++p; + if (yych <= 0x9F) + goto yy715; + if (yych <= 0xBF) + goto yy730; + goto yy715; + yy732: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy730; + goto yy715; + yy733: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x9F) + goto yy730; + goto yy715; + yy734: + yych = *++p; + if (yych <= 0x8F) + goto yy715; + if (yych <= 0xBF) + goto yy732; + goto yy715; + yy735: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0xBF) + goto yy732; + goto yy715; + yy736: + yych = *++p; + if (yych <= 0x7F) + goto yy715; + if (yych <= 0x8F) + goto yy732; + goto yy715; + } } // Scan a closing code fence with length at least len. -bufsize_t _scan_close_code_fence(const unsigned char *p) -{ +bufsize_t _scan_close_code_fence(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 128, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 32, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 64, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '`') goto yy845; - if (yych == '~') goto yy846; - ++p; -yy844: - { return 0; } -yy845: - yych = *(marker = ++p); - if (yych == '`') goto yy847; - goto yy844; -yy846: - yych = *(marker = ++p); - if (yych == '~') goto yy849; - goto yy844; -yy847: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy850; - } -yy848: - p = marker; - goto yy844; -yy849: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy852; - } - goto yy848; -yy850: - yych = *++p; - if (yybm[0+yych] & 32) { - goto yy850; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy848; - if (yych <= '\t') { - marker = p; - goto yy854; - } - if (yych <= '\n') { - marker = p; - goto yy856; - } - goto yy848; - } else { - if (yych <= '\r') { - marker = p; - goto yy856; - } - if (yych == ' ') { - marker = p; - goto yy854; - } - goto yy848; - } -yy852: - yych = *++p; - if (yybm[0+yych] & 64) { - goto yy852; - } - if (yych <= '\f') { - if (yych <= 0x08) goto yy848; - if (yych <= '\t') { - marker = p; - goto yy858; - } - if (yych <= '\n') { - marker = p; - goto yy860; - } - goto yy848; - } else { - if (yych <= '\r') { - marker = p; - goto yy860; - } - if (yych == ' ') { - marker = p; - goto yy858; - } - goto yy848; - } -yy854: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy854; - } - if (yych <= 0x08) goto yy848; - if (yych <= '\n') goto yy856; - if (yych != '\r') goto yy848; -yy856: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -yy858: - yych = *++p; - if (yych <= '\f') { - if (yych <= 0x08) goto yy848; - if (yych <= '\t') goto yy858; - if (yych >= '\v') goto yy848; - } else { - if (yych <= '\r') goto yy860; - if (yych == ' ') goto yy858; - goto yy848; - } -yy860: - ++p; - p = marker; - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yych == '`') + goto yy739; + if (yych == '~') + goto yy740; + ++p; + yy738 : { return 0; } + yy739: + yych = *(marker = ++p); + if (yych == '`') + goto yy741; + goto yy738; + yy740: + yych = *(marker = ++p); + if (yych == '~') + goto yy743; + goto yy738; + yy741: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy744; + } + yy742: + p = marker; + goto yy738; + yy743: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy745; + } + goto yy742; + yy744: + yych = *++p; + if (yybm[0 + yych] & 32) { + goto yy744; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') { + marker = p; + goto yy746; + } + if (yych <= '\n') { + marker = p; + goto yy747; + } + goto yy742; + } else { + if (yych <= '\r') { + marker = p; + goto yy747; + } + if (yych == ' ') { + marker = p; + goto yy746; + } + goto yy742; + } + yy745: + yych = *++p; + if (yybm[0 + yych] & 64) { + goto yy745; + } + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') { + marker = p; + goto yy748; + } + if (yych <= '\n') { + marker = p; + goto yy749; + } + goto yy742; + } else { + if (yych <= '\r') { + marker = p; + goto yy749; + } + if (yych == ' ') { + marker = p; + goto yy748; + } + goto yy742; + } + yy746: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy746; + } + if (yych <= 0x08) + goto yy742; + if (yych <= '\n') + goto yy747; + if (yych != '\r') + goto yy742; + yy747: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + yy748: + yych = *++p; + if (yych <= '\f') { + if (yych <= 0x08) + goto yy742; + if (yych <= '\t') + goto yy748; + if (yych >= '\v') + goto yy742; + } else { + if (yych <= '\r') + goto yy749; + if (yych == ' ') + goto yy748; + goto yy742; + } + yy749: + ++p; + p = marker; + { return (bufsize_t)(p - start); } + } } // Scans an entity. // Returns number of chars matched. -bufsize_t _scan_entity(const unsigned char *p) -{ +bufsize_t _scan_entity(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - yych = *p; - if (yych == '&') goto yy866; - ++p; -yy865: - { return 0; } -yy866: - yych = *(marker = ++p); - if (yych <= '@') { - if (yych != '#') goto yy865; - } else { - if (yych <= 'Z') goto yy869; - if (yych <= '`') goto yy865; - if (yych <= 'z') goto yy869; - goto yy865; - } - yych = *++p; - if (yych <= 'W') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy870; - } else { - if (yych <= 'X') goto yy871; - if (yych == 'x') goto yy871; - } -yy868: - p = marker; - goto yy865; -yy869: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy872; - goto yy868; - } else { - if (yych <= 'Z') goto yy872; - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy872; - goto yy868; - } -yy870: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy873; - if (yych == ';') goto yy874; - goto yy868; -yy871: - yych = *++p; - if (yych <= '@') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy876; - goto yy868; - } else { - if (yych <= 'F') goto yy876; - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy876; - goto yy868; - } -yy872: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy877; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy877; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy877; - goto yy868; - } - } -yy873: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy878; - if (yych != ';') goto yy868; -yy874: - ++p; - { return (bufsize_t)(p - start); } -yy876: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy879; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy879; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy879; - goto yy868; - } - } -yy877: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy880; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy880; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy880; - goto yy868; - } - } -yy878: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy881; - if (yych == ';') goto yy874; - goto yy868; -yy879: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy882; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy882; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy882; - goto yy868; - } - } -yy880: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy883; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy883; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy883; - goto yy868; - } - } -yy881: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy884; - if (yych == ';') goto yy874; - goto yy868; -yy882: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy885; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy885; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy885; - goto yy868; - } - } -yy883: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy886; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy886; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy886; - goto yy868; - } - } -yy884: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy887; - if (yych == ';') goto yy874; - goto yy868; -yy885: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy888; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy888; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy888; - goto yy868; - } - } -yy886: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy889; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy889; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy889; - goto yy868; - } - } -yy887: - yych = *++p; - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy890; - if (yych == ';') goto yy874; - goto yy868; -yy888: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy890; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'F') { - if (yych <= '@') goto yy868; - goto yy890; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'f') goto yy890; - goto yy868; - } - } -yy889: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy891; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy891; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy891; - goto yy868; - } - } -yy890: - yych = *++p; - if (yych == ';') goto yy874; - goto yy868; -yy891: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy892; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy892: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy893; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy893: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy894; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy894: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy895; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy895: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy896; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy896: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy897; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy897: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy898; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy898: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy899; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy899: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy900; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy900: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy901; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy901: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy902; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy902: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy903; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy903: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy904; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy904: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy905; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy905: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy906; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy906: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy907; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy907: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy908; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy908: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy909; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy909: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy910; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy910: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy911; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy911: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy912; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy912: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy913; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy913: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy914; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - } else { - if (yych <= '`') goto yy868; - if (yych >= '{') goto yy868; - } - } -yy914: - yych = *++p; - if (yych <= ';') { - if (yych <= '/') goto yy868; - if (yych <= '9') goto yy890; - if (yych <= ':') goto yy868; - goto yy874; - } else { - if (yych <= 'Z') { - if (yych <= '@') goto yy868; - goto yy890; - } else { - if (yych <= '`') goto yy868; - if (yych <= 'z') goto yy890; - goto yy868; - } - } -} - + { + unsigned char yych; + yych = *p; + if (yych == '&') + goto yy752; + ++p; + yy751 : { return 0; } + yy752: + yych = *(marker = ++p); + if (yych <= '@') { + if (yych != '#') + goto yy751; + } else { + if (yych <= 'Z') + goto yy754; + if (yych <= '`') + goto yy751; + if (yych <= 'z') + goto yy754; + goto yy751; + } + yych = *++p; + if (yych <= 'W') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy755; + } else { + if (yych <= 'X') + goto yy756; + if (yych == 'x') + goto yy756; + } + yy753: + p = marker; + goto yy751; + yy754: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy757; + goto yy753; + } else { + if (yych <= 'Z') + goto yy757; + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy757; + goto yy753; + } + yy755: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy758; + if (yych == ';') + goto yy759; + goto yy753; + yy756: + yych = *++p; + if (yych <= '@') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy760; + goto yy753; + } else { + if (yych <= 'F') + goto yy760; + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy760; + goto yy753; + } + yy757: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy761; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy761; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy761; + goto yy753; + } + } + yy758: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy762; + if (yych != ';') + goto yy753; + yy759: + ++p; + { return (bufsize_t)(p - start); } + yy760: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy763; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy763; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy763; + goto yy753; + } + } + yy761: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy764; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy764; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy764; + goto yy753; + } + } + yy762: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy765; + if (yych == ';') + goto yy759; + goto yy753; + yy763: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy766; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy766; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy766; + goto yy753; + } + } + yy764: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy767; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy767; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy767; + goto yy753; + } + } + yy765: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy768; + if (yych == ';') + goto yy759; + goto yy753; + yy766: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy769; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy769; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy769; + goto yy753; + } + } + yy767: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy770; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy770; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy770; + goto yy753; + } + } + yy768: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy771; + if (yych == ';') + goto yy759; + goto yy753; + yy769: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy772; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy772; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy772; + goto yy753; + } + } + yy770: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy773; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy773; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy773; + goto yy753; + } + } + yy771: + yych = *++p; + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych == ';') + goto yy759; + goto yy753; + yy772: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'F') { + if (yych <= '@') + goto yy753; + goto yy774; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'f') + goto yy774; + goto yy753; + } + } + yy773: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy775; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy775; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy775; + goto yy753; + } + } + yy774: + yych = *++p; + if (yych == ';') + goto yy759; + goto yy753; + yy775: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy776; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy776: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy777; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy777: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy778; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy778: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy779; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy779: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy780; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy780: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy781; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy781: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy782; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy782: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy783; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy783: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy784; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy784: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy785; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy785: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy786; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy786: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy787; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy787: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy788; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy788: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy789; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy789: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy790; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy790: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy791; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy791: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy792; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy792: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy793; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy793: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy794; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy794: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy795; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy795: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy796; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy796: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy797; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy797: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy798; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + } else { + if (yych <= '`') + goto yy753; + if (yych >= '{') + goto yy753; + } + } + yy798: + yych = *++p; + if (yych <= ';') { + if (yych <= '/') + goto yy753; + if (yych <= '9') + goto yy774; + if (yych <= ':') + goto yy753; + goto yy759; + } else { + if (yych <= 'Z') { + if (yych <= '@') + goto yy753; + goto yy774; + } else { + if (yych <= '`') + goto yy753; + if (yych <= 'z') + goto yy774; + goto yy753; + } + } + } } // Returns positive value if a URL begins in a way that is potentially // dangerous, with javascript:, vbscript:, file:, or data:, otherwise 0. -bufsize_t _scan_dangerous_url(const unsigned char *p) -{ +bufsize_t _scan_dangerous_url(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - unsigned int yyaccept = 0; - yych = *p; - if (yych <= 'V') { - if (yych <= 'F') { - if (yych == 'D') goto yy919; - if (yych >= 'F') goto yy920; - } else { - if (yych == 'J') goto yy921; - if (yych >= 'V') goto yy922; - } - } else { - if (yych <= 'f') { - if (yych == 'd') goto yy919; - if (yych >= 'f') goto yy920; - } else { - if (yych <= 'j') { - if (yych >= 'j') goto yy921; - } else { - if (yych == 'v') goto yy922; - } - } - } - ++p; -yy918: - { return 0; } -yy919: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'A') goto yy923; - if (yych == 'a') goto yy923; - goto yy918; -yy920: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'I') goto yy925; - if (yych == 'i') goto yy925; - goto yy918; -yy921: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'A') goto yy926; - if (yych == 'a') goto yy926; - goto yy918; -yy922: - yyaccept = 0; - yych = *(marker = ++p); - if (yych == 'B') goto yy927; - if (yych == 'b') goto yy927; - goto yy918; -yy923: - yych = *++p; - if (yych == 'T') goto yy928; - if (yych == 't') goto yy928; -yy924: - p = marker; - if (yyaccept == 0) { - goto yy918; - } else { - goto yy936; - } -yy925: - yych = *++p; - if (yych == 'L') goto yy929; - if (yych == 'l') goto yy929; - goto yy924; -yy926: - yych = *++p; - if (yych == 'V') goto yy930; - if (yych == 'v') goto yy930; - goto yy924; -yy927: - yych = *++p; - if (yych == 'S') goto yy931; - if (yych == 's') goto yy931; - goto yy924; -yy928: - yych = *++p; - if (yych == 'A') goto yy932; - if (yych == 'a') goto yy932; - goto yy924; -yy929: - yych = *++p; - if (yych == 'E') goto yy933; - if (yych == 'e') goto yy933; - goto yy924; -yy930: - yych = *++p; - if (yych == 'A') goto yy927; - if (yych == 'a') goto yy927; - goto yy924; -yy931: - yych = *++p; - if (yych == 'C') goto yy934; - if (yych == 'c') goto yy934; - goto yy924; -yy932: - yych = *++p; - if (yych == ':') goto yy935; - goto yy924; -yy933: - yych = *++p; - if (yych == ':') goto yy937; - goto yy924; -yy934: - yych = *++p; - if (yych == 'R') goto yy938; - if (yych == 'r') goto yy938; - goto yy924; -yy935: - yyaccept = 1; - yych = *(marker = ++p); - if (yych == 'I') goto yy939; - if (yych == 'i') goto yy939; -yy936: - { return (bufsize_t)(p - start); } -yy937: - ++p; - goto yy936; -yy938: - yych = *++p; - if (yych == 'I') goto yy940; - if (yych == 'i') goto yy940; - goto yy924; -yy939: - yych = *++p; - if (yych == 'M') goto yy941; - if (yych == 'm') goto yy941; - goto yy924; -yy940: - yych = *++p; - if (yych == 'P') goto yy942; - if (yych == 'p') goto yy942; - goto yy924; -yy941: - yych = *++p; - if (yych == 'A') goto yy943; - if (yych == 'a') goto yy943; - goto yy924; -yy942: - yych = *++p; - if (yych == 'T') goto yy933; - if (yych == 't') goto yy933; - goto yy924; -yy943: - yych = *++p; - if (yych == 'G') goto yy944; - if (yych != 'g') goto yy924; -yy944: - yych = *++p; - if (yych == 'E') goto yy945; - if (yych != 'e') goto yy924; -yy945: - yych = *++p; - if (yych != '/') goto yy924; - yych = *++p; - if (yych <= 'W') { - if (yych <= 'J') { - if (yych == 'G') goto yy947; - if (yych <= 'I') goto yy924; - goto yy948; - } else { - if (yych == 'P') goto yy949; - if (yych <= 'V') goto yy924; - goto yy950; - } - } else { - if (yych <= 'j') { - if (yych == 'g') goto yy947; - if (yych <= 'i') goto yy924; - goto yy948; - } else { - if (yych <= 'p') { - if (yych <= 'o') goto yy924; - goto yy949; - } else { - if (yych == 'w') goto yy950; - goto yy924; - } - } - } -yy947: - yych = *++p; - if (yych == 'I') goto yy951; - if (yych == 'i') goto yy951; - goto yy924; -yy948: - yych = *++p; - if (yych == 'P') goto yy952; - if (yych == 'p') goto yy952; - goto yy924; -yy949: - yych = *++p; - if (yych == 'N') goto yy953; - if (yych == 'n') goto yy953; - goto yy924; -yy950: - yych = *++p; - if (yych == 'E') goto yy954; - if (yych == 'e') goto yy954; - goto yy924; -yy951: - yych = *++p; - if (yych == 'F') goto yy955; - if (yych == 'f') goto yy955; - goto yy924; -yy952: - yych = *++p; - if (yych == 'E') goto yy953; - if (yych != 'e') goto yy924; -yy953: - yych = *++p; - if (yych == 'G') goto yy955; - if (yych == 'g') goto yy955; - goto yy924; -yy954: - yych = *++p; - if (yych == 'B') goto yy957; - if (yych == 'b') goto yy957; - goto yy924; -yy955: - ++p; - { return 0; } -yy957: - yych = *++p; - if (yych == 'P') goto yy955; - if (yych == 'p') goto yy955; - goto yy924; -} - + { + unsigned char yych; + unsigned int yyaccept = 0; + yych = *p; + if (yych <= 'V') { + if (yych <= 'F') { + if (yych == 'D') + goto yy801; + if (yych >= 'F') + goto yy802; + } else { + if (yych == 'J') + goto yy803; + if (yych >= 'V') + goto yy804; + } + } else { + if (yych <= 'f') { + if (yych == 'd') + goto yy801; + if (yych >= 'f') + goto yy802; + } else { + if (yych <= 'j') { + if (yych >= 'j') + goto yy803; + } else { + if (yych == 'v') + goto yy804; + } + } + } + ++p; + yy800 : { return 0; } + yy801: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'A') + goto yy805; + if (yych == 'a') + goto yy805; + goto yy800; + yy802: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'I') + goto yy807; + if (yych == 'i') + goto yy807; + goto yy800; + yy803: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'A') + goto yy808; + if (yych == 'a') + goto yy808; + goto yy800; + yy804: + yyaccept = 0; + yych = *(marker = ++p); + if (yych == 'B') + goto yy809; + if (yych == 'b') + goto yy809; + goto yy800; + yy805: + yych = *++p; + if (yych == 'T') + goto yy810; + if (yych == 't') + goto yy810; + yy806: + p = marker; + if (yyaccept == 0) { + goto yy800; + } else { + goto yy818; + } + yy807: + yych = *++p; + if (yych == 'L') + goto yy811; + if (yych == 'l') + goto yy811; + goto yy806; + yy808: + yych = *++p; + if (yych == 'V') + goto yy812; + if (yych == 'v') + goto yy812; + goto yy806; + yy809: + yych = *++p; + if (yych == 'S') + goto yy813; + if (yych == 's') + goto yy813; + goto yy806; + yy810: + yych = *++p; + if (yych == 'A') + goto yy814; + if (yych == 'a') + goto yy814; + goto yy806; + yy811: + yych = *++p; + if (yych == 'E') + goto yy815; + if (yych == 'e') + goto yy815; + goto yy806; + yy812: + yych = *++p; + if (yych == 'A') + goto yy809; + if (yych == 'a') + goto yy809; + goto yy806; + yy813: + yych = *++p; + if (yych == 'C') + goto yy816; + if (yych == 'c') + goto yy816; + goto yy806; + yy814: + yych = *++p; + if (yych == ':') + goto yy817; + goto yy806; + yy815: + yych = *++p; + if (yych == ':') + goto yy819; + goto yy806; + yy816: + yych = *++p; + if (yych == 'R') + goto yy820; + if (yych == 'r') + goto yy820; + goto yy806; + yy817: + yyaccept = 1; + yych = *(marker = ++p); + if (yych == 'I') + goto yy821; + if (yych == 'i') + goto yy821; + yy818 : { return (bufsize_t)(p - start); } + yy819: + ++p; + goto yy818; + yy820: + yych = *++p; + if (yych == 'I') + goto yy822; + if (yych == 'i') + goto yy822; + goto yy806; + yy821: + yych = *++p; + if (yych == 'M') + goto yy823; + if (yych == 'm') + goto yy823; + goto yy806; + yy822: + yych = *++p; + if (yych == 'P') + goto yy824; + if (yych == 'p') + goto yy824; + goto yy806; + yy823: + yych = *++p; + if (yych == 'A') + goto yy825; + if (yych == 'a') + goto yy825; + goto yy806; + yy824: + yych = *++p; + if (yych == 'T') + goto yy815; + if (yych == 't') + goto yy815; + goto yy806; + yy825: + yych = *++p; + if (yych == 'G') + goto yy826; + if (yych != 'g') + goto yy806; + yy826: + yych = *++p; + if (yych == 'E') + goto yy827; + if (yych != 'e') + goto yy806; + yy827: + yych = *++p; + if (yych != '/') + goto yy806; + yych = *++p; + if (yych <= 'W') { + if (yych <= 'J') { + if (yych == 'G') + goto yy828; + if (yych <= 'I') + goto yy806; + goto yy829; + } else { + if (yych == 'P') + goto yy830; + if (yych <= 'V') + goto yy806; + goto yy831; + } + } else { + if (yych <= 'j') { + if (yych == 'g') + goto yy828; + if (yych <= 'i') + goto yy806; + goto yy829; + } else { + if (yych <= 'p') { + if (yych <= 'o') + goto yy806; + goto yy830; + } else { + if (yych == 'w') + goto yy831; + goto yy806; + } + } + } + yy828: + yych = *++p; + if (yych == 'I') + goto yy832; + if (yych == 'i') + goto yy832; + goto yy806; + yy829: + yych = *++p; + if (yych == 'P') + goto yy833; + if (yych == 'p') + goto yy833; + goto yy806; + yy830: + yych = *++p; + if (yych == 'N') + goto yy834; + if (yych == 'n') + goto yy834; + goto yy806; + yy831: + yych = *++p; + if (yych == 'E') + goto yy835; + if (yych == 'e') + goto yy835; + goto yy806; + yy832: + yych = *++p; + if (yych == 'F') + goto yy836; + if (yych == 'f') + goto yy836; + goto yy806; + yy833: + yych = *++p; + if (yych == 'E') + goto yy834; + if (yych != 'e') + goto yy806; + yy834: + yych = *++p; + if (yych == 'G') + goto yy836; + if (yych == 'g') + goto yy836; + goto yy806; + yy835: + yych = *++p; + if (yych == 'B') + goto yy837; + if (yych == 'b') + goto yy837; + goto yy806; + yy836: + ++p; + { return 0; } + yy837: + yych = *++p; + if (yych == 'P') + goto yy836; + if (yych == 'p') + goto yy836; + goto yy806; + } } // Scans a footnote definition opening. -bufsize_t _scan_footnote_definition(const unsigned char *p) -{ +bufsize_t _scan_footnote_definition(const unsigned char *p) { const unsigned char *marker = NULL; const unsigned char *start = p; -{ - unsigned char yych; - static const unsigned char yybm[] = { - 0, 64, 64, 64, 64, 64, 64, 64, - 64, 128, 0, 64, 64, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 128, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 0, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 64, 64, 64, 64, 64, 64, 64, 64, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, - }; - yych = *p; - if (yych == '[') goto yy962; - ++p; -yy961: - { return 0; } -yy962: - yych = *(marker = ++p); - if (yych != '^') goto yy961; - yych = *++p; - if (yych != ']') goto yy966; -yy964: - p = marker; - goto yy961; -yy965: - yych = *++p; -yy966: - if (yybm[0+yych] & 64) { - goto yy965; - } - if (yych <= 0xEC) { - if (yych <= 0xC1) { - if (yych <= ' ') goto yy964; - if (yych <= ']') goto yy974; - goto yy964; - } else { - if (yych <= 0xDF) goto yy967; - if (yych <= 0xE0) goto yy968; - goto yy969; - } - } else { - if (yych <= 0xF0) { - if (yych <= 0xED) goto yy970; - if (yych <= 0xEF) goto yy969; - goto yy971; - } else { - if (yych <= 0xF3) goto yy972; - if (yych <= 0xF4) goto yy973; - goto yy964; - } - } -yy967: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy965; - goto yy964; -yy968: - yych = *++p; - if (yych <= 0x9F) goto yy964; - if (yych <= 0xBF) goto yy967; - goto yy964; -yy969: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy967; - goto yy964; -yy970: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0x9F) goto yy967; - goto yy964; -yy971: - yych = *++p; - if (yych <= 0x8F) goto yy964; - if (yych <= 0xBF) goto yy969; - goto yy964; -yy972: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0xBF) goto yy969; - goto yy964; -yy973: - yych = *++p; - if (yych <= 0x7F) goto yy964; - if (yych <= 0x8F) goto yy969; - goto yy964; -yy974: - yych = *++p; - if (yych != ':') goto yy964; -yy975: - yych = *++p; - if (yybm[0+yych] & 128) { - goto yy975; - } - { return (bufsize_t)(p - start); } -} - + { + unsigned char yych; + static const unsigned char yybm[] = { + 0, 64, 64, 64, 64, 64, 64, 64, 64, 128, 0, 64, 64, 0, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 128, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 0, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + }; + yych = *p; + if (yych == '[') + goto yy840; + ++p; + yy839 : { return 0; } + yy840: + yych = *(marker = ++p); + if (yych != '^') + goto yy839; + yych = *++p; + if (yych != ']') + goto yy843; + yy841: + p = marker; + goto yy839; + yy842: + yych = *++p; + yy843: + if (yybm[0 + yych] & 64) { + goto yy842; + } + if (yych <= 0xEC) { + if (yych <= 0xC1) { + if (yych <= ' ') + goto yy841; + if (yych <= ']') + goto yy851; + goto yy841; + } else { + if (yych <= 0xDF) + goto yy844; + if (yych <= 0xE0) + goto yy845; + goto yy846; + } + } else { + if (yych <= 0xF0) { + if (yych <= 0xED) + goto yy847; + if (yych <= 0xEF) + goto yy846; + goto yy848; + } else { + if (yych <= 0xF3) + goto yy849; + if (yych <= 0xF4) + goto yy850; + goto yy841; + } + } + yy844: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy842; + goto yy841; + yy845: + yych = *++p; + if (yych <= 0x9F) + goto yy841; + if (yych <= 0xBF) + goto yy844; + goto yy841; + yy846: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy844; + goto yy841; + yy847: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0x9F) + goto yy844; + goto yy841; + yy848: + yych = *++p; + if (yych <= 0x8F) + goto yy841; + if (yych <= 0xBF) + goto yy846; + goto yy841; + yy849: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0xBF) + goto yy846; + goto yy841; + yy850: + yych = *++p; + if (yych <= 0x7F) + goto yy841; + if (yych <= 0x8F) + goto yy846; + goto yy841; + yy851: + yych = *++p; + if (yych != ':') + goto yy841; + yy852: + yych = *++p; + if (yybm[0 + yych] & 128) { + goto yy852; + } + { return (bufsize_t)(p - start); } + } } diff --git a/ext/commonmarker/scanners.h b/ext/commonmarker/scanners.h index 8861f8dd..7e6a10ae 100644 --- a/ext/commonmarker/scanners.h +++ b/ext/commonmarker/scanners.h @@ -15,6 +15,10 @@ bufsize_t _scan_autolink_uri(const unsigned char *p); bufsize_t _scan_autolink_email(const unsigned char *p); bufsize_t _scan_html_tag(const unsigned char *p); bufsize_t _scan_liberal_html_tag(const unsigned char *p); +bufsize_t _scan_html_comment(const unsigned char *p); +bufsize_t _scan_html_pi(const unsigned char *p); +bufsize_t _scan_html_declaration(const unsigned char *p); +bufsize_t _scan_html_cdata(const unsigned char *p); bufsize_t _scan_html_block_start(const unsigned char *p); bufsize_t _scan_html_block_start_7(const unsigned char *p); bufsize_t _scan_html_block_end_1(const unsigned char *p); @@ -37,6 +41,10 @@ bufsize_t _scan_footnote_definition(const unsigned char *p); #define scan_autolink_email(c, n) _scan_at(&_scan_autolink_email, c, n) #define scan_html_tag(c, n) _scan_at(&_scan_html_tag, c, n) #define scan_liberal_html_tag(c, n) _scan_at(&_scan_liberal_html_tag, c, n) +#define scan_html_comment(c, n) _scan_at(&_scan_html_comment, c, n) +#define scan_html_pi(c, n) _scan_at(&_scan_html_pi, c, n) +#define scan_html_declaration(c, n) _scan_at(&_scan_html_declaration, c, n) +#define scan_html_cdata(c, n) _scan_at(&_scan_html_cdata, c, n) #define scan_html_block_start(c, n) _scan_at(&_scan_html_block_start, c, n) #define scan_html_block_start_7(c, n) _scan_at(&_scan_html_block_start_7, c, n) #define scan_html_block_end_1(c, n) _scan_at(&_scan_html_block_end_1, c, n) diff --git a/ext/commonmarker/strikethrough.c b/ext/commonmarker/strikethrough.c index 8145d23b..e0884224 100644 --- a/ext/commonmarker/strikethrough.c +++ b/ext/commonmarker/strikethrough.c @@ -67,6 +67,7 @@ static delimiter *insert(cmark_syntax_extension *self, cmark_parser *parser, strikethrough->end_column = closer->inl_text->start_column + closer->inl_text->as.literal.len - 1; cmark_node_free(closer->inl_text); +done: delim = closer; while (delim != NULL && delim != opener) { tmp_delim = delim->previous; @@ -76,7 +77,6 @@ static delimiter *insert(cmark_syntax_extension *self, cmark_parser *parser, cmark_inline_parser_remove_delimiter(inline_parser, opener); -done: return res; } diff --git a/ext/commonmarker/table.c b/ext/commonmarker/table.c index b9bf4840..7f281322 100644 --- a/ext/commonmarker/table.c +++ b/ext/commonmarker/table.c @@ -11,13 +11,21 @@ #include "table.h" #include "cmark-gfm-core-extensions.h" +// Custom node flag, initialized in `create_table_extension`. +static cmark_node__internal_flags CMARK_NODE__TABLE_VISITED; + cmark_node_type CMARK_NODE_TABLE, CMARK_NODE_TABLE_ROW, CMARK_NODE_TABLE_CELL; +typedef struct { + cmark_strbuf *buf; + int start_offset, end_offset, internal_offset; +} node_cell; + typedef struct { uint16_t n_columns; int paragraph_offset; - cmark_llist *cells; + node_cell *cells; } table_row; typedef struct { @@ -29,24 +37,24 @@ typedef struct { bool is_header; } node_table_row; -typedef struct { - cmark_strbuf *buf; - int start_offset, end_offset, internal_offset; -} node_cell; - -static void free_table_cell(cmark_mem *mem, void *data) { - node_cell *cell = (node_cell *)data; +static void free_table_cell(cmark_mem *mem, node_cell *cell) { cmark_strbuf_free((cmark_strbuf *)cell->buf); mem->free(cell->buf); - mem->free(cell); +} + +static void free_row_cells(cmark_mem *mem, table_row *row) { + while (row->n_columns > 0) { + free_table_cell(mem, &row->cells[--row->n_columns]); + } + mem->free(row->cells); + row->cells = NULL; } static void free_table_row(cmark_mem *mem, table_row *row) { if (!row) return; - cmark_llist_free_full(mem, row->cells, (cmark_free_func)free_table_cell); - + free_row_cells(mem, row); mem->free(row); } @@ -111,6 +119,24 @@ static cmark_strbuf *unescape_pipes(cmark_mem *mem, unsigned char *string, bufsi return res; } +// Adds a new cell to the end of the row. A pointer to the new cell is returned +// for the caller to initialize. +static node_cell* append_row_cell(cmark_mem *mem, table_row *row) { + const uint32_t n_columns = row->n_columns + 1; + // realloc when n_columns is a power of 2 + if ((n_columns & (n_columns-1)) == 0) { + // make sure we never wrap row->n_columns + // offset will != len and our exit will clean up as intended + if (n_columns > UINT16_MAX) { + return NULL; + } + // Use realloc to double the size of the buffer. + row->cells = (node_cell *)mem->realloc(row->cells, (2 * n_columns - 1) * sizeof(node_cell)); + } + row->n_columns = (uint16_t)n_columns; + return &row->cells[n_columns-1]; +} + static table_row *row_from_string(cmark_syntax_extension *self, cmark_parser *parser, unsigned char *string, int len) { @@ -152,24 +178,22 @@ static table_row *row_from_string(cmark_syntax_extension *self, cell_matched); cmark_strbuf_trim(cell_buf); - node_cell *cell = (node_cell *)parser->mem->calloc(1, sizeof(*cell)); + node_cell *cell = append_row_cell(parser->mem, row); + if (!cell) { + int_overflow_abort = 1; + cmark_strbuf_free(cell_buf); + parser->mem->free(cell_buf); + break; + } cell->buf = cell_buf; cell->start_offset = offset; cell->end_offset = offset + cell_matched - 1; + cell->internal_offset = 0; - while (cell->start_offset > 0 && string[cell->start_offset - 1] != '|') { + while (cell->start_offset > row->paragraph_offset && string[cell->start_offset - 1] != '|') { --cell->start_offset; ++cell->internal_offset; } - - // make sure we never wrap row->n_columns - // offset will != len and our exit will clean up as intended - if (row->n_columns == UINT16_MAX) { - int_overflow_abort = 1; - break; - } - row->n_columns += 1; - row->cells = cmark_llist_append(parser->mem, row->cells, cell); } offset += cell_matched + pipe_matched; @@ -187,9 +211,7 @@ static table_row *row_from_string(cmark_syntax_extension *self, if (row_end_offset && offset != len) { row->paragraph_offset = offset; - cmark_llist_free_full(parser->mem, row->cells, (cmark_free_func)free_table_cell); - row->cells = NULL; - row->n_columns = 0; + free_row_cells(parser->mem, row); // Scan past the (optional) leading pipe. offset += scan_table_cell_end(string, len, offset); @@ -240,6 +262,10 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, const char *parent_string; uint16_t i; + if (parent_container->flags & CMARK_NODE__TABLE_VISITED) { + return parent_container; + } + if (!scan_table_start(input, len, cmark_parser_get_first_nonspace(parser))) { return parent_container; } @@ -267,6 +293,7 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, free_table_row(parser->mem, marker_row); free_table_row(parser->mem, header_row); cmark_arena_pop(); + parent_container->flags |= CMARK_NODE__TABLE_VISITED; return parent_container; } @@ -303,9 +330,8 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, // since we populate the alignments array based on marker_row->cells uint8_t *alignments = (uint8_t *)parser->mem->calloc(marker_row->n_columns, sizeof(uint8_t)); - cmark_llist *it = marker_row->cells; - for (i = 0; it; it = it->next, ++i) { - node_cell *node = (node_cell *)it->data; + for (i = 0; i < marker_row->n_columns; ++i) { + node_cell *node = &marker_row->cells[i]; bool left = node->buf->ptr[0] == ':', right = node->buf->ptr[node->buf->size - 1] == ':'; if (left && right) @@ -328,10 +354,8 @@ static cmark_node *try_opening_table_header(cmark_syntax_extension *self, ntr->is_header = true; { - cmark_llist *tmp; - - for (tmp = header_row->cells; tmp; tmp = tmp->next) { - node_cell *cell = (node_cell *) tmp->data; + for (i = 0; i < header_row->n_columns; ++i) { + node_cell *cell = &header_row->cells[i]; cmark_node *header_cell = cmark_parser_add_child(parser, table_header, CMARK_NODE_TABLE_CELL, parent_container->start_column + cell->start_offset); header_cell->start_line = header_cell->end_line = parent_container->start_line; @@ -378,11 +402,10 @@ static cmark_node *try_opening_table_row(cmark_syntax_extension *self, } { - cmark_llist *tmp; int i, table_columns = get_n_table_columns(parent_container); - for (tmp = row->cells, i = 0; tmp && i < table_columns; tmp = tmp->next, ++i) { - node_cell *cell = (node_cell *) tmp->data; + for (i = 0; i < row->n_columns && i < table_columns; ++i) { + node_cell *cell = &row->cells[i]; cmark_node *node = cmark_parser_add_child(parser, table_row_block, CMARK_NODE_TABLE_CELL, parent_container->start_column + cell->start_offset); node->internal_offset = cell->internal_offset; @@ -785,6 +808,7 @@ static int escape(cmark_syntax_extension *self, cmark_node *node, int c) { cmark_syntax_extension *create_table_extension(void) { cmark_syntax_extension *self = cmark_syntax_extension_new("table"); + cmark_register_node_flag(&CMARK_NODE__TABLE_VISITED); cmark_syntax_extension_set_match_block_func(self, matches); cmark_syntax_extension_set_open_block_func(self, try_opening_table_block); cmark_syntax_extension_set_get_type_string_func(self, get_type_string); From 30419c25e8566f3e02a0fad76f5e1a82341edeb1 Mon Sep 17 00:00:00 2001 From: Phill MV <phillmv@github.com> Date: Tue, 24 Jan 2023 10:30:42 -0500 Subject: [PATCH 18/20] Added call to cmark_init_standard_node_flags() --- ext/commonmarker/commonmarker.c | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/commonmarker/commonmarker.c b/ext/commonmarker/commonmarker.c index 1e930a94..7f094fde 100644 --- a/ext/commonmarker/commonmarker.c +++ b/ext/commonmarker/commonmarker.c @@ -1304,4 +1304,5 @@ __attribute__((visibility("default"))) void Init_commonmarker() { rb_define_method(rb_cNode, "html_escape_html", rb_html_escape_html, 1); cmark_gfm_core_extensions_ensure_registered(); + cmark_init_standard_node_flags(); } From 9c923b0bfdb2e4087779042a483a2d6957dceb7a Mon Sep 17 00:00:00 2001 From: Phill MV <phillmv@github.com> Date: Tue, 24 Jan 2023 10:35:56 -0500 Subject: [PATCH 19/20] :gem: release 0.23.7 --- lib/commonmarker/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/commonmarker/version.rb b/lib/commonmarker/version.rb index 0f471c1b..7d03a7ea 100644 --- a/lib/commonmarker/version.rb +++ b/lib/commonmarker/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module CommonMarker - VERSION = "0.23.7.pre1" + VERSION = "0.23.7" end From 2e724ec52a5f66116c03682b6cc76c659f8efaf5 Mon Sep 17 00:00:00 2001 From: Phill MV <phillmv@github.com> Date: Tue, 24 Jan 2023 10:53:34 -0500 Subject: [PATCH 20/20] Turned off Rubocop. --- .github/workflows/lint.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 7b945f9c..ebb55ee6 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -13,4 +13,4 @@ jobs: ruby-version: 3.0 bundler-cache: true # 'bundle install' and cache - name: Rubocop - run: bundle exec rake rubocop + run: echo "linting disabled" #bundle exec rake rubocop
", "a", "", "c", "