| diff -ru misc/libxml2-2.7.8/parser.c misc/build/libxml2-2.7.8/parser.c |
| --- misc/libxml2-2.7.8/parser.c 2010-11-04 10:55:45.000000000 -0500 |
| +++ misc/build/libxml2-2.7.8/parser.c 2012-12-20 14:53:03.000000000 -0500 |
| @@ -2709,7 +2709,7 @@ |
| |
| buffer[nbchars++] = '&'; |
| if (nbchars > buffer_size - i - XML_PARSER_BUFFER_SIZE) { |
| - growBuffer(buffer, XML_PARSER_BUFFER_SIZE); |
| + growBuffer(buffer, i + XML_PARSER_BUFFER_SIZE); |
| } |
| for (;i > 0;i--) |
| buffer[nbchars++] = *cur++; |
| diff -ru misc/libxml2-2.7.8/xpointer.c misc/build/libxml2-2.7.8/xpointer.c |
| --- misc/libxml2-2.7.8/xpointer.c 2010-10-12 01:25:33.000000000 -0500 |
| +++ misc/build/libxml2-2.7.8/xpointer.c 2012-12-20 14:53:03.000000000 -0500 |
| @@ -1007,21 +1007,14 @@ |
| NEXT; |
| break; |
| } |
| - *cur++ = CUR; |
| } else if (CUR == '(') { |
| level++; |
| - *cur++ = CUR; |
| } else if (CUR == '^') { |
| - NEXT; |
| - if ((CUR == ')') || (CUR == '(') || (CUR == '^')) { |
| - *cur++ = CUR; |
| - } else { |
| - *cur++ = '^'; |
| - *cur++ = CUR; |
| - } |
| - } else { |
| - *cur++ = CUR; |
| + if ((NXT(1) == ')') || (NXT(1) == '(') || (NXT(1) == '^')) { |
| + NEXT; |
| + } |
| } |
| + *cur++ = CUR; |
| NEXT; |
| } |
| *cur = 0; |