Fix to problems with regex characters in group names.

Stolen from
https://bitbucket.org/squire_linden/viewer-dev-chop-662/changeset/6f971899f351
This commit is contained in:
Aleric Inglewood
2011-06-22 01:22:52 +02:00
parent a5522c204e
commit 9a224f2b5c
2 changed files with 9 additions and 4 deletions

View File

@@ -142,9 +142,6 @@ std::string glob_to_regex(const std::string& glob)
switch (c)
{
case '.':
regex+="\\.";
break;
case '*':
if (glob.begin() == i)
{
@@ -177,6 +174,14 @@ std::string glob_to_regex(const std::string& glob)
case '!':
regex+= square_brace_open ? '^' : c;
break;
case '.': // This collection have different regex meaning
case '^': // And so need escaping
case '(':
case ')':
case '+':
case '|':
case '$':
regex+='\\';
default:
regex+=c;
break;

View File

@@ -66,7 +66,7 @@ std::string LLLogChat::makeLogFileName(std::string filename)
std::string LLLogChat::cleanFileName(std::string filename)
{
std::string invalidChars = "\"\'\\/?*:<>|";
std::string invalidChars = "\"\'\\/?*:<>|[]{}~"; // Cannot match glob or illegal filename chars
S32 position = filename.find_first_of(invalidChars);
while (position != filename.npos)
{