[Bug 190464] New: QByteArray isn't saved in KConfig

Karai Csaba cskarai at freemail.hu
Thu Apr 23 19:46:32 BST 2009


https://bugs.kde.org/show_bug.cgi?id=190464

           Summary: QByteArray isn't saved in KConfig
           Product: kde
           Version: 4.2.2
          Platform: SuSE RPMs
        OS/Version: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
        AssignedTo: unassigned-bugs at kde.org
        ReportedBy: cskarai at freemail.hu


Version:            (using KDE 4.2.2)
OS:                Linux
Installed from:    SuSE RPMs

Hi,

I'm a developer of Krusader, and get into a bug related to saving QByteArray in
KConfig (the problem is, that KConfig doesn't save QByteArray if it already
exists in the config file).

This code helps to reproduce the bug:

Code:
=================

#include <kconfig.h>
#include <kconfiggroup.h>
#include <QtCore/qbytearray.h>
#include <stdio.h>
#include <qapplication.h>

int main( int argc, char **argv )
{
  QApplication app(argc,argv,false);
  KConfig myConfig( "myconfig.rc" );
  KConfigGroup group( &myConfig, "MySection" );

  // 220 chars
  char * mychars = 
"\x00\x00\x00\xff\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
                   
"\x00\x00\x00\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
                   
"\x09\xa8\x01\x00\x00\x00\x04\x00\x00\x00\x08\x00\x00\x00\x64\x00"
                   
"\x00\x00\x07\x00\x00\x00\x64\x00\x00\x00\x05\x00\x00\x00\x64\x00"
                   
"\x00\x00\x03\x00\x00\x00\x64\x00\x00\x01\xcd\x00\x00\x00\x09\x01"
                   
"\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x64"
                   
"\xff\xff\xff\xff\x00\x00\x00\x81\x00\x00\x00\x00\x00\x00\x00\x09"
                   
"\x00\x00\x00\xcf\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x30"
                   
"\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x46\x00\x00\x00\x01"
                   
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
                   
"\x00\x00\x00\x6c\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00"
                   
"\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x01"
                   
"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00"
                    "\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00";

  QByteArray defArr( mychars, 220 );

  printf( "Loading QByteArray...\n" );
  QByteArray myByteArr = group.readEntry( "MyByteArr", defArr );
  printf( "Char read: %d\n", (char)myByteArr[ 9 ] );
  myByteArr[ 9 ] = (char)(myByteArr[ 9 ] + 1);
  printf( "After increment: %d\n", (char)myByteArr[ 9 ] );
  group.writeEntry( "MyByteArr", myByteArr );
  printf( "Writing QByteArray...\n" );
}


Output:
==============================

Char read: 0
After increment: 1
Writing QByteArray...
ckarai at linux-mr5o:~/krusader_kde4_test> krusader/krusader
Loading QByteArray...
Char read: 1
After increment: 2
Writing QByteArray...
ckarai at linux-mr5o:~/krusader_kde4_test> krusader/krusader
Loading QByteArray...
Char read: 1
After increment: 2
Writing QByteArray...
ckarai at linux-mr5o:~/krusader_kde4_test> krusader/krusader
Loading QByteArray...
Char read: 1
After increment: 2


Summary:
===============

At the first time QByteArray is saved properly, but after it isn't.

-- 
Configure bugmail: https://bugs.kde.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the Unassigned-bugs mailing list