Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(351)

Side by Side Diff: third_party/libxml/src/testRegexp.c

Issue 1193533007: Upgrade to libxml 2.9.2 and libxslt 1.1.28 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: no iconv Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/libxml/src/testModule.c ('k') | third_party/libxml/src/testRelax.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * testRegexp.c: simple module for testing regular expressions 2 * testRegexp.c: simple module for testing regular expressions
3 * 3 *
4 * See Copyright for the status of this software. 4 * See Copyright for the status of this software.
5 * 5 *
6 * Daniel Veillard <veillard@redhat.com> 6 * Daniel Veillard <veillard@redhat.com>
7 */ 7 */
8 8
9 #include "libxml.h" 9 #include "libxml.h"
10 #ifdef LIBXML_REGEXP_ENABLED 10 #ifdef LIBXML_REGEXP_ENABLED
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 42
43 input = fopen(filename, "r"); 43 input = fopen(filename, "r");
44 if (input == NULL) { 44 if (input == NULL) {
45 xmlGenericError(xmlGenericErrorContext, 45 xmlGenericError(xmlGenericErrorContext,
46 "Cannot open %s for reading\n", filename); 46 "Cannot open %s for reading\n", filename);
47 return; 47 return;
48 } 48 }
49 while (fgets(expression, 4500, input) != NULL) { 49 while (fgets(expression, 4500, input) != NULL) {
50 len = strlen(expression); 50 len = strlen(expression);
51 len--; 51 len--;
52 » while ((len >= 0) && 52 » while ((len >= 0) &&
53 ((expression[len] == '\n') || (expression[len] == '\t') || 53 ((expression[len] == '\n') || (expression[len] == '\t') ||
54 (expression[len] == '\r') || (expression[len] == ' '))) len--; 54 (expression[len] == '\r') || (expression[len] == ' '))) len--;
55 » expression[len + 1] = 0; 55 » expression[len + 1] = 0;
56 if (len >= 0) { 56 if (len >= 0) {
57 if (expression[0] == '#') 57 if (expression[0] == '#')
58 continue; 58 continue;
59 if ((expression[0] == '=') && (expression[1] == '>')) { 59 if ((expression[0] == '=') && (expression[1] == '>')) {
60 char *pattern = &expression[2]; 60 char *pattern = &expression[2];
61 61
62 if (comp != NULL) { 62 if (comp != NULL) {
63 xmlRegFreeRegexp(comp); 63 xmlRegFreeRegexp(comp);
64 comp = NULL; 64 comp = NULL;
65 } 65 }
(...skipping 30 matching lines...) Expand all
96 96
97 input = fopen(filename, "r"); 97 input = fopen(filename, "r");
98 if (input == NULL) { 98 if (input == NULL) {
99 xmlGenericError(xmlGenericErrorContext, 99 xmlGenericError(xmlGenericErrorContext,
100 "Cannot open %s for reading\n", filename); 100 "Cannot open %s for reading\n", filename);
101 return; 101 return;
102 } 102 }
103 while (fgets(expression, 4500, input) != NULL) { 103 while (fgets(expression, 4500, input) != NULL) {
104 len = strlen(expression); 104 len = strlen(expression);
105 len--; 105 len--;
106 » while ((len >= 0) && 106 » while ((len >= 0) &&
107 ((expression[len] == '\n') || (expression[len] == '\t') || 107 ((expression[len] == '\n') || (expression[len] == '\t') ||
108 (expression[len] == '\r') || (expression[len] == ' '))) len--; 108 (expression[len] == '\r') || (expression[len] == ' '))) len--;
109 » expression[len + 1] = 0; 109 » expression[len + 1] = 0;
110 if (len >= 0) { 110 if (len >= 0) {
111 if (expression[0] == '#') 111 if (expression[0] == '#')
112 continue; 112 continue;
113 if ((expression[0] == '=') && (expression[1] == '>')) { 113 if ((expression[0] == '=') && (expression[1] == '>')) {
114 char *str = &expression[2]; 114 char *str = &expression[2];
115 115
116 if (expr != NULL) { 116 if (expr != NULL) {
117 xmlExpFree(ctxt, expr); 117 xmlExpFree(ctxt, expr);
118 » » if (xmlExpCtxtNbNodes(ctxt) != 0) 118 » » if (xmlExpCtxtNbNodes(ctxt) != 0)
119 printf(" Parse/free of Expression leaked %d\n", 119 printf(" Parse/free of Expression leaked %d\n",
120 xmlExpCtxtNbNodes(ctxt)); 120 xmlExpCtxtNbNodes(ctxt));
121 expr = NULL; 121 expr = NULL;
122 } 122 }
123 printf("Expression: %s\n", str) ; 123 printf("Expression: %s\n", str) ;
124 expr = xmlExpParse(ctxt, str); 124 expr = xmlExpParse(ctxt, str);
125 if (expr == NULL) { 125 if (expr == NULL) {
126 printf(" parsing Failed\n"); 126 printf(" parsing Failed\n");
127 break; 127 break;
128 } 128 }
129 } else if (expr != NULL) { 129 } else if (expr != NULL) {
130 int expect = -1; 130 int expect = -1;
131 int nodes1, nodes2; 131 int nodes1, nodes2;
132 132
133 if (expression[0] == '0') 133 if (expression[0] == '0')
134 expect = 0; 134 expect = 0;
135 if (expression[0] == '1') 135 if (expression[0] == '1')
136 expect = 1; 136 expect = 1;
137 printf("Subexp: %s", expression + 2) ; 137 printf("Subexp: %s", expression + 2) ;
138 nodes1 = xmlExpCtxtNbNodes(ctxt); 138 nodes1 = xmlExpCtxtNbNodes(ctxt);
139 sub = xmlExpParse(ctxt, expression + 2); 139 sub = xmlExpParse(ctxt, expression + 2);
140 if (sub == NULL) { 140 if (sub == NULL) {
141 printf(" parsing Failed\n"); 141 printf(" parsing Failed\n");
142 break; 142 break;
143 } else { 143 } else {
144 int ret; 144 int ret;
145 » » 145
146 nodes2 = xmlExpCtxtNbNodes(ctxt); 146 nodes2 = xmlExpCtxtNbNodes(ctxt);
147 ret = xmlExpSubsume(ctxt, expr, sub); 147 ret = xmlExpSubsume(ctxt, expr, sub);
148 148
149 if ((expect == 1) && (ret == 1)) { 149 if ((expect == 1) && (ret == 1)) {
150 printf(" => accept, Ok\n"); 150 printf(" => accept, Ok\n");
151 } else if ((expect == 0) && (ret == 0)) { 151 } else if ((expect == 0) && (ret == 0)) {
152 printf(" => reject, Ok\n"); 152 printf(" => reject, Ok\n");
153 } else if ((expect == 1) && (ret == 0)) { 153 } else if ((expect == 1) && (ret == 0)) {
154 printf(" => reject, Failed\n"); 154 printf(" => reject, Failed\n");
155 } else if ((expect == 0) && (ret == 1)) { 155 } else if ((expect == 0) && (ret == 1)) {
(...skipping 11 matching lines...) Expand all
167 printf(" Parse/free leaked %d\n", 167 printf(" Parse/free leaked %d\n",
168 xmlExpCtxtNbNodes(ctxt) - nodes1); 168 xmlExpCtxtNbNodes(ctxt) - nodes1);
169 } 169 }
170 } 170 }
171 171
172 } 172 }
173 } 173 }
174 } 174 }
175 if (expr != NULL) { 175 if (expr != NULL) {
176 xmlExpFree(ctxt, expr); 176 xmlExpFree(ctxt, expr);
177 » if (xmlExpCtxtNbNodes(ctxt) != 0) 177 » if (xmlExpCtxtNbNodes(ctxt) != 0)
178 printf(" Parse/free of Expression leaked %d\n", 178 printf(" Parse/free of Expression leaked %d\n",
179 xmlExpCtxtNbNodes(ctxt)); 179 xmlExpCtxtNbNodes(ctxt));
180 } 180 }
181 fclose(input); 181 fclose(input);
182 } 182 }
183 183
184 static void 184 static void
185 testReduce(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr, const char *tst) { 185 testReduce(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr, const char *tst) {
186 xmlBufferPtr xmlExpBuf; 186 xmlBufferPtr xmlExpBuf;
187 xmlExpNodePtr sub, deriv; 187 xmlExpNodePtr sub, deriv;
188 xmlExpBuf = xmlBufferCreate(); 188 xmlExpBuf = xmlBufferCreate();
189 189
190 sub = xmlExpParse(ctxt, tst); 190 sub = xmlExpParse(ctxt, tst);
191 if (sub == NULL) { 191 if (sub == NULL) {
192 printf("Subset %s failed to parse\n", tst); 192 printf("Subset %s failed to parse\n", tst);
193 return; 193 return;
194 } 194 }
(...skipping 11 matching lines...) Expand all
206 printf("Resulting nillable derivation: %s\n", 206 printf("Resulting nillable derivation: %s\n",
207 (const char *) xmlBufferContent(xmlExpBuf)); 207 (const char *) xmlBufferContent(xmlExpBuf));
208 else 208 else
209 printf("Resulting derivation: %s\n", 209 printf("Resulting derivation: %s\n",
210 (const char *) xmlBufferContent(xmlExpBuf)); 210 (const char *) xmlBufferContent(xmlExpBuf));
211 xmlExpFree(ctxt, deriv); 211 xmlExpFree(ctxt, deriv);
212 } 212 }
213 xmlExpFree(ctxt, sub); 213 xmlExpFree(ctxt, sub);
214 } 214 }
215 215
216 static void 216 static void
217 exprDebug(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr) { 217 exprDebug(xmlExpCtxtPtr ctxt, xmlExpNodePtr expr) {
218 xmlBufferPtr xmlExpBuf; 218 xmlBufferPtr xmlExpBuf;
219 xmlExpNodePtr deriv; 219 xmlExpNodePtr deriv;
220 const char *list[40]; 220 const char *list[40];
221 int ret; 221 int ret;
222 222
223 xmlExpBuf = xmlBufferCreate(); 223 xmlExpBuf = xmlBufferCreate();
224 224
225 if (expr == NULL) { 225 if (expr == NULL) {
226 printf("Failed to parse\n"); 226 printf("Failed to parse\n");
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
393 return(0); 393 return(0);
394 } 394 }
395 395
396 #else 396 #else
397 #include <stdio.h> 397 #include <stdio.h>
398 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) { 398 int main(int argc ATTRIBUTE_UNUSED, char **argv ATTRIBUTE_UNUSED) {
399 printf("%s : Regexp support not compiled in\n", argv[0]); 399 printf("%s : Regexp support not compiled in\n", argv[0]);
400 return(0); 400 return(0);
401 } 401 }
402 #endif /* LIBXML_REGEXP_ENABLED */ 402 #endif /* LIBXML_REGEXP_ENABLED */
OLDNEW
« no previous file with comments | « third_party/libxml/src/testModule.c ('k') | third_party/libxml/src/testRelax.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698