Changes between Initial Version and Version 1 of Ticket #31


Ignore:
Timestamp:
Sep 14, 2006, 7:06:14 PM (18 years ago)
Author:
dmik
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #31

    • Property Status changed from new to assigned
    • Property Summary changed from qfile_pm.cpp minor change to QFile::isValidFile() doesn't work correctly for filenames with national characters
    • Property Version changed from to 3.3.1-rc06
    • Property Milestone changed from to qt-os2-3.3.1-rc07
    • Property Keywords QFile national characters added
  • Ticket #31 – Description

    initial v1  
    44Перед этим для приведения fileName[i] к char неявно вызывается метод latin1(), который для символов в уникоде (>0xFF) возвращает 0. Но согласно спецификации strchr() 0 это допустимы символ для поиска и более того конец строки '\0' также включается в поиск. В результате имеем FALSE для всех имён с национальными символами.
    55Вот исправление:
     6{{{
    67    for ( int i = 0; i < (int) fileName.length(); i++) {
    78        if ( fileName[i] < QChar( 32 ) )
     
    1213            return FALSE;
    1314    }
    14 
     15}}}
    1516Или можно заменить strchr() strnchr()
    1617