Changes between Initial Version and Version 1 of Ticket #31
- Timestamp:
- Sep 14, 2006, 7:06:14 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Ticket #31
-
Property
Status
changed from
new
toassigned
-
Property
Summary
changed from
qfile_pm.cpp minor change
toQFile::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
-
Property
Status
changed from
-
Ticket #31 – Description
initial v1 4 4 Перед этим для приведения fileName[i] к char неявно вызывается метод latin1(), который для символов в уникоде (>0xFF) возвращает 0. Но согласно спецификации strchr() 0 это допустимы символ для поиска и более того конец строки '\0' также включается в поиск. В результате имеем FALSE для всех имён с национальными символами. 5 5 Вот исправление: 6 {{{ 6 7 for ( int i = 0; i < (int) fileName.length(); i++) { 7 8 if ( fileName[i] < QChar( 32 ) ) … … 12 13 return FALSE; 13 14 } 14 15 }}} 15 16 Или можно заменить strchr() strnchr() 16 17