Jim Jones <jim.jones@uni-muenster.de> writes:
> On 22.05.25 01:48, Tom Lane wrote:
>> ... I considered adding an assertion that that call returns
>> NULL, but concluded that it wasn't worth the notational hassle.
>> I'm not strongly set on that conclusion, though, if you think
>> differently.
> I see. In that case I believe that at least a different comment
> explaining this decision would avoid confusion. Something like
Yeah, after sleeping on it I fear that leaving xml_parse entirely
alone will just be a recipe for future copy-and-paste errors.
The Assert solution seems like the way to go, approximately
xmlNodePtr root;
+ xmlNodePtr oldroot PG_USED_FOR_ASSERTS_ONLY;
...
/* This attaches root to doc, so we need not free it separately. */
- xmlDocSetRootElement(doc, root);
+ oldroot = xmlDocSetRootElement(doc, root);
+ /* ... and there can't yet be any old root to clean up. */
+ Assert(oldroot == NULL);
I'll make it so.
regards, tom lane