Disposal of RegexMatch structures
This commit is contained in:
parent
e6064bd375
commit
0b651b819a
3 changed files with 12 additions and 0 deletions
|
@ -43,3 +43,9 @@ RegexCapture* RegexMatch_GetNumberedCapture(RegexMatch* match, size_t number)
|
||||||
|
|
||||||
return DynamicArray_GetPointer(&match->captures, capture_index);
|
return DynamicArray_GetPointer(&match->captures, capture_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void RegexMatch_Destroy(RegexMatch* match)
|
||||||
|
{
|
||||||
|
DynamicArray_Destroy(&match->captures);
|
||||||
|
match->match = STRINGVIEW_NONE;
|
||||||
|
}
|
||||||
|
|
|
@ -26,4 +26,6 @@ typedef struct RegexMatch_s {
|
||||||
bool RegexMatch_HaveNumberedCapture(RegexMatch* match, size_t number);
|
bool RegexMatch_HaveNumberedCapture(RegexMatch* match, size_t number);
|
||||||
RegexCapture* RegexMatch_GetNumberedCapture(RegexMatch* match, size_t number);
|
RegexCapture* RegexMatch_GetNumberedCapture(RegexMatch* match, size_t number);
|
||||||
|
|
||||||
|
void RegexMatch_Destroy(RegexMatch* match);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -31,6 +31,8 @@ void testLiteral(void)
|
||||||
assert(Regex_FirstMatch(®ex, test_string_0, &match) == EXIT_SUCCESS);
|
assert(Regex_FirstMatch(®ex, test_string_0, &match) == EXIT_SUCCESS);
|
||||||
assert(StringView_Equal(match.match, test_string_0));
|
assert(StringView_Equal(match.match, test_string_0));
|
||||||
|
|
||||||
|
RegexMatch_Destroy(&match);
|
||||||
|
|
||||||
Regex_Destroy(®ex);
|
Regex_Destroy(®ex);
|
||||||
assert(allocator.reserved == 0);
|
assert(allocator.reserved == 0);
|
||||||
Allocator_DestroySystemAllocator(&allocator);
|
Allocator_DestroySystemAllocator(&allocator);
|
||||||
|
@ -52,6 +54,8 @@ void testBackslash(void)
|
||||||
assert(Regex_FirstMatch(®ex, match_string, &match) == EXIT_SUCCESS);
|
assert(Regex_FirstMatch(®ex, match_string, &match) == EXIT_SUCCESS);
|
||||||
assert(StringView_Equal(match.match, match_string));
|
assert(StringView_Equal(match.match, match_string));
|
||||||
|
|
||||||
|
RegexMatch_Destroy(&match);
|
||||||
|
|
||||||
Regex_Destroy(®ex);
|
Regex_Destroy(®ex);
|
||||||
assert(allocator.reserved == 0);
|
assert(allocator.reserved == 0);
|
||||||
Allocator_DestroySystemAllocator(&allocator);
|
Allocator_DestroySystemAllocator(&allocator);
|
||||||
|
|
Loading…
Reference in a new issue