mach 2003/12/10 14:40:58
Modified: . Tag: axkit-pipeline-2 AxKit.xs
Log:
fix for xs_get_styles_fh not actually working. Now doesn't
fallback in provider to doing get_strref.
Revision Changes Path
No revision
No revision
1.6.6.1 +13 -16 xml-axkit/AxKit.xs
Index: AxKit.xs
===================================================================
RCS file: /home/cvs/xml-axkit/AxKit.xs,v
retrieving revision 1.6
retrieving revision 1.6.6.1
diff -u -r1.6 -r1.6.6.1
--- AxKit.xs 5 Jun 2002 23:59:19 -0000 1.6
+++ AxKit.xs 10 Dec 2003 22:40:58 -0000 1.6.6.1
@@ -373,26 +373,22 @@
ret = -1;
error_str = newSVpv("", 0);
-
xmlInitParser();
xmlDoValidityCheckingDefaultValue = 0;
xmlSubstituteEntitiesDefaultValue = 0;
xmlLoadExtDtdDefaultValue = 0;
- read_length = read_perl(ioref, buffer, 4);
- if (read_length > 0) {
- ctxt = xmlCreatePushParserCtxt(axkitSAXHandler,
- NULL, buffer, read_length, "filename");
- ctxt->userData = (void*)&results;
-
- while(read_length = read_perl(ioref, buffer, BUFSIZE)) {
- xmlParseChunk(ctxt, buffer, read_length, 0);
- }
- ret = xmlParseChunk(ctxt, buffer, 0, 1);
-
- xmlFreeParserCtxt(ctxt);
- }
+ read_length = 0;
+ ctxt = xmlCreatePushParserCtxt(axkitSAXHandler,
+ &results, buffer, read_length,
"filename");
+
+ while(read_length = read_perl(ioref, buffer, BUFSIZE)) {
+ xmlParseChunk(ctxt, buffer, read_length, 0);
+ }
+ ret = xmlParseChunk(ctxt, buffer, 0, 1);
+
+ xmlFreeParserCtxt(ctxt);
sv_2mortal(error_str);
@@ -406,11 +402,12 @@
STRLEN len;
croak("xmlParse returned error: %d, %s", ret, SvPV(error_str,
len));
}
-
+
return_array = newAV();
av_push(return_array, newRV_noinc((SV*)results.xml_stylesheet));
av_push(return_array, newSVpv(results.start_element, 0));
av_push(return_array, newRV_noinc((SV*)results.start_attribs));
+
if (results.dtd != NULL) {
av_push(return_array, newSVpv(results.dtd, 0));