fio2gnuplot: Option to select gnuplot's output dir
[fio.git] / stat.c
diff --git a/stat.c b/stat.c
index b3861887e2a204b404acb9c043f1c7302a7c32be..442caa0cd1973400d5323a7202b6350155a6ae1d 100644 (file)
--- a/stat.c
+++ b/stat.c
@@ -243,15 +243,13 @@ out:
 int calc_lat(struct io_stat *is, unsigned long *min, unsigned long *max,
             double *mean, double *dev)
 {
-       double n = is->samples;
+       double n = (double) is->samples;
 
-       if (is->samples == 0)
+       if (n == 0)
                return 0;
 
        *min = is->min_val;
        *max = is->max_val;
-
-       n = (double) is->samples;
        *mean = is->mean.u.f;
 
        if (n > 1.0)
@@ -1445,11 +1443,21 @@ static struct timeval status_time;
 static int check_status_file(void)
 {
        struct stat sb;
+       const char *temp_dir;
+       char fio_status_file_path[PATH_MAX];
+
+       temp_dir = getenv("TMPDIR");
+       if (temp_dir == NULL)
+               temp_dir = getenv("TEMP");
+       if (temp_dir == NULL)
+               temp_dir = "/tmp";
+
+       snprintf(fio_status_file_path, sizeof(fio_status_file_path), "%s/%s", temp_dir, FIO_STATUS_FILE);
 
-       if (stat(FIO_STATUS_FILE, &sb))
+       if (stat(fio_status_file_path, &sb))
                return 0;
 
-       unlink(FIO_STATUS_FILE);
+       unlink(fio_status_file_path);
        return 1;
 }