[Kde-pim] mbox resource
Martin Koller
kollix at aon.at
Tue Feb 4 16:09:52 GMT 2014
On Tuesday 04 February 2014 15:51:39 Daniel Vrátil wrote:
> On Monday 03 of February 2014 21:11:37 Martin Koller wrote:
> > Hi,
> >
> > I'm debugging the mbox resource and find a strange thing.
> > When I append a new message from the shell (simulating an external program
> > appending a new message) then SingleFileResourceBase::fileChanged() gets
> > called which in turn lands in MboxResource::writeToFile().
> > There the given filename is a temporary file, e.g.
> > /home/kdetrunk/.kde4/share/apps/akonadi_mbox_resource_0/mbox-1
> > to which the whole current mbox file is copied via mMBox->save( fileName )
> >
> > But then follows something I do not understand.
> > The comment in this file says something like
> > "... Therefore we
> > // copy the original file and append pending changes to it but also add an
> > extra // '\n' to make sure that the hashes differ and the user gets
> > notified. ..."
> >
> > But in fact it destroys what it has just written via
> > QFile file( fileName );
> > file.open( QIODevice::WriteOnly );
> > file.seek( file.size() );
> > file.write( "\n" );
> >
> > QIODevice::WriteOnly is not QIODevice::WriteOnly|QIODevice::Append even with
> > the seek() so I assume that this is simply a bug, right ?
>
> Hi,
>
> I haven't checked the code, but I think that WriteOnly + seek(file.size()) is
> equal to Append, so this should be just fine.
>
It's not.
Try this:
#include <QFile>
int main(int argc, char **argv)
{
QString fileName("/tmp/testfile");
QFile file( fileName );
file.open( QIODevice::WriteOnly );
file.seek( file.size() );
file.write( "\n" );
return 0;
}
--
Best regards/Schöne Grüße
Martin
A: Because it breaks the logical sequence of discussion
Q: Why is top posting bad?
() ascii ribbon campaign - against html e-mail
/\ www.asciiribbon.org - against proprietary attachments
Geschenkideen, Accessoires, Seifen, Kulinarisches: www.bibibest.at
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list