Alvaro Herrera wrote:
> Andrew Dunstan wrote:
>
> > Not sure I understand what this comment I noticed on a very brief glance is
> > about:
> >
> > /* assume no newlines in funcname or filename... */
> >
> > If it's about what to quote, we need to quote anything that might contain a
> > newline, quote or comma. Filenames certainly come into that category.
>
> Huh, sorry, that's a leftover comment. The inserted string is quoted
> inside appendCSVLiteral. Thanks, I'll fix it.
This part now looks like this (it was a bit duplicative):
/* file error location */
if (Log_error_verbosity >= PGERROR_VERBOSE)
{
StringInfoData msgbuf;
initStringInfo(&msgbuf);
if (edata->funcname && edata->filename)
appendStringInfo(&msgbuf, "%s, %s:%d",
edata->funcname, edata->filename,
edata->lineno);
else if (edata->filename)
appendStringInfo(&msgbuf, "%s:%d",
edata->filename, edata->lineno);
appendCSVLiteral(&buf, msgbuf.data);
pfree(msgbuf.data);
}
--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
<Schwern> It does it in a really, really complicated way
<crab> why does it need to be complicated?
<Schwern> Because it's MakeMaker.
---------------------------(end of broadcast)---------------------------
TIP 5: don't forget to increase your free space map settings