eina freeq - add explicit bypass on/off env var controls
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 21 Dec 2016 01:06:32 +0000 (10:06 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Wed, 21 Dec 2016 06:44:15 +0000 (15:44 +0900)
this fixes T5032

src/lib/eina/eina_freeq.c

index 49fdb0b..c1aff89 100644 (file)
@@ -149,12 +149,23 @@ eina_freeq_new(void)
    if (_eina_freeq_bypass == -1)
      {
         const char *s;
-
-        if (getenv("EINA_FREEQ_BYPASS")) _eina_freeq_bypass = 1;
+        int v;
+
+        s = getenv("EINA_FREEQ_BYPASS");
+        if (s)
+          {
+             v = atoi(s);
+             if (v == 0) _eina_freeq_bypass = 0;
+             else _eina_freeq_bypass = 1;
+          }
+        if (_eina_freeq_bypass == -1)
+          {
 #ifdef HAVE_VALGRIND
-        else if (RUNNING_ON_VALGRIND) _eina_freeq_bypass = 1;
+             if (RUNNING_ON_VALGRIND) _eina_freeq_bypass = 1;
+             else
 #endif
-        else _eina_freeq_bypass = 0;
+               _eina_freeq_bypass = 0;
+          }
         s = getenv("EINA_FREEQ_FILL_MAX");
         if (s) _eina_freeq_fillpat_max = atoi(s);
         s = getenv("EINA_FREEQ_TOTAL_MAX");