richter 01/11/27 00:37:56
Modified: . Tag: Embperl2c Changes.pod Embperl.pm Makefile.PL
Embperl Tag: Embperl2c Recipe.pm
Embperl/Recipe Tag: Embperl2c Embperl.pm EmbperlLibXSLT.pm
EmbperlXSLT.pm EmbperlXalanXSLT.pm LibXSLT.pm
XSLT.pm XalanXSLT.pm
driver Tag: Embperl2c eplibxslt.c epxalan.cpp
test/conf Tag: Embperl2c httpd.conf.src
Log:
- Add xsltparam parameter which takes a hashref and is used to
pass parameters to the xslt processor. If not given defaults
to %fdat.
- Fixed memory leak which occured when using libxslt.
- Fixed MakeMaker problem with Perl 5.7.1.
- Removed some uninitialized value warnings.
- Added "make start" and "make stop" to start and stop test httpd
Revision Changes Path
No revision
No revision
1.129.4.41 +7 -0 embperl/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.129.4.40
retrieving revision 1.129.4.41
diff -u -r1.129.4.40 -r1.129.4.41
--- Changes.pod 2001/11/25 19:48:10 1.129.4.40
+++ Changes.pod 2001/11/27 08:37:55 1.129.4.41
@@ -2,6 +2,9 @@
=head1 2.0b5
+ - Add xsltparam parameter which takes a hashref and is used to
+ pass parameters to the xslt processor. If not given defaults
+ to %fdat.
- Add require URI::URL to test.pl so make test work with newer LWP.
Patch from Jonathan Stowe.
- Fixed problem in registry/tied test, which failed for some Apache
@@ -17,6 +20,10 @@
multiple pages in the same package.
- Fixed problem with reloading when file changed, which sometimes
didn't reload correctly in 2.0b4
+ - Fixed memory leak which occured when using libxslt.
+ - Fixed MakeMaker problem with Perl 5.7.1.
+ - Removed some uninitialized value warnings.
+ - Added "make start" and "make stop" to start and stop test httpd
=head1 2.0b4 (BETA) 20. Nov. 2001
1.118.4.64 +2 -2 embperl/Embperl.pm
Index: Embperl.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl.pm,v
retrieving revision 1.118.4.63
retrieving revision 1.118.4.64
diff -u -r1.118.4.63 -r1.118.4.64
--- Embperl.pm 2001/11/22 12:12:37 1.118.4.63
+++ Embperl.pm 2001/11/27 08:37:55 1.118.4.64
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Embperl.pm,v 1.118.4.63 2001/11/22 12:12:37 richter Exp $
+# $Id: Embperl.pm,v 1.118.4.64 2001/11/27 08:37:55 richter Exp $
#
###################################################################################
@@ -69,7 +69,7 @@
##ep2##
-$VERSION = '2.0b5_dev-1' ;
+$VERSION = '2.0b5_dev-2' ;
##/ep2##
##ep1##$VERSION = '1.3.4_dev';
1.31.4.36 +11 -2 embperl/Makefile.PL
Index: Makefile.PL
===================================================================
RCS file: /home/cvs/embperl/Makefile.PL,v
retrieving revision 1.31.4.35
retrieving revision 1.31.4.36
diff -u -r1.31.4.35 -r1.31.4.36
--- Makefile.PL 2001/11/12 12:45:39 1.31.4.35
+++ Makefile.PL 2001/11/27 08:37:55 1.31.4.36
@@ -3,7 +3,7 @@
#
# (C) 1997-2001 G.Richter ([EMAIL PROTECTED]) / ECOS
#
-# $Id: Makefile.PL,v 1.31.4.35 2001/11/12 12:45:39 richter Exp $
+# $Id: Makefile.PL,v 1.31.4.36 2001/11/27 08:37:55 richter Exp $
#
@@ -134,7 +134,13 @@
testgdbb : testdbbreak
\tPERL_DL_NONLAZY=0 gdb -x dbinitembperl \$(FULLPERL)
+start : pure_all
+\tPERL_DL_NONLAZY=0 \$(FULLPERL) -I\$(INST_ARCHLIB) -I\$(INST_LIB)
-I\$(PERL_ARCHLIB) -I\$(PERL_LIB) \$(TEST_FILE) --start -m \$(TESTARGS)
+stop : pure_all
+\tPERL_DL_NONLAZY=0 \$(FULLPERL) -I\$(INST_ARCHLIB) -I\$(INST_LIB)
-I\$(PERL_ARCHLIB) -I\$(PERL_LIB) \$(TEST_FILE) --kill -m \$(TESTARGS)
+
+
} ;
$txt =~ s/\r\n/\n/g ; # make doesn't like \r\n!
@@ -209,12 +215,15 @@
return $txt ;
}
+$MY::cccmd_seen = 0 ;
sub MY::const_cccmd
{
my $self = shift ;
my $txt = $self -> MM::const_cccmd (@_) ;
- my $txt2 = $txt ;
+ return $txt if ($MY::cccmd_seen++) ;
+
+ my $txt2 = $txt ;
$txt2 =~ s/\$\(CC\)/\$(CPP)/ ;
$txt2 =~ s/CCCMD/CPPCMD/ ;
No revision
No revision
1.1.2.8 +9 -1 embperl/Embperl/Attic/Recipe.pm
Index: Recipe.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Attic/Recipe.pm,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- Recipe.pm 2001/11/20 15:15:42 1.1.2.7
+++ Recipe.pm 2001/11/27 08:37:56 1.1.2.8
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Recipe.pm,v 1.1.2.7 2001/11/20 15:15:42 richter Exp $
+# $Id: Recipe.pm,v 1.1.2.8 2001/11/27 08:37:56 richter Exp $
#
###################################################################################
@@ -291,6 +291,10 @@
Gives the compiled stylesheet source
+=item param
+
+Gives the parameters as hash ref
+
=back
@@ -340,6 +344,10 @@
=item stylesheet
Gives the compiled stylesheet source
+
+=item param
+
+Gives the parameters as hash ref
=back
No revision
No revision
1.1.2.8 +2 -1 embperl/Embperl/Recipe/Attic/Embperl.pm
Index: Embperl.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/Embperl.pm,v
retrieving revision 1.1.2.7
retrieving revision 1.1.2.8
diff -u -r1.1.2.7 -r1.1.2.8
--- Embperl.pm 2001/11/25 19:48:11 1.1.2.7
+++ Embperl.pm 2001/11/27 08:37:56 1.1.2.8
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Embperl.pm,v 1.1.2.7 2001/11/25 19:48:11 richter Exp $
+# $Id: Embperl.pm,v 1.1.2.8 2001/11/27 08:37:56 richter Exp $
#
###################################################################################
@@ -117,3 +117,4 @@
return $self ;
}
+1;
1.1.2.3 +2 -1 embperl/Embperl/Recipe/Attic/EmbperlLibXSLT.pm
Index: EmbperlLibXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/EmbperlLibXSLT.pm,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- EmbperlLibXSLT.pm 2001/11/16 08:08:08 1.1.2.2
+++ EmbperlLibXSLT.pm 2001/11/27 08:37:56 1.1.2.3
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlLibXSLT.pm,v 1.1.2.2 2001/11/16 08:08:08 richter Exp $
+# $Id: EmbperlLibXSLT.pm,v 1.1.2.3 2001/11/27 08:37:56 richter Exp $
#
###################################################################################
@@ -42,3 +42,4 @@
}
+1 ;
\ No newline at end of file
1.1.2.4 +2 -1 embperl/Embperl/Recipe/Attic/EmbperlXSLT.pm
Index: EmbperlXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/EmbperlXSLT.pm,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- EmbperlXSLT.pm 2001/11/25 19:48:11 1.1.2.3
+++ EmbperlXSLT.pm 2001/11/27 08:37:56 1.1.2.4
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlXSLT.pm,v 1.1.2.3 2001/11/25 19:48:11 richter Exp $
+# $Id: EmbperlXSLT.pm,v 1.1.2.4 2001/11/27 08:37:56 richter Exp $
#
###################################################################################
@@ -98,3 +98,4 @@
return $self ;
}
+1 ;
1.1.2.3 +2 -1 embperl/Embperl/Recipe/Attic/EmbperlXalanXSLT.pm
Index: EmbperlXalanXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/EmbperlXalanXSLT.pm,v
retrieving revision 1.1.2.2
retrieving revision 1.1.2.3
diff -u -r1.1.2.2 -r1.1.2.3
--- EmbperlXalanXSLT.pm 2001/11/16 08:08:08 1.1.2.2
+++ EmbperlXalanXSLT.pm 2001/11/27 08:37:56 1.1.2.3
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlXalanXSLT.pm,v 1.1.2.2 2001/11/16 08:08:08 richter Exp $
+# $Id: EmbperlXalanXSLT.pm,v 1.1.2.3 2001/11/27 08:37:56 richter Exp $
#
###################################################################################
@@ -42,3 +42,4 @@
}
+1 ;
1.1.2.2 +2 -1 embperl/Embperl/Recipe/Attic/LibXSLT.pm
Index: LibXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/LibXSLT.pm,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- LibXSLT.pm 2001/11/16 11:55:32 1.1.2.1
+++ LibXSLT.pm 2001/11/27 08:37:56 1.1.2.2
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: LibXSLT.pm,v 1.1.2.1 2001/11/16 11:55:32 richter Exp $
+# $Id: LibXSLT.pm,v 1.1.2.2 2001/11/27 08:37:56 richter Exp $
#
###################################################################################
@@ -42,3 +42,4 @@
}
+1 ;
1.1.2.4 +2 -1 embperl/Embperl/Recipe/Attic/XSLT.pm
Index: XSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/XSLT.pm,v
retrieving revision 1.1.2.3
retrieving revision 1.1.2.4
diff -u -r1.1.2.3 -r1.1.2.4
--- XSLT.pm 2001/11/25 19:48:11 1.1.2.3
+++ XSLT.pm 2001/11/27 08:37:56 1.1.2.4
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: XSLT.pm,v 1.1.2.3 2001/11/25 19:48:11 richter Exp $
+# $Id: XSLT.pm,v 1.1.2.4 2001/11/27 08:37:56 richter Exp $
#
###################################################################################
@@ -122,3 +122,4 @@
return $self ;
}
+1 ;
\ No newline at end of file
1.1.2.2 +2 -1 embperl/Embperl/Recipe/Attic/XalanXSLT.pm
Index: XalanXSLT.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Recipe/Attic/XalanXSLT.pm,v
retrieving revision 1.1.2.1
retrieving revision 1.1.2.2
diff -u -r1.1.2.1 -r1.1.2.2
--- XalanXSLT.pm 2001/11/16 11:55:32 1.1.2.1
+++ XalanXSLT.pm 2001/11/27 08:37:56 1.1.2.2
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: XalanXSLT.pm,v 1.1.2.1 2001/11/16 11:55:32 richter Exp $
+# $Id: XalanXSLT.pm,v 1.1.2.2 2001/11/27 08:37:56 richter Exp $
#
###################################################################################
@@ -42,3 +42,4 @@
}
+1 ;
No revision
No revision
1.1.2.10 +22 -22 embperl/driver/Attic/eplibxslt.c
Index: eplibxslt.c
===================================================================
RCS file: /home/cvs/embperl/driver/Attic/eplibxslt.c,v
retrieving revision 1.1.2.9
retrieving revision 1.1.2.10
diff -u -r1.1.2.9 -r1.1.2.10
--- eplibxslt.c 2001/11/25 19:48:11 1.1.2.9
+++ eplibxslt.c 2001/11/27 08:37:56 1.1.2.10
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: eplibxslt.c,v 1.1.2.9 2001/11/25 19:48:11 richter Exp $
+# $Id: eplibxslt.c,v 1.1.2.10 2001/11/27 08:37:56 richter Exp $
#
###################################################################################*/
@@ -164,7 +164,6 @@
typedef struct tProviderLibXSLTXSL
{
tProvider Provider ;
- xmlDocPtr pXMLDoc ;
} tProviderLibXSLTXSL ;
@@ -328,14 +327,12 @@
if ((cur = xsltParseStylesheetDoc(doc)) == NULL)
{
- ((tProviderLibXSLTXSL *)pProvider) -> pXMLDoc = NULL ;
xmlFreeDoc(doc) ;
Cache_ReleaseContent (r, pFileCache) ;
strncpy (r -> errdat1, "XSL compile", sizeof (r -> errdat1)) ;
return rcLibXSLTError ;
}
- ((tProviderLibXSLTXSL *)pProvider) -> pXMLDoc = doc ;
*pData = (void *)cur ;
return ok ;
@@ -370,20 +367,12 @@
/*in*/ tCacheItem * pItem)
{
- xsltStylesheetPtr pCompiledStylesheet = (xsltStylesheetPtr)pItem -> pData ;
+ xsltStylesheetPtr pCompiledStylesheet ;
+
+ pCompiledStylesheet = (xsltStylesheetPtr)pItem -> pData ;
if (pCompiledStylesheet)
xsltFreeStylesheet(pCompiledStylesheet) ;
- if (((tProviderLibXSLTXSL *)pItem -> pProvider) -> pXMLDoc)
- {
- /*
- lprintf (r, "free doc %x\n", ((tProviderLibXSLTXSL *)pItem -> pProvider) ->
pXMLDoc) ;
- xmlFreeDoc (((tProviderLibXSLTXSL *)pItem -> pProvider) -> pXMLDoc) ;
- */
- }
-
- ((tProviderLibXSLTXSL *)pItem -> pProvider) -> pXMLDoc = NULL ;
-
return ok ;
}
@@ -603,8 +592,9 @@
{
if (pItem -> pData)
+ {
xmlFreeDoc((xmlDocPtr)pItem -> pData) ;
-
+ }
return ok ;
}
@@ -893,7 +883,7 @@
if (((tProviderLibXSLT *)pProvider) -> pOutputSV)
SvREFCNT_dec (((tProviderLibXSLT *)pProvider) -> pOutputSV) ;
- ((tProviderLibXSLT *)pProvider) -> pOutputSV = newSV(1024) ;
+ ((tProviderLibXSLT *)pProvider) -> pOutputSV = newSVpv("", 0) ;
res = xsltApplyStylesheet(cur, doc, ((tProviderLibXSLT *)pProvider) ->
pParamArray);
if(res == NULL)
@@ -907,10 +897,11 @@
xsltSaveResultTo(obuf, res, cur);
xmlFreeDoc(res);
+ xmlOutputBufferClose (obuf) ;
*pData = ((tProviderLibXSLT *)pProvider) -> pOutputSV ;
+ SvREFCNT_inc(*pData) ;
-
return ok ;
}
@@ -943,11 +934,20 @@
/*in*/ tCacheItem * pItem)
{
- if (((tProviderLibXSLT *)pItem -> pProvider) -> pOutputSV)
- SvREFCNT_dec (((tProviderLibXSLT *)pItem -> pProvider) -> pOutputSV) ;
-
- ((tProviderLibXSLT *)pItem -> pProvider) -> pOutputSV = NULL ;
+ tProviderLibXSLT * pProvider = ((tProviderLibXSLT *)pItem -> pProvider) ;
+
+ if (pProvider -> pOutputSV)
+ {
+ SvREFCNT_dec (pProvider -> pOutputSV) ;
+ pProvider -> pOutputSV = NULL ;
+ }
+ if (pProvider -> pParamArray)
+ {
+ free (pProvider -> pParamArray) ;
+ pProvider -> pParamArray = NULL ;
+ }
+
return ok ;
}
1.1.2.13 +89 -8 embperl/driver/Attic/epxalan.cpp
Index: epxalan.cpp
===================================================================
RCS file: /home/cvs/embperl/driver/Attic/epxalan.cpp,v
retrieving revision 1.1.2.12
retrieving revision 1.1.2.13
diff -u -r1.1.2.12 -r1.1.2.13
--- epxalan.cpp 2001/11/16 12:43:38 1.1.2.12
+++ epxalan.cpp 2001/11/27 08:37:56 1.1.2.13
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: epxalan.cpp,v 1.1.2.12 2001/11/16 12:43:38 richter Exp $
+# $Id: epxalan.cpp,v 1.1.2.13 2001/11/27 08:37:56 richter Exp $
#
###################################################################################*/
@@ -21,10 +21,13 @@
#include "../epmacro.h"
}
+/* undef some defines that clashs with c++ includes */
#undef bool
#undef HAS_BOOL
#undef assert
+#undef vform
+
#include <Include/PlatformDefinitions.hpp>
#if defined(XALAN_OLD_STREAM_HEADERS)
@@ -680,6 +683,7 @@
{
tProvider Provider ;
SV * pOutputSV ;
+ HV * pParamHV ;
} tProviderXalan ;
@@ -784,6 +788,59 @@
return ok ;
}
+
+/* ------------------------------------------------------------------------ */
+/* */
+/* ProviderLibXalan_UpdateParam */
+/* */
+/*!
+* \_en
+* Update the parameter of the provider
+*
+* @param r Embperl request record
+* @param pProvider Provider record
+* @param pParam Parameter Hash
+* param hash with parameter
+* @param pKey Key to which string should be appended
+* @return error code
+* \endif
+*
+* \_de
+* Aktualisiert die Parameter des Providers
+*
+* @param r Embperl request record
+* @param pProvider Provider record
+* @param pParam Parameter Hash
+* param hash mit parametern
+* @param pKey Schl�ssel zu welchem hinzugef�gt wird
+* @return Fehlercode
+* \endif
+*
+* ------------------------------------------------------------------------ */
+
+static int ProviderXalan_UpdateParam(/*in*/ req * r,
+ /*in*/ tProvider * pProvider,
+ /*in*/ HV * pParam)
+ {
+ int rc ;
+ HV * pParamHV ;
+
+ if ((rc = GetHashValueHREF (r, pParam, "param", &pParamHV)) != ok)
+ {
+ if (!r->errdat1[0])
+ strncpy (r -> errdat1, pProvider -> pCache -> sKey, sizeof (r ->
errdat1) -1 ) ;
+ return rc ;
+ }
+
+ if (((tProviderXalan *)pProvider) -> pParamHV)
+ SvREFCNT_dec (((tProviderXalan *)pProvider) -> pParamHV) ;
+
+ ((tProviderXalan *)pProvider) -> pParamHV = pParamHV ;
+ SvREFCNT_inc (((tProviderXalan *)pProvider) -> pParamHV) ;
+
+ return ok ;
+ }
+
/* ------------------------------------------------------------------------ */
/* */
/* ProviderXalan_iowrite */
@@ -839,7 +896,12 @@
int rc ;
XalanParsedSource * parsedXML ;
XalanCompiledStylesheet * pCompiledXSL ;
-
+ HV * pParamHV ;
+ HE * pEntry ;
+ char * pKey ;
+ SV * pValue ;
+ IV l ;
+ STRLEN len ;
tCacheItem * pSrcCache = Cache_GetDependency(r, pProvider -> pCache, 0) ;
tCacheItem * pXSLCache = Cache_GetDependency(r, pProvider -> pCache, 1) ;
@@ -852,9 +914,21 @@
if (((tProviderXalan *)pProvider) -> pOutputSV)
SvREFCNT_dec (((tProviderXalan *)pProvider) -> pOutputSV) ;
+
+ ((tProviderXalan *)pProvider) -> pOutputSV = newSVpv("",0) ;
- ((tProviderXalan *)pProvider) -> pOutputSV = newSV(1024) ;
+ pParamHV = ((tProviderXalan *)pProvider) -> pParamHV ;
+ if (pParamHV)
+ {
+ hv_iterinit (pParamHV) ;
+ while ((pEntry = hv_iternext (pParamHV)))
+ {
+ pKey = hv_iterkey (pEntry, &l) ;
+ pValue = hv_iterval (pParamHV, pEntry) ;
+ theXalanTransformer -> setStylesheetParam (XalanDOMString(pKey),
XalanDOMString(SvPV(pValue, len))) ;
+ }
+ }
// Do the transform.
int theResult = theXalanTransformer -> transform(*parsedXML, pCompiledXSL,
pProvider, ProviderXalan_iowrite, NULL);
@@ -867,7 +941,7 @@
}
*pData = ((tProviderXalan *)pProvider) -> pOutputSV ;
-
+ SvREFCNT_inc(*pData) ;
return ok ;
}
@@ -901,11 +975,18 @@
/*in*/ tCacheItem * pItem)
{
- if (((tProviderXalan *)pItem -> pProvider) -> pOutputSV)
- SvREFCNT_dec (((tProviderXalan *)pItem -> pProvider) -> pOutputSV) ;
+ tProviderXalan * pProvider = ((tProviderXalan *)pItem -> pProvider) ;
+
+ if (pProvider -> pOutputSV)
+ SvREFCNT_dec (pProvider -> pOutputSV) ;
- ((tProviderXalan *)pItem -> pProvider) -> pOutputSV = NULL ;
+ pProvider -> pOutputSV = NULL ;
+ if (pProvider -> pParamHV)
+ SvREFCNT_dec (pProvider -> pParamHV) ;
+
+ pProvider -> pParamHV = NULL ;
+
return ok ;
}
@@ -916,7 +997,7 @@
"text/*",
&ProviderXalan_New,
&ProviderXalan_AppendKey,
- NULL,
+ &ProviderXalan_UpdateParam,
&ProviderXalan_GetContentSV,
NULL,
NULL,
No revision
No revision
1.24.4.27 +30 -5 embperl/test/conf/httpd.conf.src
Index: httpd.conf.src
===================================================================
RCS file: /home/cvs/embperl/test/conf/httpd.conf.src,v
retrieving revision 1.24.4.26
retrieving revision 1.24.4.27
diff -u -r1.24.4.26 -r1.24.4.27
--- httpd.conf.src 2001/11/25 19:48:11 1.24.4.26
+++ httpd.conf.src 2001/11/27 08:37:56 1.24.4.27
@@ -17,9 +17,9 @@
Group $EPGROUP
MinSpareServers 1
-MaxSpareServers 2
-StartServers 2
-MaxClients 2
+MaxSpareServers 30
+StartServers 3
+MaxClients 10
MaxRequestsPerChild 0
@@ -45,7 +45,7 @@
$EPSTRONGHOLDKEY
#-Tw
-PerlTaintCheck On
+######PerlTaintCheck On
PerlWarn On
@@ -463,8 +463,14 @@
<Location /cgi-bin/pod/>
SetEnv EMBPERL_SYNTAX POD
</Location>
-
+
+#
+# Configuration for example access
+#
+<Location /eg>
+SetEnv EMBPERL_XSLTPROC libxslt
+</Location>
<Location /eg/x>
SetHandler perl-script
@@ -472,6 +478,16 @@
Options ExecCGI
</Location>
+
+<Location /eg/web>
+PerlSetEnv EMBPERL_OBJECT_BASE base.htm
+PerlSetEnv EMBPERL_OBJECT_STOPDIR \"$EPPATH/eg/web\"
+PerlSetEnv EMBPERL_FILESMATCH \"\\.htm.?\$|\\.epl\$|\\.xml\$\"
+SetHandler perl-script
+PerlHandler HTML::EmbperlObject
+Options ExecCGI
+</Location>
+
<Location /eg/xml>
SetHandler perl-script
PerlHandler HTML::Embperl
@@ -492,6 +508,15 @@
<LocationMatch \"libxslt\$\">
SetEnv EMBPERL_RECIPE LibXSLT
</LocationMatch>
+
+<Location /eg/images/aim>
+PerlSetVar AIMParameter \"pointsize=14 font=$EPPATH/../fonts/OCRAEXT.ttf\"
+#PerlSetVar AIMParameter \"pointsize=14 gravity=left
font=$EPPATH/../fonts/OCRAEXT.ttf\"
+PerlSetVar AIMCacheDir \"$EPPATH/eg/images/aim/cache\"
+PerlSetVar AIMDebug 1
+PerlFixupHandler Apache::ImageMagick
+</location>
+
<Location /mp>
SetHandler perl-script
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]