richter 2004/07/19 21:59:11
Modified: . TODO epcmd.c epcomp.c epdom.c epeval.c
Embperl/Syntax EmbperlHTML.pm
test/cmp escape.htm
test/html escape.htm
Log:
verbose messages for Hash Error
Revision Changes Path
1.124 +7 -0 embperl/TODO
Index: TODO
===================================================================
RCS file: /home/cvs/embperl/TODO,v
retrieving revision 1.123
retrieving revision 1.124
diff -u -r1.123 -r1.124
--- TODO 15 Mar 2004 06:21:31 -0000 1.123
+++ TODO 20 Jul 2004 04:59:10 -0000 1.124
@@ -5,6 +5,13 @@
- en/de select parameter passing in eg/web/header.epl
+- textarea escape [Doug Rayner 6.5.04]
+
+- selectbox with empty array -> perlws Neu -> Verotrag ohne Votragarten
+
+- doc that %mdat is per application
+
+- Perl hash error at end of apache and apachectl restart
TODO for Embperl 2.1 and later
1.49 +27 -3 embperl/epcmd.c
Index: epcmd.c
===================================================================
RCS file: /home/cvs/embperl/epcmd.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -r1.48 -r1.49
--- epcmd.c 23 Jan 2004 06:50:54 -0000 1.48
+++ epcmd.c 20 Jul 2004 04:59:10 -0000 1.49
@@ -874,8 +874,11 @@
ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof
(nFilepos), 1) ;
if (ppSV == NULL)
+ {
+ strcpy (r -> errdat1, "CacheHash") ;
return rcHashError ;
-
+ }
+
if (SvTRUE(*ppSV))
return ok ;
@@ -1700,7 +1703,10 @@
if (bSel)
{ /* -> selected */
if (hv_store (r -> pThread -> pInputHash, pName, strlen (pName), pSV, 0) ==
NULL)
+ {
+ strcpy (r -> errdat1, "InputHash in HtmlOption") ;
return rcHashError ;
+ }
if (pSelected)
return ok ;
@@ -1756,7 +1762,10 @@
if (!hv_exists (r -> pThread -> pInputHash, pName, l))
if (hv_store (r -> pThread -> pInputHash, pName, l, &sv_undef, 0) == NULL)
- return rcHashError ;
+ {
+ strcpy (r -> errdat1, "InputHash in HtmlEndselect") ;
+ return rcHashError ;
+ }
}
return HtmlEndtable (r, sArg) ;
@@ -1824,7 +1833,10 @@
lprintf (r -> pApp, "[%d]INPU: %s already has a value = %s\n", r ->
pThread -> nPid, sName, SvPV (pSV, na)) ;
if (hv_store (r -> pThread -> pInputHash, sName, strlen (sName), pSV, 0) ==
NULL)
+ {
+ strcpy (r -> errdat1, "InputHash in HtmlInput") ;
return rcHashError ;
+ }
return ok ; /* has already a value */
}
@@ -1848,7 +1860,10 @@
pSV = newSVpv ((char *)pVal, vlen) ;
if (hv_store (r -> pThread -> pInputHash, sName, strlen (sName),
pSV, 0) == NULL)
+ {
+ strcpy (r -> errdat1, "InputHash in HtmlInput") ;
return rcHashError ;
+ }
}
return ok ; /* no data available */
@@ -1956,7 +1971,10 @@
pSV = newSVpv ((char *)pData, dlen) ;
if (hv_store (r -> pThread -> pInputHash, sName, strlen (sName), pSV, 0) ==
NULL)
+ {
+ strcpy (r -> errdat1, "InputHash in HtmlInput") ;
return rcHashError ;
+ }
return ok ;
}
@@ -2040,7 +2058,10 @@
lprintf (r -> pApp, "[%d]TEXT: %s already has a value = %s\n", r ->
pThread -> nPid, sName, SvPV (pSV, na)) ;
if (hv_store (r -> pThread -> pInputHash, sName, strlen (sName), pSV, 0) ==
NULL)
+ {
+ strcpy (r -> errdat1, "InputHash in HtmlEndtextarea") ;
return rcHashError ;
+ }
return ok ; /* has already a value */
}
@@ -2068,7 +2089,10 @@
pSV = newSVpv ((char *)pData, dlen) ;
if (hv_store (r -> pThread -> pInputHash, sName, strlen (sName), pSV, 0) ==
NULL)
+ {
+ strcpy (r -> errdat1, "InputHash in HtmlEndtextarea") ;
return rcHashError ;
+ }
return ok ;
}
1.14 +6 -2 embperl/epcomp.c
Index: epcomp.c
===================================================================
RCS file: /home/cvs/embperl/epcomp.c,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- epcomp.c 7 Feb 2004 13:41:22 -0000 1.13
+++ epcomp.c 20 Jul 2004 04:59:10 -0000 1.14
@@ -487,8 +487,12 @@
ppSV = hv_fetch((HV *)(pDomTree -> pSV), (char *)sStackName, strlen
(sStackName), 0) ;
if (ppSV == NULL || *ppSV == NULL || SvTYPE (*ppSV) != SVt_RV)
+ {
+ strcpy (r -> errdat1, "CompileMatchStack") ;
+ strncat (r -> errdat1, (char *)sStackName, sizeof (r -> errdat1) - 20) ;
return rcHashError ;
-
+ }
+
pSV = av_pop ((AV *)SvRV (*ppSV)) ;
s = SvPV (pSV, l) ;
1.17 +9 -6 embperl/epdom.c
Index: epdom.c
===================================================================
RCS file: /home/cvs/embperl/epdom.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- epdom.c 14 Mar 2004 18:54:43 -0000 1.16
+++ epdom.c 20 Jul 2004 04:59:10 -0000 1.17
@@ -1770,13 +1770,16 @@
}
}
- pFirstChild = Node_selfCondCloneNode (a, pDomTree, pFirstChild, pFirstChild
-> nRepeatLevel) ;
- pFirstChild -> xPrev = pLastChild -> xNdx ;
- pLastChild -> xNext = pFirstChild -> xNdx ;
+ if (pFirstChild)
+ {
+ pFirstChild = Node_selfCondCloneNode (a, pDomTree, pFirstChild,
pFirstChild -> nRepeatLevel) ;
+ pFirstChild -> xPrev = pLastChild -> xNdx ;
+ pLastChild -> xNext = pFirstChild -> xNdx ;
- if ((a -> pCurrReq?a -> pCurrReq -> Component.Config.bDebug:a ->
Config.bDebug) & dbgCheckpoint)
- lprintf (a, "[%d]Checkpoint: discard all from table Parent=%d
FirstChild=%d LastChild=%d\n",
+ if ((a -> pCurrReq?a -> pCurrReq -> Component.Config.bDebug:a ->
Config.bDebug) & dbgCheckpoint)
+ lprintf (a, "[%d]Checkpoint: discard all from table Parent=%d
FirstChild=%d LastChild=%d\n",
a -> pThread -> nPid, pParent -> xNdx, pFirstChild -> xNdx,
pLastChild -> xNdx) ;
+ }
}
1.34 +28 -10 embperl/epeval.c
Index: epeval.c
===================================================================
RCS file: /home/cvs/embperl/epeval.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -r1.33 -r1.34
--- epeval.c 23 Jan 2004 06:50:55 -0000 1.33
+++ epeval.c 20 Jul 2004 04:59:10 -0000 1.34
@@ -34,7 +34,7 @@
* \endif
*
* \_de
-* Compiliert Perlcode und f�hrt ihn dann direkt aus.
+* Compiliert Perlcode und f?hrt ihn dann direkt aus.
*
* @param pArg Perlcode der compiliert werden soll als SV.
* Kann entweder eine Zeichenkette (SV) oder
@@ -106,16 +106,16 @@
* \endif
*
* \_de
-* Liefert f�r einen gegeben Konfigurationsausdruck ein CV zur�ck.
+* Liefert f?r einen gegeben Konfigurationsausdruck ein CV zur?ck.
* Der Ausdruck kann entweder schon ein CV sein, der Name einer
-* Perlfunktion oder eine Zeichenkette die mit "sub " anf�ngt sein,
+* Perlfunktion oder eine Zeichenkette die mit "sub " anf?ngt sein,
* in welchem Fall der Code kompiliert wird.
*
* @param pSV Konfigurationsausdruck
* @param numArgs Anzahl der Argumente
* @param pArgs Argumente
-* @param sContext Gibt Information �ber das Umfeld f�r die Fehlermeldung
-* @param ppCV Liefert die CV zur�ck
+* @param sContext Gibt Information ?ber das Umfeld f?r die Fehlermeldung
+* @param ppCV Liefert die CV zur?ck
* \endif
*
* ------------------------------------------------------------------------ */
@@ -215,11 +215,11 @@
* \endif
*
* \_de
-* Liefert f�r eine gegebenen Regul�ren Ausdruck ein CV zur�ck.
+* Liefert f?r eine gegebenen Regul?ren Ausdruck ein CV zur?ck.
*
-* @param sRegex Regul�rer Ausdruck als Zeichenkette
-* @param sContext Gibt Information �ber das Umfeld f�r die Fehlermeldung
-* @param ppCV Liefert die CV zur�ck
+* @param sRegex Regul?rer Ausdruck als Zeichenkette
+* @param sContext Gibt Information ?ber das Umfeld f?r die Fehlermeldung
+* @param ppCV Liefert die CV zur?ck
* \endif
*
* ------------------------------------------------------------------------ */
@@ -878,7 +878,10 @@
ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof
(nFilepos), 1) ;
if (ppSV == NULL)
+ {
+ strcpy (r -> errdat1, "CacheHash in EvalStore") ;
return rcHashError ;
+ }
if (*ppSV != NULL && SvTYPE (*ppSV) == SVt_PV)
{
@@ -940,7 +943,10 @@
ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof
(nFilepos), 1) ;
if (ppSV == NULL)
+ {
+ strcpy (r -> errdat1, "CacheHash in Eval") ;
return rcHashError ;
+ }
if (*ppSV != NULL && SvTYPE (*ppSV) == SVt_PV)
{
@@ -998,7 +1004,10 @@
ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof
(nFilepos), 1) ;
if (ppSV == NULL)
+ {
+ strcpy (r -> errdat1, "CacheHash in EvalTransFlags") ;
return rcHashError ;
+ }
if (*ppSV != NULL && SvTYPE (*ppSV) == SVt_PV)
{
@@ -1063,7 +1072,10 @@
ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof
(nFilepos), 1) ;
if (ppSV == NULL)
+ {
+ strcpy (r -> errdat1, "CacheHash in EvalTransOnFirstCall") ;
return rcHashError ;
+ }
if (*ppSV != NULL && SvTYPE (*ppSV) == SVt_PV)
{
@@ -1124,7 +1136,10 @@
ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof
(nFilepos), 1) ;
if (ppSV == NULL)
+ {
+ strcpy (r -> errdat1, "CacheHash in EvalSub") ;
return rcHashError ;
+ }
if (*ppSV != NULL && SvTYPE (*ppSV) == SVt_PV)
{
@@ -1285,7 +1300,10 @@
ppSV = hv_fetch(r -> Buf.pFile -> pCacheHash, (char *)&nFilepos, sizeof
(nFilepos), 1) ;
if (ppSV == NULL)
+ {
+ strcpy (r -> errdat1, "CacheHash in EvalMain") ;
return rcHashError ;
+ }
if (*ppSV != NULL && SvTYPE (*ppSV) == SVt_PV)
{
1.8 +2 -2 embperl/Embperl/Syntax/EmbperlHTML.pm
Index: EmbperlHTML.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl/Syntax/EmbperlHTML.pm,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- EmbperlHTML.pm 7 Mar 2004 20:04:15 -0000 1.7
+++ EmbperlHTML.pm 20 Jul 2004 04:59:11 -0000 1.8
@@ -79,7 +79,7 @@
{
perlcode =>
[
- '$idat{%&*\'name%}=$fdat{%&*\'name%};_ep_ac(%$n%,
Embperl::Syntax::ntypText, $fdat{%&*\'name%}) ; %#!-0%',
+ '$idat{%&*\'name%}=$fdat{%&*\'name%};_ep_ac(%$n%,
Embperl::Syntax::ntypText + 0x20, $fdat{%&*\'name%}) ; %#!-0%',
'$idat{%&*\'name%}=\'%#*0%\' ; ',
]
}) ;
1.30 +4 -0 embperl/test/cmp/escape.htm
Index: escape.htm
===================================================================
RCS file: /home/cvs/embperl/test/cmp/escape.htm,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- escape.htm 7 Feb 2004 14:14:40 -0000 1.29
+++ escape.htm 20 Jul 2004 04:59:11 -0000 1.30
@@ -219,6 +219,10 @@
<a href="&">html escaped?</a>
<a href="%26">url escaped</a>
+<textarea name="foobar" rows="5" cols="80" wrap="off">Don't go there!</textarea>
+This does not work:
+
+<textarea name="foobar" rows="5" cols="80" wrap="off">Don't go there!</textarea>
<P>Ok.<P>
1.22 +14 -0 embperl/test/html/escape.htm
Index: escape.htm
===================================================================
RCS file: /home/cvs/embperl/test/html/escape.htm,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- escape.htm 2 Feb 2004 19:42:32 -0000 1.21
+++ escape.htm 20 Jul 2004 04:59:11 -0000 1.22
@@ -321,6 +321,20 @@
<a href=[+ do { local $escmode=1; '&' } +]>html escaped?</a>
<a href=[+ do { local $escmode=2; '&' } +]>url escaped</a>
+[- $fdat{foobar} = "Don't go there!" -]
+
+[- $escmode = 3; -]
+<textarea name="foobar" rows="5" cols="80" wrap="off">[+ $fdat{foobar}
++]</textarea>
+[- $escmode = 0; -]
+
+This does not work:
+
+[- $escmode = 3; -]
+<textarea name="foobar" rows="5" cols="80" wrap="off"></textarea>
+[- $escmode = 0; -]
+
+
<P>Ok.<P>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]