gallium/hud: move file initialization to a function
authorEdmondo Tommasina <edmondo.tommasina@gmail.com>
Wed, 21 Dec 2016 21:58:11 +0000 (22:58 +0100)
committerMarek Olšák <marek.olsak@amd.com>
Sat, 31 Dec 2016 23:03:38 +0000 (00:03 +0100)
The function will be used later to create the filedescriptor
for other metrics.

Signed-off-by: Marek Olšák <marek.olsak@amd.com>
src/gallium/auxiliary/hud/hud_context.c
src/gallium/auxiliary/hud/hud_driver_query.c
src/gallium/auxiliary/hud/hud_private.h

index edd831a7f7b22212fed10f13080ed6ff796ae611..779c11693c807a6ec5ee14ef3ae1d46007bec9f8 100644 (file)
@@ -865,6 +865,23 @@ hud_graph_destroy(struct hud_graph *graph)
    FREE(graph);
 }
 
+void
+hud_graph_set_dump_file(struct hud_graph *gr)
+{
+   const char *hud_dump_dir = getenv("GALLIUM_HUD_DUMP_DIR");
+   char *dump_file;
+
+   if (hud_dump_dir && access(hud_dump_dir, W_OK) == 0) {
+      dump_file = malloc(strlen(hud_dump_dir) + sizeof(gr->name));
+      if (dump_file) {
+         strcpy(dump_file, hud_dump_dir);
+         strcat(dump_file, gr->name);
+         gr->fd = fopen(dump_file, "w+");
+         free(dump_file);
+      }
+   }
+}
+
 /**
  * Read a string from the environment variable.
  * The separators "+", ",", ":", and ";" terminate the string.
index 23fda0187dd412ab3f1a3a8d0fd6a9d268cb2bc7..d80b8eda60c65e443f1c4f89b589b8c484d3f62f 100644 (file)
@@ -351,8 +351,6 @@ hud_pipe_query_install(struct hud_batch_query_context **pbq,
 {
    struct hud_graph *gr;
    struct query_info *info;
-   const char *hud_dump_dir = getenv("GALLIUM_HUD_DUMP_DIR");
-   char *dump_file;
 
    gr = CALLOC_STRUCT(hud_graph);
    if (!gr)
@@ -380,15 +378,7 @@ hud_pipe_query_install(struct hud_batch_query_context **pbq,
       info->result_index = result_index;
    }
 
-   if (hud_dump_dir && access(hud_dump_dir, W_OK) == 0) {
-      dump_file = malloc(strlen(hud_dump_dir) + sizeof(gr->name));
-      if (dump_file) {
-         strcpy(dump_file, hud_dump_dir);
-         strcat(dump_file, gr->name);
-         gr->fd = fopen(dump_file, "w+");
-         free(dump_file);
-      }
-   }
+   hud_graph_set_dump_file(gr);
 
    hud_pane_add_graph(pane, gr);
    pane->type = type; /* must be set before updating the max_value */
index fa1cd8b9a45f8bf0b4106ea1e6af704a4453944b..5132b3d2c4f0104ab745da895318cc871364001e 100644 (file)
@@ -104,6 +104,8 @@ boolean hud_driver_query_install(struct hud_batch_query_context **pbq,
 void hud_batch_query_update(struct hud_batch_query_context *bq);
 void hud_batch_query_cleanup(struct hud_batch_query_context **pbq);
 
+void hud_graph_set_dump_file(struct hud_graph *gr);
+
 #if HAVE_GALLIUM_EXTRA_HUD
 int hud_get_num_nics(bool displayhelp);
 #define NIC_DIRECTION_RX 1