void ParsedRegexpFilter_base::parse (const Bstr &aFilter) { /// @todo (dmik) parse "rx:<regexp>" string // note, that min/max checks must not be done, when the string // begins with "rx:". These limits are for exact matching only! // empty or null string means any match (see #isMatch() below), // so we don't apply Min/Max restrictions in this case if (!aFilter.isEmpty()) { size_t len = aFilter.length(); if (mMinLen > 0 && len < mMinLen) { mNull = mValid = false; mErrorPosition = len; return; } if (mMaxLen > 0 && len > mMaxLen) { mNull = mValid = false; mErrorPosition = mMaxLen; return; } } mSimple = aFilter; mNull = false; mValid = true; mErrorPosition = 0; }