Hi Gilles,
On Fri, 9 Dec 2016 23:41:25 +0100
Gilles Darold <[email protected]> wrote:
> /* extract log format and log file path from the line */
> log_filepath = strchr(lbuffer, ' ');
> log_filepath++;
> lbuffer[log_filepath-lbuffer-1] = '\0';
> log_format = lbuffer;
> *strchr(log_filepath, '\n') = '\0';
Instead I propose (code I have not actually executed):
...
char lbuffer[MAXPGPATH];
char *log_format = lbuffer;
...
/* extract log format and log file path from the line */
log_filepath = strchr(lbuffer, ' '); /* lbuffer == log_format */
*log_filepath = '\0'; /* terminate log_format */
log_filepath++; /* start of file path */
log_filepath[strcspn(log_filepath, "\n")] = '\0';
My first thought was to follow your example and begin with
log_format = lbuffer;
But upon reflection I think changing the declaration of log_format
to use an initializer better expresses how storage is always shared.
Regards,
Karl <[email protected]>
Free Software: "You don't pay back, you pay forward."
-- Robert A. Heinlein
--
Sent via pgsql-hackers mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers