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
certainlycome 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.