Jim Jones <jim.jo...@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


Reply via email to