Georg,

common_path in support/os_win32.C triggers an assertion in uppercase(), because not all characters are < 0x80.

Any idea how to fix this properly? What happens (in worst case) if we remove the assertion in uppercase()?

Michael



string::size_type common_path(string const & p1, string const & p2)
{
       string::size_type i = 0;
       string::size_type       p1_len = p1.length();
       string::size_type       p2_len = p2.length();
while (i < p1_len && i < p2_len && uppercase(p1[i]) == uppercase(p2[i]))
               ++i;
       if ((i < p1_len && i < p2_len)
           || (i < p1_len && p1[i] != '/' && i == p2_len)
           || (i < p2_len && p2[i] != '/' && i == p1_len))
       {
               if (i)
                       --i;     // here was the last match
               while (i && p1[i] != '/')
                       --i;
       }
       return i;
}

Reply via email to