Ticket #3764: basic_regex_parser.3.diff

File basic_regex_parser.3.diff, 1.2 KB (added by Yuriy A. Krasnoschek <aka.rider@…>, 13 years ago)
  • basic_regex_parser.hpp

     
    195195   // Augment error message with the regular expression text:
    196196   //
    197197   if(start_pos == position)
    198       start_pos = (std::max)(static_cast<std::ptrdiff_t>(0), position - 10);
    199    std::ptrdiff_t end_pos = (std::min)(position + 10, m_end - m_base);
     198      start_pos = (std::max)(static_cast<std::ptrdiff_t>(0), position - static_cast<std::ptrdiff_t>(10));
     199   std::ptrdiff_t end_pos = (std::min)(position + static_cast<std::ptrdiff_t>(10), static_cast<std::ptrdiff_t>(m_end - m_base));
    200200   if(error_code != regex_constants::error_empty)
    201201   {
    202202      if((start_pos != 0) || (end_pos != (m_end - m_base)))
     
    16831683      }
    16841684      else
    16851685      {
    1686          std::ptrdiff_t len = (std::min)(static_cast<std::ptrdiff_t>(2), m_end - m_position);
     1686         std::ptrdiff_t len = (std::min)(static_cast<std::ptrdiff_t>(2), static_cast<std::ptrdiff_t>(m_end - m_position));
    16871687         int i = this->m_traits.toi(m_position, m_position + len, 16);
    16881688         if((i < 0)
    16891689            || !valid_value(charT(0), i))