Problem in Parser.HTML() with mixed_mode
Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=3624
Reported by Marcus Wellhardh wellhard@roxen.com
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: ({ })