bearch: Remove unnecessary test in arch_perform_memory_operand().
[libfirm] / win32 / regex.h
index e7337bc..459b6bb 100644 (file)
@@ -10,28 +10,38 @@ typedef struct regex_t {
        char *pattern;
 } regex_t;
 
+typedef size_t regoff_t;
+
+typedef struct regmatch_t {
+       regoff_t rm_so;
+       regoff_t rm_eo;
+} regmatch_t;
+
 #define REG_EXTENDED 1
 #define REG_ICASE    2
 #define REG_NOSUB    4
 #define REG_NEWLINE  8
+#define REG_NOTBOL   16
+#define REG_NOTEOL   32
+
+#define REG_NOMATCH 1
 
 int regcomp(regex_t *regex, const char *pattern, int cflags)
 {
-       size_t len = strlen(pattern)+1;
        (void) cflags;
-       regex->pattern = malloc(len);
-       memcpy(regex->pattern, pattern, len);
+       regex->pattern = _strdup(pattern);
+       return 0;
 }
 
-int regexec(const regex_t *regex, const char *haystack, int flags)
+int regexec(const regex_t *regex, const char *haystack, size_t nmatch, regmatch_t pmatch[], int flags)
 {
        size_t i = 0;
        const char *pattern = regex->pattern;
        for (i = 0; pattern[i] != '\0'; ++i) {
                if (pattern[i] != haystack[i])
-                       return 0;
+                       return REG_NOMATCH;
        }
-       return 1;
+       return 0;
 }
 
 void regfree(regex_t *regex)