summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <[email protected]>2016-06-14 20:35:53 -0600
committerBrian Paul <[email protected]>2016-06-15 17:16:42 -0600
commitbb1292e2261fa591cf66de443a1b0d4eb7f65cb2 (patch)
treeefbde36bbd61ec6e56e066285b59362bb5b67166 /src
parentc99a0a8bcece2870f3e93328ab520efc2c9f7983 (diff)
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 <[email protected]>
Diffstat (limited to 'src')
-rw-r--r--src/gallium/auxiliary/os/os_misc.c15
1 files 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;
}