loolwsd/Util.hpp |    8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

New commits:
commit 56924299c9318e9022fe248e0538c053e3732847
Author: Ashod Nakashian <[email protected]>
Date:   Tue Sep 27 10:59:29 2016 -0400

    loolwsd: restore Poco regex and old initialization
    
    Unfortunately, std::regex is not well supported by old
    compilers, namely gcc 4.8 doesn't seem to pass tests.
    
    In addition, newer gcc versions, such as 5.2, don't like
    {0,0} initialization.
    
    For now we agreed on restoring the original Poco regex
    and the old initialization of {}. When we move to
    newer gcc, we can revert this commit so we get std::regex.
    
    This commit reverts the following 3 commits:
    
    Revert "Util: fix -Werror=shadow"
    This reverts commit 01c6cb40ef3c4718b8074288e790b47b545fefbe.
    
    Revert "loolwsd: replace Poco regex with std"
    This reverts commit 1fdb4bf8626ffa67c7732fe55f0cccf733894c15.
    
    Revert "Fix gcc-4.8 build"
    This reverts commit 92ff2789976d2b6d3dc0056f87026431108c1584.
    
    Change-Id: I04912055d1143a2aeebb8d853c4d0c7fe74a40cc
    Reviewed-on: https://gerrit.libreoffice.org/29324
    Reviewed-by: Ashod Nakashian <[email protected]>
    Tested-by: Ashod Nakashian <[email protected]>

diff --git a/loolwsd/Util.hpp b/loolwsd/Util.hpp
index 3aab0ad..1f59627 100644
--- a/loolwsd/Util.hpp
+++ b/loolwsd/Util.hpp
@@ -187,18 +187,16 @@ namespace Util
             }
 
             // Not a perfect match, try regex.
-            const int length = subject.size();
             for (const auto& value : set)
             {
                 try
                 {
                     // Not performance critical to warrant caching.
-                    std::regex re(value, std::regex::icase);
-                    std::smatch smatch;
+                    Poco::RegularExpression re(value, 
Poco::RegularExpression::RE_CASELESS);
+                    Poco::RegularExpression::Match reMatch{};
 
                     // Must be a full match.
-                    if (std::regex_match(subject, smatch, re) &&
-                        smatch.position() == 0 && smatch.length() == length)
+                    if (re.match(subject, reMatch) && reMatch.offset == 0 && 
reMatch.length == subject.size())
                     {
                         return true;
                     }
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to