kdelibs kstandarddirs_win.cpp wrong and useless ?
Christian Ehrlicher
Ch.Ehrlicher at gmx.de
Sun Jan 4 16:29:03 CET 2009
Alexander Neundorf schrieb:
> On Sunday 04 January 2009, you wrote:
>> Alexander Neundorf schrieb:
>>> Hi,
>>>
>>> I just had a look at kdelibs/kdecore/kernel/kstandarddirs_win.cpp, it
>>> contains only one function, which is
>>> QString KStandardDirs::installPath(const char *type);
>>>
>>> This is what you see if you execute "kde4-config --install lib" or
>>> something else instead "lib".
>>>
>>> Why are the directories hardcoded ? Isn't this wrong if they are set to
>>> something else ? I think kstandarddirs_unix.cpp should be just fine also
>>> for Windows.
>>>
>>> Can somebody please check ?
>> What do you think is hardcoded there?
>
> Not the install prefix, but the subdir:
>
> case 'e':
> if (strcmp("exe", type) == 0)
> return prefix() + QLatin1String("bin/");
> break;
>
> instead of using BIN_INSTALL_DIR from config.h.
> Could be instead:
>
> // small helper function
> QString makeAbsolute(const QString& dir)
> {
> QString tmp = dir;
> if (!QDir::isAbsolute(tmp))
> {
> #if WINDOWS
> tmp = getKde4Prefix() + tmp;
> #else
> tmp = QString::fromLatin1(KDEDIR "/") + tmp;
> #endif
> }
> return tmp;
> }
>
> ...
> case 'e':
> if (strcmp("exe", type) == 0)
> return makeAbsolute(QString::fromLatin1(BIN_INSTALL_DIR "/");
> break;
>
>
> What do you think ?
>
If you want feel free to merge. Looks like the seeparation was done once
we had absolute paths on windows too.
But I wouldn't use QDir::isAbsolute(). On windows it's never absolute
and on linux it should be faster to check for '/' only.
-->
inline QString makeAbsolute(const QString& dir)
{
#ifdef Q_WS_WIN
return getKde4Prefix() + tmp;
#else
if(dir.startsWith('/'))
return dir;
return KDEDIR + QLatin1Char('/') + dir;
#endif
}
Christian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 258 bytes
Desc: OpenPGP digital signature
Url : http://mail.kde.org/pipermail/kde-windows/attachments/20090104/67ee983c/attachment.sig
More information about the Kde-windows
mailing list