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 7: You can help support the PostgreSQL project by donating at http://www.postgresql.org/about/donate