Hi Gilles,
On Fri, 9 Dec 2016 23:41:25 +0100
Gilles Darold <gilles.darold@dalibo.com> 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 <kop@meme.com>
Free Software: "You don't pay back, you pay forward." -- Robert A. Heinlein