From: Martin Q. <mar...@lo...> - 2006-08-29 09:43:20
|
On Mon, Aug 28, 2006 at 12:18:20PM -0400, William F. Dowling wrote: > On Sun, 2006-08-27 at 23:23 +0200, Martin Quinson wrote: > > Hello William, > >=20 > > after your fixes around the memleak on bufferstack, it looks like tag > > attributes are not available from the ETag_* functions, but only from t= he > > STag_* ones.=20 > >=20 > > I'm not sure this is a good thing, since I actually had a parser which = used > > this bug/feature. I fixed my code to only use attribute content in S_*_= fun, > > but it would be cool if you could change the way things are done to all= ow us > > to access attributes from the E_*_fun too.=20 >=20 > I have looked into this; and it looks like a very simple change for me > to make. Good news! > However, I am a little puzzled how the generated parser was letting this > through before my changes. There is code in flexml.pl (lines 1680, > 1687, 1695) that to me seems to prohibit refering to attributes inside > the end-tag processing code: >=20 > die "\"$ACTIONS\", line $lineno: Attributes only allowed in > start tag.\n" > if not $isstart; >=20 > Had you disabled this code somehow, or was there some case that was > being missed, in the code around lines 1677-1702? It's because we don't use an action file, but instead we override the STag_*_fun pointer directly to put a function of ours there. In that case, there is not much the perl parser can do against our misuses ;) Bye, Mt. --=20 Le cycliste zigzaguait sur la route, tant=F4t =E0 gauche, tant=F4t =E0 droi= te, avant que je puisse le t=E9lescoper. -- perles du courrier des assurances 2003 |