This is a multi-part message in MIME format. --------------080001060002050004070103 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Thiago Macieira schrieb: > Ralf Habacker wrote: > >> But - now the main question - is anyone from the trolltech devs here who >> can ensure that such a patch would be accepted ? >> > > Yes. > > Everybody laughed at lunch when I explained the number of classes it had > to go through just to do some string comparisons (on Unix, to look at the > first character). > > Depending on the size of the patch, I'll push it to Qt 4.4. > > The patch is appended. It adds static bool QFileInfo::isAbsolute(const QString &path); static bool QFileInfo::isRelative(const QString &path); and fixes static bool QDir::isAbsolutePath(const QString &path); static bool QDir::isRelativePath(const QString &path); all the above mentioned methods are based on static bool QFSFileEngine:isAbsolutePath(const QString &path); static bool QFSFileEngine::isRelative(const QString &path); which makes the internal string compare functions accesable PS: I have not thoughed the non static related member methods Regards Ralf --------------080001060002050004070103 Content-Type: text/plain; name="qt-corelib-isAbsolutePath.patch" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="qt-corelib-isAbsolutePath.patch" SW5kZXg6IGNvcmVsaWIvaW8vcWRpci5jcHANCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLSBjb3JlbGli L2lvL3FkaXIuY3BwCShyZXZpc2lvbiA3ODM1MDgpDQorKysgY29yZWxpYi9pby9xZGlyLmNw cAkod29ya2luZyBjb3B5KQ0KQEAgLTIxNjAsNyArMjE2MCw3IEBADQogCiBib29sIFFEaXI6 OmlzUmVsYXRpdmVQYXRoKGNvbnN0IFFTdHJpbmcgJnBhdGgpCiB7Ci0gICAgcmV0dXJuIFFG aWxlSW5mbyhwYXRoKS5pc1JlbGF0aXZlKCk7CisgICAgcmV0dXJuIFFGU0ZpbGVFbmdpbmU6 OmlzUmVsYXRpdmVQYXRoKHBhdGgpOwogfQogCiAvKiEKSW5kZXg6IGNvcmVsaWIvaW8vcWZp bGVpbmZvLmNwcA0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQ0KLS0tIGNvcmVsaWIvaW8vcWZpbGVpbmZvLmNw cAkocmV2aXNpb24gNzgzNTA4KQ0KKysrIGNvcmVsaWIvaW8vcWZpbGVpbmZvLmNwcAkod29y a2luZyBjb3B5KQ0KQEAgLTcwNiw3ICs3MDYsMTggQEANCiAgICAgcmV0dXJuIGQtPmRhdGEt PmZpbGVFbmdpbmUtPmlzUmVsYXRpdmVQYXRoKCk7CiB9CiAKKy8qIQorICAgIFJldHVybnMg dHJ1ZSBpZiBcYSBwYXRoIGlzIHJlbGF0aXZlOyByZXR1cm5zIGZhbHNlIGlmIGl0IGlzCisg ICAgYWJzb2x1dGUuCiAKKyAgICBcc2EgaXNBYnNvbHV0ZSgpCisqLworCitib29sIFFGaWxl SW5mbzo6aXNSZWxhdGl2ZShjb25zdCBRU3RyaW5nICZwYXRoKQoreworICAgIHJldHVybiBR RlNGaWxlRW5naW5lOjppc1JlbGF0aXZlUGF0aChwYXRoKTsKK30KKwogLyohCiAgICAgQ29u dmVydHMgdGhlIGZpbGUncyBwYXRoIHRvIGFuIGFic29sdXRlIHBhdGggaWYgaXQgaXMgbm90 IGFscmVhZHkgaW4gdGhhdCBmb3JtLgogICAgIFJldHVybnMgdHJ1ZSB0byBpbmRpY2F0ZSB0 aGF0IHRoZSBwYXRoIHdhcyBjb252ZXJ0ZWQ7IG90aGVyd2lzZSByZXR1cm5zIGZhbHNlCklu ZGV4OiBjb3JlbGliL2lvL3FmaWxlaW5mby5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0gY29yZWxp Yi9pby9xZmlsZWluZm8uaAkocmV2aXNpb24gNzgzNTA4KQ0KKysrIGNvcmVsaWIvaW8vcWZp bGVpbmZvLmgJKHdvcmtpbmcgY29weSkNCkBAIC0xMzIsNiArMTMyLDkgQEANCiAgICAgYm9v bCBjYWNoaW5nKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRDYWNoaW5nKGJvb2wgb24pOwogCisg ICAgc3RhdGljIGJvb2wgaXNSZWxhdGl2ZShjb25zdCBRU3RyaW5nICZwYXRoKTsKKyAgICBz dGF0aWMgaW5saW5lIGJvb2wgaXNBYnNvbHV0ZShjb25zdCBRU3RyaW5nICZwYXRoKSB7IHJl dHVybiAhaXNSZWxhdGl2ZShwYXRoKTsgfQorCiAjaWZkZWYgUVQzX1NVUFBPUlQKICAgICBl bnVtIFBlcm1pc3Npb24gewogICAgICAgICBSZWFkT3duZXIgPSBRRmlsZTo6UmVhZE93bmVy LCBXcml0ZU93bmVyID0gUUZpbGU6OldyaXRlT3duZXIsIEV4ZU93bmVyID0gUUZpbGU6OkV4 ZU93bmVyLApJbmRleDogY29yZWxpYi9pby9xZnNmaWxlZW5naW5lLmgNCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCi0tLSBjb3JlbGliL2lvL3Fmc2ZpbGVlbmdpbmUuaAkocmV2aXNpb24gNzgzNTA4KQ0K KysrIGNvcmVsaWIvaW8vcWZzZmlsZWVuZ2luZS5oCSh3b3JraW5nIGNvcHkpDQpAQCAtMTA3 LDcgKzEwNyw4IEBADQogICAgIHN0YXRpYyBRU3RyaW5nIHJvb3RQYXRoKCk7CiAgICAgc3Rh dGljIFFTdHJpbmcgdGVtcFBhdGgoKTsKICAgICBzdGF0aWMgUUZpbGVJbmZvTGlzdCBkcml2 ZXMoKTsKLQorICAgIHN0YXRpYyBib29sIGlzUmVsYXRpdmVQYXRoKGNvbnN0IFFTdHJpbmcg JnBhdGgpOworICAgIHN0YXRpYyBpbmxpbmUgYm9vbCBpc0Fic29sdXRlUGF0aChjb25zdCBR U3RyaW5nICZwYXRoKSB7IHJldHVybiAhaXNSZWxhdGl2ZVBhdGgocGF0aCk7IH0KIHByb3Rl Y3RlZDoKICAgICBRRlNGaWxlRW5naW5lKFFGU0ZpbGVFbmdpbmVQcml2YXRlICZkZCk7CiB9 OwpJbmRleDogY29yZWxpYi9pby9xZnNmaWxlZW5naW5lX3VuaXguY3BwDQo9PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQotLS0gY29yZWxpYi9pby9xZnNmaWxlZW5naW5lX3VuaXguY3BwCShyZXZpc2lvbiA3 ODM1MDgpDQorKysgY29yZWxpYi9pby9xZnNmaWxlZW5naW5lX3VuaXguY3BwCSh3b3JraW5n IGNvcHkpDQpAQCAtODI1LDYgKzgyNSwxMyBAQA0KICAgICByZXR1cm4gZC0+ZmlsZVBhdGhb MF0gIT0gUUxhdGluMUNoYXIoJy8nKTsKIH0KIAorYm9vbCBRRlNGaWxlRW5naW5lOjppc1Jl bGF0aXZlUGF0aChjb25zdCBRU3RyaW5nICZwYXRoKQoreworICAgIGlmIChwYXRoLnNpemUo KSA9PSAwKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4gcGF0aFswXSAhPSBR TGF0aW4xQ2hhcignLycpOworfQorCiB1aW50IFFGU0ZpbGVFbmdpbmU6Om93bmVySWQoRmls ZU93bmVyIG93bikgY29uc3QKIHsKICAgICBRX0QoY29uc3QgUUZTRmlsZUVuZ2luZSk7Cklu ZGV4OiBjb3JlbGliL2lvL3Fmc2ZpbGVlbmdpbmVfd2luLmNwcA0KPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K LS0tIGNvcmVsaWIvaW8vcWZzZmlsZWVuZ2luZV93aW4uY3BwCShyZXZpc2lvbiA3ODM1MDgp DQorKysgY29yZWxpYi9pby9xZnNmaWxlZW5naW5lX3dpbi5jcHAJKHdvcmtpbmcgY29weSkN CkBAIC0xOTMzLDYgKzE5MzMsMTQgQEANCiAgICAgICAgIHx8IChkLT5maWxlUGF0aC5hdCgw KSA9PSBRTGF0aW4xQ2hhcignLycpICYmIGQtPmZpbGVQYXRoLmF0KDEpID09IFFMYXRpbjFD aGFyKCcvJykpKSkpOyAgICAgICAgICAgICAgICAvLyBkcml2ZSwgZS5nLiBhOgogfQogCiti b29sIFFGU0ZpbGVFbmdpbmU6OmlzUmVsYXRpdmVQYXRoKGNvbnN0IFFTdHJpbmcgJnBhdGgp Cit7CisgICAgcmV0dXJuICEocGF0aC5zdGFydHNXaXRoKFFMYXRpbjFDaGFyKCcvJykpCisg ICAgICAgICAgIHx8IHBhdGguc3RhcnRzV2l0aChRTGF0aW4xQ2hhcignXFwnKSkKKyAgICAg ICAgICAgfHwgKHBhdGgubGVuZ3RoKCkgPj0gMiAmJgorICAgICAgICAgICAgKCAocGF0aC5h dCgwKS5pc0xldHRlcigpICYmIHBhdGguYXQoMSkgPT0gUUxhdGluMUNoYXIoJzonKSkpKSk7 Cit9CisKIC8qIQogICAgIFxyZWltcAogKi8K --------------080001060002050004070103--