1 /*-------------------------------------------------------------------------
\r
2 * posix regex extensions
\r
4 * Copyright (c) 2015, glyn@8kb.co.uk
\r
5 * Author: Glyn Astill <glyn@8kb.co.uk>
\r
7 *-------------------------------------------------------------------------
\r
10 #include <windows.h>
\r
13 #include "gnuregex.h"
\r
14 #include "dfregex.h"
\r
16 DLLIMPORT int RegexpMatch (const char *str, const char *pattern, const char *flags, int errors)
\r
18 return regexp_match(str, pattern, flags, errors);
\r
21 DLLIMPORT int RegexpMatches(const char *str, const char *pattern, const char *flags, char *output, int output_len, int errors)
\r
23 char *matches = regexp_matches(str, pattern, flags, errors);
\r
27 if (matches != NULL)
\r
29 matches_len = strlen(matches);
\r
30 if (matches_len <= output_len)
\r
32 strncpy(output, matches, matches_len);
\r
46 DLLIMPORT int RegexpReplace(const char *str, const char *pattern, const char *replacement, const char *flags, char *output, int output_len, int errors)
\r
48 char *replaced = regexp_replace(str, pattern, replacement, flags, errors);
\r
52 if (replaced != NULL)
\r
54 replaced_len = strlen(replaced);
\r
56 if (replaced_len <= output_len)
\r
58 strncpy(output, replaced, replaced_len);
\r
73 BOOL APIENTRY DllMain (HINSTANCE hInst /* Library instance handle. */ ,
\r
74 DWORD reason /* Reason this function is being called. */ ,
\r
75 LPVOID reserved /* Not used. */ )
\r
79 case DLL_PROCESS_ATTACH:
\r
82 case DLL_PROCESS_DETACH:
\r
85 case DLL_THREAD_ATTACH:
\r
88 case DLL_THREAD_DETACH:
\r
92 /* Returns TRUE on success, FALSE on failure */
\r