I am working on an XML serializer module for PHP. It will allow session information to be stored as XML in the database. While this sounds like self promotion, and it probably is a bit, it is needed to make sense of why I am doing this. Anyway, the XML stream is so that I can use PHP session data outside of PHP. I'm working on a PostgreSQL function to extract the PHP session information when it is stored as this format of XML. Anyway, to make a long story short, I was crashing badly with certain pages in squirrelmail. I suspected it was endlessly recursing over a few variables. Not the immediate predecessor either, but a couple back which would be hard to find unless you scanned the recursion stack. So, I added this capability in the serializer, and low and behold, I found that squirrelmail was using a self referencing hierarchy. Which looked something like this: messages->1126708752->544->entities->4->parent->entities Where the "messages" variable had an item "1126708752" which had an item "544" etc. etc. The first "entities" variable was in fact the same pointer as the second "entities" pointer in the chain. Here's a point of debate, should this sort of behavior be allowed? If it is allowable, how does one support it in any sort of serialized methodology? I have a few ideas but none very pretty. I'm pretty sure it causes problems in regular PHP as these sorts of pages sometimes have problems anyway. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php