[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: KConfigGroup read/write bug for QByteArray
From: Thiago Macieira <thiago () kde ! org>
Date: 2007-09-17 6:39:29
Message-ID: 200709170839.48157.thiago () kde ! org
[Download RAW message or body]
Matt Rogers wrote:
>On Sunday 16 September 2007 20:39, David Jarvie wrote:
>> On Sunday 16 September 2007 14:41:28 Matt Rogers wrote:
>> > On Sunday 16 September 2007 07:41, David Jarvie wrote:
>> > > Using KConfigGroup::writeEntry() to write a QByteArray and then
>> > > KConfigGroup::readEntry() to read it back in again can result in a
>> > > value which is different from the original value, because the
>> > > value written to the config file is converted to UTF8 when it is
>> > > read back, so that all byte values >= 0x7F are changed to
>> > > multi-byte values.
>> > >
>> > > If this is the desired behaviour (which I doubt), it's difficult
>> > > to convert back from UTF8 since calling QString::fromUtf8
>> > > truncates the value as soon as it encounters a null byte. In data
>> > > arrays, null bytes are common.
>> >
>> > Can you provide a patch? Then we can discuss your proposal based on
>> > the technical merits of it rather than just sitting in our chairs
>> > wondering to ourselves how it would actually work and whether or not
>> > we'd like it.
>>
>> It turns out that the bug actually lies in KConfigGroup::writeEntry(),
>> and that all that is required is for a QByteArray not to be converted
>> to UTF8 before being written. I attach a patch to fix it, and to add a
>> test case to the unit test.
>
>Looks fine to me. I think this can be committed.
Makes sense to me too. The lowest level should be a QByteArray, since
KConfig is supposed to store binary data.
--
Thiago Macieira - thiago (AT) macieira.info - thiago (AT) kde.org
PGP/GPG: 0x6EF45358; fingerprint:
E067 918B B660 DBD1 105C 966C 33F5 F005 6EF4 5358
["signature.asc" (application/pgp-signature)]
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic