blob: 1a2b24879e6f042840254ebf35280f7c90dfa432 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
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;
|