Looks like this bug has been fixed in Pike 7.5.
/ Henrik Grubbström (Lysator)
Previous text:
2004-03-18 12:46: Subject: Problem in Parser.HTML() with mixed_mode [3624]
Product: Pike Version: 7.2 Component: Modules Reporter: wellhard@roxen.com URL: https://community.roxen.com/crunch/show_bug.cgi?id=3624
Mixed mode in Parser.HTML() does not work for more then 32 nodes.
Reported in RT#4969
Test program below:
Pike v7.2 release 421 running Hilfe v2.0 (Incremental Pike Frontend)
object p = Parser.HTML();
p->mixed_mode (1);
p->add_container ("land", lambda (object p, mapping args, string content) {return ({ p->tag_content() }); });
Works
p->feed(""\n <land>1</land>\n <land>2</land>\n <land>3</land>\n <land>4</land>\n <land>5</land>\n <land>6</land>\n <land>7</land>\n <land>8</land>\n <land>9</land>\n <land>10</land>\n <land>11</land>\n <land>12</land>\n <land>13</land>\n <land>14</land>\n <land>15</land>")->read();
Result: ({ /* 30 elements */ ""\n ", "1", "\n ", "2", "\n ", "3", "\n ", "4", "\n ", "5", "\n ", "6", "\n ", "7", "\n ", "8", "\n ", "9", "\n ", "10", "\n ", "11", "\n ", "12", "\n ", "13", "\n ", "14", "\n ", "15" })
Does not work
p->feed(""\n <land>1</land>\n <land>2</land>\n <land>3</land>\n <land>4</land>\n <land>5</land>\n <land>6</land>\n <land>7</land>\n <land>8</land>\n <land>9</land>\n <land>10</land>\n <land>11</land>\n <land>12</land>\n <land>13</land>\n <land>14</land>\n <land>15</land>\n <land>16</land>")->read();
Result: ({ })
/ Brevbäraren
pike-devel@lists.lysator.liu.se