From bb1292e2261fa591cf66de443a1b0d4eb7f65cb2 Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Tue, 14 Jun 2016 20:35:53 -0600 Subject: [PATCH] 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 --- src/gallium/auxiliary/os/os_misc.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) 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; } -- 2.30.2