pan-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Pan-devel] message/partial support (Update)


From: Jeffrey Stedfast
Subject: Re: [Pan-devel] message/partial support (Update)
Date: 12 May 2002 03:34:50 -0400

n/m, figured it out - there were a few issues actually :-)

1. I was forgetting to check bounds in GMimeStreamCat::read (and also
::write)

2. I was forgetting that not all source streams have to have a
bound_start of 0 (duh!) ;-)

Jeff

On Sun, 2002-05-12 at 00:29, Jeffrey Stedfast wrote:
> I've basically "finished" this, although I may have to change the
> gmime-message-partial.c API a bit. Instead of:
> 
> GMimeMessage *
> g_mime_message_partial_reconstruct_message (GMimeMessagePartial **,
> size_t num);
> 
> I may have to pass in GMimeMessages, since rfc1521 says that I must
> merge the raw headers in the message/partial part with the headers of
> the original message (discluding Content-* headers and maybe a few
> others, I forget).
> 
> 
> now for the Bad News (tm):
> 
> GMimeStreamCat seems to be buggy and I'm having trouble finding the
> problem. I think it has to do with substreaming a Cat stream. When I
> write out the reconstructed message, it seems to write the wrong section
> of the stream for at least one of the parts?
> If I write the Cat stream to a mem stream before parsing it into a
> GMimeMessage, then writing out the resultant message is fine.
> 
> 
> I'll work on this some more tomorrow...
> 
> Jeff
> 
> On Tue, 2002-05-07 at 14:23, Jeffrey Stedfast wrote:
> > I've started hacking this last night and am nearly finished but I'm not
> > sure what the best interface would be for splitting a message into
> > multiple messages containing message/partial parts.
> > 
> > The way I see it, I could either return an array of GMimeMessagePartial
> > parts and leave it up to our caller to construct the GMimeMessages and
> > embed the GMimeMessagePartial parts themselves, or I could return an
> > array of GMimeMessages.
> > 
> > I think I'm leaning toward the second one, but I'm not sure...
> > 
> > In case you're interested in how it will be implemented, the interface
> > will look something like this:
> > 
> > GMimeMessage **g_mime_message_partial_split_message (GMimeMessage
> > *message, size_t max_size, int *nparts);
> > 
> > 'max_size' will be a way to tell GMime that you don't want any mime part
> > to contain any more than max_size bytes of the original message.
> > 'nparts' will be set to the number of parts in the array (which you will
> > have to g_free when you're done with it - the array, not nparts).
> > 
> > 
> > On a related note, has Pan 0.12.x been ported to use GMime2 yet? If not,
> > I might look into working on that in my spare time this week/weekend.
> > 
> > Jeff
> > 
> > 
> > _______________________________________________
> > Pan-devel mailing list
> > address@hidden
> > http://mail.freesoftware.fsf.org/mailman/listinfo/pan-devel
> 
> 
> _______________________________________________
> Pan-devel mailing list
> address@hidden
> http://mail.freesoftware.fsf.org/mailman/listinfo/pan-devel




reply via email to

[Prev in Thread] Current Thread [Next in Thread]