]> git.lyx.org Git - lyx.git/blobdiff - src/support/LRegex.C
change call to shared_ptr::reset, move some using declarations around
[lyx.git] / src / support / LRegex.C
index c6c1e938ce28db8bf25093aac9a23facfb6d3f7f..a82b6642301e3e666388108a78d20247b5a851d7 100644 (file)
@@ -20,52 +20,52 @@ using std::make_pair;
 struct LRegex::Impl {
        ///
        regex_t * preg;
-       
+
        ///
        int error_code;
-       
+
        ///
        mutable LRegex::SubMatches matches;
-       
+
        ///
-       Impl(string const & regex) 
+       Impl(string const & regex)
                : preg(new regex_t), error_code(0)
        {
                error_code = regcomp(preg, regex.c_str(), REG_EXTENDED);
        }
-       
+
        ///
        ~Impl()
        {
                regfree(preg);
                delete preg;
        }
-       
+
        ///
        bool exact_match(string const & str) const
        {
                regmatch_t tmp;
                if (!regexec(preg, str.c_str(), 1, &tmp, 0)) {
-                       if (tmp.rm_so == 0 && 
+                       if (tmp.rm_so == 0 &&
                            tmp.rm_eo == static_cast<signed int>(str.length()))
                                return true;
                }
                // no match
                return false;
        }
-       
+
        ///
        LRegex::MatchPair const first_match(string const & str) const
        {
                regmatch_t tmp;
                regexec(preg, str.c_str(), 1, &tmp, 0);
-               unsigned int const first = tmp.rm_so != -1 ?
-                       static_cast<unsigned int>(tmp.rm_so) : string::npos;
-               unsigned int const second = tmp.rm_eo != -1 ?
-                       static_cast<unsigned int>(tmp.rm_eo) : string::npos;
+               string::size_type const first = tmp.rm_so != -1 ?
+                       tmp.rm_so : string::npos;
+               string::size_type const second = tmp.rm_eo != -1 ?
+                       tmp.rm_eo : string::npos;
                return make_pair(first, second - first);
        }
-       
+
        ///
        string const getError() const
        {
@@ -76,7 +76,7 @@ struct LRegex::Impl {
                delete [] tmp;
                return ret;
        }
-       
+
        ///
        LRegex::SubMatches const & exec(string const & str) const
        {
@@ -91,18 +91,16 @@ struct LRegex::Impl {
                size_t const subs =
                        (preg->re_nsub != 0 ? (preg->re_nsub + 1) : 1);
                regmatch_t * mat = new regmatch_t[subs];
-               unsigned int first = 0;
-               unsigned int second = 0;
+               string::size_type first = 0;
+               string::size_type second = 0;
                matches.erase(matches.begin(), matches.end());
                if (!regexec(preg, str.c_str(), subs, mat, 0)) { // some match
                        matches.reserve(subs);
                        for (size_t i = 0; i < subs; ++i) {
                                first = mat[i].rm_so != -1 ?
-                                       static_cast<unsigned int>
-                                       (mat[i].rm_so) : string::npos;
+                                       mat[i].rm_so : string::npos;
                                second = mat[i].rm_eo != -1 ?
-                                       static_cast<unsigned int>
-                                       (mat[i].rm_eo) : string::npos;
+                                       mat[i].rm_eo : string::npos;
                                matches.push_back(make_pair(first,
                                                            second - first));
                        }