aboutsummaryrefslogtreecommitdiff
path: root/jim-regexp.c
diff options
context:
space:
mode:
Diffstat (limited to 'jim-regexp.c')
-rw-r--r--jim-regexp.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/jim-regexp.c b/jim-regexp.c
index 702fdfe..8e497a2 100644
--- a/jim-regexp.c
+++ b/jim-regexp.c
@@ -80,10 +80,6 @@ static regex_t *SetRegexpFromAny(Jim_Interp *interp, Jim_Obj *objPtr, unsigned f
}
/* Not a regexp or the flags do not match */
- if (objPtr->typePtr == &regexpObjType) {
- FreeRegexpInternalRep(interp, objPtr);
- objPtr->typePtr = NULL;
- }
/* Get the string representation */
pattern = Jim_String(objPtr);
@@ -99,6 +95,8 @@ static regex_t *SetRegexpFromAny(Jim_Interp *interp, Jim_Obj *objPtr, unsigned f
return NULL;
}
+ Jim_FreeIntRep(interp, objPtr);
+
objPtr->typePtr = &regexpObjType;
objPtr->internalRep.regexpValue.flags = flags;
objPtr->internalRep.regexpValue.compre = compre;