diff dstress.c @ 991:fc296bd82895

fixed Valgrind exclusion bug
author thomask
date Wed, 10 May 2006 19:00:12 +0000
parents c6f4a1d57892
children 94714c219f3b
line wrap: on
line diff
--- a/dstress.c	Wed May 10 05:30:02 2006 +0000
+++ b/dstress.c	Wed May 10 19:00:12 2006 +0000
@@ -161,13 +161,13 @@
 #ifdef USE_VALGRIND
 #define		VALGRIND	"valgrind --leak-check=no -q --suppressions=valgrind.suppress"	
 #else
-#define		VALGRIND	""
+#define		VALGRIND	NULL
 #endif
 #define		TMP_DIR		"./obj"
 #define		RM_DIR		"rm -rf"
 #else
 #ifdef USE_WINDOWS
-#define		VALGRIND	""
+#define		VALGRIND	NULL
 #define		TMP_DIR		".\\obj"
 #define		RM_DIR		"rd /sq"
 #else
@@ -980,14 +980,17 @@
 
 	/* test 2/3 - run */
 	if((modus & MODE_NORUN) && (strstr(case_file, "/asm_")
-				|| strstr(case_file, "\\asm_")))
+				|| strstr(case_file, "\\asm_")
+				|| (case_file == strstr(case_file, "asm_"))))
 	{
 		/* Valgrind doesn't support privileged instructions */
 		goto no_valgrind;
-	}else if(!strstr(case_file, "/asm_") && !strstr(case_file, "\\asm_")){
+	}else if(strstr(case_file, "/asm_") || strstr(case_file, "\\asm_")
+			|| (case_file == strstr(case_file, "asm_")))
+	{
 		/* FIXME asm workaround due to Valgrind bugs (mainly SSE3) */
 		goto no_valgrind;
-	}else if(VALGRIND && VALGRIND[0]){
+	}else if(VALGRIND){
 		bufferLen = strlen(VALGRIND) + strlen(case_file) + 8;
 		buffer = malloc(bufferLen);
 		snprintf(buffer, bufferLen, "%s %s.exe", VALGRIND, case_file);