aboutsummaryrefslogtreecommitdiff
path: root/jim-regexp.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2020-07-31 08:39:09 +1000
committerSteve Bennett <steveb@workware.net.au>2020-07-31 08:39:09 +1000
commit795854e54681f86fe66d8dcf8b09e44b9f726a62 (patch)
tree714398bfb1d899e26ba21cafe53837c414976bb3 /jim-regexp.c
parent5508c2501ead3dd6fba1700cdcafd539c3636c33 (diff)
downloadjimtcl-795854e54681f86fe66d8dcf8b09e44b9f726a62.zip
jimtcl-795854e54681f86fe66d8dcf8b09e44b9f726a62.tar.gz
jimtcl-795854e54681f86fe66d8dcf8b09e44b9f726a62.tar.bz2
jimregexp: rename local regex functions
Avoid possible problems with when linking by renaming local regex to jim_regcomp, jim_regexec, etc. Fixes: #163 Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jim-regexp.c')
-rw-r--r--jim-regexp.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/jim-regexp.c b/jim-regexp.c
index 880bf33..58671df 100644
--- a/jim-regexp.c
+++ b/jim-regexp.c
@@ -53,13 +53,17 @@
#include "jimregexp.h"
#else
#include <regex.h>
+ #define jim_regcomp regcomp
+ #define jim_regexec regexec
+ #define jim_regerror regerror
+ #define jim_regfree regfree
#endif
#include "jim.h"
#include "utf8.h"
static void FreeRegexpInternalRep(Jim_Interp *interp, Jim_Obj *objPtr)
{
- regfree(objPtr->internalRep.ptrIntValue.ptr);
+ jim_regfree(objPtr->internalRep.ptrIntValue.ptr);
Jim_Free(objPtr->internalRep.ptrIntValue.ptr);
}
@@ -94,12 +98,12 @@ static regex_t *SetRegexpFromAny(Jim_Interp *interp, Jim_Obj *objPtr, unsigned f
pattern = Jim_String(objPtr);
compre = Jim_Alloc(sizeof(regex_t));
- if ((ret = regcomp(compre, pattern, REG_EXTENDED | flags)) != 0) {
+ if ((ret = jim_regcomp(compre, pattern, REG_EXTENDED | flags)) != 0) {
char buf[100];
- regerror(ret, compre, buf, sizeof(buf));
+ jim_regerror(ret, compre, buf, sizeof(buf));
Jim_SetResultFormatted(interp, "couldn't compile regular expression pattern: %s", buf);
- regfree(compre);
+ jim_regfree(compre);
Jim_Free(compre);
return NULL;
}
@@ -237,11 +241,11 @@ int Jim_RegexpCmd(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
}
next_match:
- match = regexec(regex, source_str, num_vars + 1, pmatch, eflags);
+ match = jim_regexec(regex, source_str, num_vars + 1, pmatch, eflags);
if (match >= REG_BADPAT) {
char buf[100];
- regerror(match, regex, buf, sizeof(buf));
+ jim_regerror(match, regex, buf, sizeof(buf));
Jim_SetResultFormatted(interp, "error while matching pattern: %s", buf);
result = JIM_ERR;
goto done;
@@ -457,12 +461,12 @@ int Jim_RegsubCmd(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
n = source_len - offset;
p = source_str + offset;
do {
- int match = regexec(regex, p, MAX_SUB_MATCHES, pmatch, regexec_flags);
+ int match = jim_regexec(regex, p, MAX_SUB_MATCHES, pmatch, regexec_flags);
if (match >= REG_BADPAT) {
char buf[100];
- regerror(match, regex, buf, sizeof(buf));
+ jim_regerror(match, regex, buf, sizeof(buf));
Jim_SetResultFormatted(interp, "error while matching pattern: %s", buf);
return JIM_ERR;
}