+ move appendToFirstOccurence() to regexTools.cpp and use now ICU as regex engine

This commit is contained in:
kelson42 2011-12-22 11:25:24 +00:00
parent 53ed13a511
commit 554f5035a0

View File

@ -44,11 +44,11 @@ typedef int off_t;
#include <zim/article.h>
#include <zim/fileiterator.h>
#include <pthread.h>
#include <regex.h>
#include <zlib.h>
#include <kiwix/reader.h>
#include <kiwix/xapianSearcher.h>
#include <pathTools.h>
#include <regexTools.h>
using namespace std;
@ -178,19 +178,6 @@ static pthread_mutex_t searcherLock = PTHREAD_MUTEX_INITIALIZER;
static pthread_mutex_t compressorLock = PTHREAD_MUTEX_INITIALIZER;
static bool hasSearchIndex = false;
static void appendToFirstOccurence(string &content, const string regex, const string &replacement) {
regmatch_t matchs[1];
regex_t regexp;
regcomp(&regexp, regex.data(), REG_ICASE);
if (!regexec(&regexp, content.data(), 1, matchs, 0)) {
if (matchs[0].rm_so > 0)
content.insert(matchs[0].rm_eo, replacement);
}
regfree(&regexp);
}
/* For compression */
#define COMPRESSOR_BUFFER_SIZE 5000000
static Bytef *compr = (Bytef *)malloc(COMPRESSOR_BUFFER_SIZE);