summaryrefslogtreecommitdiff
path: root/graphics/opendx/files/patch-src:uipp:dxui:MacroDefinition.C
blob: 51aa0cadf4ba547c896cde16f714a91de4b9293b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
--- src/uipp/dxui/MacroDefinition.C.orig	Tue Mar 20 18:52:41 2001
+++ src/uipp/dxui/MacroDefinition.C	Tue Mar 20 20:49:26 2001
@@ -42,7 +42,14 @@
 
 #define OLD_DUMMY_DESCRIPTION_STRING "Generated dummy input"
 
-#if  defined(HAVE_RE_COMP)
+#if HAVE_REGCOMP && HAVE_REGEX_H
+/* prefer POSIX style regcomp(3) over obsolete versions */
+extern "C" {
+#include <regex.h>
+}
+#undef HAVE_RE_COMP
+#undef HAVE_FINDFIRST
+#elif  defined(HAVE_RE_COMP)
 #undef HAVE_REGCMP
 #undef HAVE_REGCOMP
 #undef HAVE_FINDFIRST
@@ -53,7 +60,7 @@
 #undef HAVE_FINDFIRST
 extern "C" char *regcmp(...);
 extern "C" char *regex(char *, char *, ...);
-#elif HAVE_REGCOMP
+#elif HAVE_REGCOMP && HAVE_REGEXP_H
 extern "C" {
 #include <regexp.h>
 }
@@ -594,7 +601,18 @@
 	}
 	else
 	{
-#if defined(HAVE_REGCOMP)
+#if defined(HAVE_REGCOMP) && defined(HAVE_REGEX_H)
+
+	    regex_t net_file;
+	    ASSERT(regcomp(&net_file, ".[.]*\\.net$", REG_NOSUB) == 0);
+
+	    struct dirent *entry;
+	    while (entry = readdir(d))
+	    {
+	        boolean exists = regexec(&net_file, entry->d_name, 0, NULL, 0);
+		if (exists == 0)
+
+#elif defined(HAVE_REGCOMP) && defined(HAVE_REGEXP_H)
 
 	    char *net_file = (char *)regcomp(".[.]*\\.net$");
 	    ASSERT(net_file != NULL);
@@ -691,7 +709,10 @@
 	    }
             _findclose(handle);
 	    delete srch_string;
-#elif defined(HAVE_REGCOMP)
+#elif defined(HAVE_REGCOMP) && defined(HAVE_REGEX_H)
+		}
+	    }
+#elif defined(HAVE_REGCOMP) && defined(HAVE_REGEXP_H)
 		}
 	    }
 #elif defined(HAVE_RE_COMP)