KConfigGroup read/write bug for QByteArray

Matt Rogers mattr at kde.org
Mon Sep 17 03:48:07 BST 2007


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.
-- 
Matt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20070916/b1ca61bf/attachment.sig>


More information about the kde-core-devel mailing list