From f8a0bbff1bb98eee95658fa81e276e9630a67468 Mon Sep 17 00:00:00 2001 From: Guenter Obiltschnig Date: Sat, 11 Feb 2017 12:03:37 +0100 Subject: [PATCH] fixed GH #1581: Cannot find 'pcre.h' when using POCO_UNBUNDLED, a non-system PCRE, and CMake Index: Foundation/src/RegularExpression.cpp --- Foundation/src/RegularExpression.cpp.orig +++ Foundation/src/RegularExpression.cpp @@ -62,14 +62,14 @@ RegularExpression::RegularExpression(const std::string throw RegularExpressionException(msg.str()); } if (study) - _extra = pcre_study(_pcre, 0, &error); + _extra = pcre_study(reinterpret_cast(_pcre), 0, &error); } RegularExpression::~RegularExpression() { - if (_pcre) pcre_free(_pcre); - if (_extra) pcre_free(_extra); + if (_pcre) pcre_free(reinterpret_cast(_pcre)); + if (_extra) pcre_free(reinterpret_cast(_extra)); } @@ -78,7 +78,7 @@ int RegularExpression::match(const std::string& subjec poco_assert (offset <= subject.length()); int ovec[OVEC_SIZE]; - int rc = pcre_exec(_pcre, _extra, subject.c_str(), int(subject.size()), int(offset), options & 0xFFFF, ovec, OVEC_SIZE); + int rc = pcre_exec(reinterpret_cast(_pcre), reinterpret_cast(_extra), subject.c_str(), int(subject.size()), int(offset), options & 0xFFFF, ovec, OVEC_SIZE); if (rc == PCRE_ERROR_NOMATCH) { mtch.offset = std::string::npos; @@ -112,7 +112,7 @@ int RegularExpression::match(const std::string& subjec matches.clear(); int ovec[OVEC_SIZE]; - int rc = pcre_exec(_pcre, _extra, subject.c_str(), int(subject.size()), int(offset), options & 0xFFFF, ovec, OVEC_SIZE); + int rc = pcre_exec(reinterpret_cast(_pcre), reinterpret_cast(_extra), subject.c_str(), int(subject.size()), int(offset), options & 0xFFFF, ovec, OVEC_SIZE); if (rc == PCRE_ERROR_NOMATCH) { return 0; @@ -225,7 +225,7 @@ std::string::size_type RegularExpression::substOne(std if (offset >= subject.length()) return std::string::npos; int ovec[OVEC_SIZE]; - int rc = pcre_exec(_pcre, _extra, subject.c_str(), int(subject.size()), int(offset), options & 0xFFFF, ovec, OVEC_SIZE); + int rc = pcre_exec(reinterpret_cast(_pcre), reinterpret_cast(_extra), subject.c_str(), int(subject.size()), int(offset), options & 0xFFFF, ovec, OVEC_SIZE); if (rc == PCRE_ERROR_NOMATCH) { return std::string::npos;