kde_file.h vs POSIX headers vs qplatformdefs.h

Aurélien Gâteau agateau at kde.org
Mon Aug 12 17:06:34 UTC 2013


Le vendredi 9 août 2013 21:54:10 David Faure a écrit :
> On Thursday 08 August 2013 16:56:23 Aurélien Gâteau wrote:
> > Hi,
> > 
> > I started working on a kdelibs cleanup task:
> > 
> > "Make use of qplatformdefs.h definitions instead of using the POSIX
> > versions directly. Partly revert that commit, that would port to
> > QFile::Permissions: b03e81a61311ae1b64b0d37415477f9c08fe6142"
> > 
> > I have a few questions however:
> > 
> > 1. I am not exactly sure what "partly revert that commit" means.
> 
> Port back from QFile::Permissions to mode_t given that mode_t is available
> in win32-msvc*/qplatformdefs.h
> 
> (not everywhere, but in the places where the above commits did a half job at
> porting from mode_t to QFile::Permissions).
> 
> QFile::Permissions is more limited (no suid bits) and having to convert
> between mode_t and QFile::Permissions is just extra work.
> 
> The portability issue however is that S_ISDIR(mode) isn't provided on
> Windows, only (mode & QT_STAT_DIR).
> Same for S_ISREG: mode & QT_STAT_REG.

OK, will do this then.
> 
> > Actually, I am wondering if porting to qplatformdefs is the highest
> > priority: the fact we are using POSIX functions right now does not prevent
> > splitting, does it?
> 
> No splitting, no, but it prevents releasing if we use the wrong types in
> public headers (then we can't change that later on). Turns out mode_t is OK,
> but e.g. time_t isn't (hence the porting to QDateTime).

Makes sense.

Aurélien


More information about the Kde-frameworks-devel mailing list