From d19691de189227ef1976cb8104cdc55830fdb347 Mon Sep 17 00:00:00 2001 From: Jaakko Keränen Date: Mon, 14 Feb 2022 15:04:16 +0200 Subject: Moved a function to the_Foundation --- src/gmutil.c | 37 ------------------------------------- src/gmutil.h | 5 ----- 2 files changed, 42 deletions(-) diff --git a/src/gmutil.c b/src/gmutil.c index 6c2271d7..0573aac1 100644 --- a/src/gmutil.c +++ b/src/gmutil.c @@ -930,40 +930,3 @@ const iGmError *get_GmError(enum iGmStatusCode code) { return &errors_[0].err; /* unknown */ } -int replaceRegExp_String(iString *d, const iRegExp *regexp, const char *replacement, - void (*matchHandler)(void *, const iRegExpMatch *), - void *context) { - iRegExpMatch m; - iString result; - int numMatches = 0; - const char *pos = constBegin_String(d); - init_RegExpMatch(&m); - init_String(&result); - while (matchString_RegExp(regexp, d, &m)) { - appendRange_String(&result, (iRangecc){ pos, begin_RegExpMatch(&m) }); - /* Replace any capture group back-references. */ - for (const char *ch = replacement; *ch; ch++) { - if (*ch == '\\') { - ch++; - if (*ch == '\\') { - appendCStr_String(&result, "\\"); - } - else if (*ch >= '0' && *ch <= '9') { - appendRange_String(&result, capturedRange_RegExpMatch(&m, *ch - '0')); - } - } - else { - appendData_Block(&result.chars, ch, 1); - } - } - if (matchHandler) { - matchHandler(context, &m); - } - pos = end_RegExpMatch(&m); - numMatches++; - } - appendRange_String(&result, (iRangecc){ pos, constEnd_String(d) }); - set_String(d, &result); - deinit_String(&result); - return numMatches; -} diff --git a/src/gmutil.h b/src/gmutil.h index 9217b0e3..c9d7baae 100644 --- a/src/gmutil.h +++ b/src/gmutil.h @@ -151,8 +151,3 @@ const iString * findContainerArchive_Path (const iString *path); const iString * feedEntryOpenCommand_String (const iString *url, int newTab); /* checks fragment */ - -/* TODO: Consider adding this to the_Foundation. */ -int replaceRegExp_String (iString *, const iRegExp *regexp, const char *replacement, - void (*matchHandler)(void *, const iRegExpMatch *), - void *context); -- cgit v1.2.3