From: Brian Paul Date: Wed, 15 Jun 2016 02:35:53 +0000 (-0600) Subject: auxilary/os: allow appending to GALLIUM_LOG_FILE X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=bb1292e2261fa591cf66de443a1b0d4eb7f65cb2;p=mesa.git auxilary/os: allow appending to GALLIUM_LOG_FILE If the log file specified by the GALLIUM_LOG_FILE begins with '+', open the file in append mode. This is useful to log all gallium output for an entire piglit run, for example. v2: put GALLIUM_LOG_FILE support inside an #ifdef DEBUG block. Reviewed-by: Jose Fonseca --- diff --git a/src/gallium/auxiliary/os/os_misc.c b/src/gallium/auxiliary/os/os_misc.c index d6b83e90e3d..82e49577352 100644 --- a/src/gallium/auxiliary/os/os_misc.c +++ b/src/gallium/auxiliary/os/os_misc.c @@ -69,10 +69,21 @@ os_log_message(const char *message) static FILE *fout = NULL; if (!fout) { +#ifdef DEBUG /* one-time init */ const char *filename = os_get_option("GALLIUM_LOG_FILE"); - if (filename) - fout = fopen(filename, "w"); + if (filename) { + const char *mode = "w"; + if (filename[0] == '+') { + /* If the filename is prefixed with '+' then open the file for + * appending instead of normal writing. + */ + mode = "a"; + filename++; /* skip the '+' */ + } + fout = fopen(filename, mode); + } +#endif if (!fout) fout = stderr; }