Disable std::regex use for older gcc versions
This commit is contained in:
parent
f91185fd53
commit
ce0352eff4
@ -67,4 +67,11 @@ typedef int ssize_t;
|
|||||||
# define PRETEND_USE(expr) ((void)(expr))
|
# define PRETEND_USE(expr) ((void)(expr))
|
||||||
#endif /* PRETEND_USE */
|
#endif /* PRETEND_USE */
|
||||||
|
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#include <features.h>
|
||||||
|
#if ! __GNUC_PREREQ(6,0)
|
||||||
|
#define NO_STD_REGEX 1
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
#endif /* INCLUDED */
|
#endif /* INCLUDED */
|
||||||
|
|||||||
@ -154,6 +154,7 @@ bool TextSplitPTR::matchGroups()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NO_STD_REGEX
|
||||||
// Replace HTTP(s) urls in text/plain with proper HTML anchors so that
|
// Replace HTTP(s) urls in text/plain with proper HTML anchors so that
|
||||||
// they become clickable in the preview. We don't make a lot of effort
|
// they become clickable in the preview. We don't make a lot of effort
|
||||||
// for validating, or catching things which are probably urls but miss
|
// for validating, or catching things which are probably urls but miss
|
||||||
@ -165,6 +166,12 @@ static string activate_urls(const string& in)
|
|||||||
{
|
{
|
||||||
return std::regex_replace(in, url_re, urlRep);
|
return std::regex_replace(in, url_re, urlRep);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
static string activate_urls(const string& in)
|
||||||
|
{
|
||||||
|
return in;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
// Fix result text for display inside the gui text window.
|
// Fix result text for display inside the gui text window.
|
||||||
//
|
//
|
||||||
|
|||||||
@ -52,6 +52,7 @@ using namespace std;
|
|||||||
|
|
||||||
namespace Rcl {
|
namespace Rcl {
|
||||||
|
|
||||||
|
#ifndef NO_STD_REGEX
|
||||||
//// Fragment cleanup
|
//// Fragment cleanup
|
||||||
// Chars we turn to spaces in the Snippets
|
// Chars we turn to spaces in the Snippets
|
||||||
static const string cstr_nc("\n\r\x0c\\");
|
static const string cstr_nc("\n\r\x0c\\");
|
||||||
@ -65,6 +66,12 @@ static string fixfrag(const string& infrag)
|
|||||||
{
|
{
|
||||||
return std::regex_replace(neutchars(infrag, cstr_nc), fixfrag_re, punctRep);
|
return std::regex_replace(neutchars(infrag, cstr_nc), fixfrag_re, punctRep);
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
static string fixfrag(const string& infrag)
|
||||||
|
{
|
||||||
|
return infrag;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// Fragment descriptor. A fragment is a text area with one or several
|
// Fragment descriptor. A fragment is a text area with one or several
|
||||||
|
|||||||
@ -1210,6 +1210,7 @@ bool urlisfileurl(const string& url)
|
|||||||
return url.find("file://") == 0;
|
return url.find("file://") == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef NO_STD_REGEX
|
||||||
static std::regex
|
static std::regex
|
||||||
re_uriparse("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?",
|
re_uriparse("^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?",
|
||||||
std::regex::extended);
|
std::regex::extended);
|
||||||
@ -1299,6 +1300,7 @@ ParsedUri::ParsedUri(std::string uri)
|
|||||||
fragment = mr[9].str();
|
fragment = mr[9].str();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif // NO_STD_REGEX
|
||||||
|
|
||||||
/// Directory reading interface. UTF-8 on Windows.
|
/// Directory reading interface. UTF-8 on Windows.
|
||||||
class PathDirContents::Internal {
|
class PathDirContents::Internal {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user