2003-06-16  Not Zed  <NotZed@Ximian.com>

	** See bug #44322

	* providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
	If we are outputting a folder name, make sure we calculate buffer
	size based on the raw/utf7 version

	** See bug #44121

	* camel-multipart-signed.c (signed_get_part): If we can't parse
	the content, but we have a stream, just use that as the content.

svn path=/trunk/; revision=21454
This commit is contained in:
Not Zed
2003-06-17 03:20:59 +00:00
committed by Michael Zucci
parent cec1fb093d
commit 5c4fa91212
3 changed files with 23 additions and 7 deletions

View File

@ -1,3 +1,16 @@
2003-06-16 Not Zed <NotZed@Ximian.com>
** See bug #44322
* providers/imap/camel-imap-command.c (imap_command_strdup_vprintf):
If we are outputting a folder name, make sure we calculate buffer
size based on the raw/utf7 version
** See bug #44121
* camel-multipart-signed.c (signed_get_part): If we can't parse
the content, but we have a stream, just use that as the content.
2003-06-05 Jeffrey Stedfast <fejj@ximian.com>
Fix for bug #40788.

View File

@ -334,13 +334,16 @@ signed_get_part(CamelMultipart *multipart, guint index)
return NULL;
} else if (dw->stream == NULL) {
return NULL;
} else if (mps->start1 == -1) {
stream = dw->stream;
camel_object_ref(stream);
} else {
stream = camel_seekable_substream_new((CamelSeekableStream *)dw->stream, mps->start1, mps->end1);
}
camel_stream_reset(stream);
mps->content = camel_mime_part_new();
camel_data_wrapper_construct_from_stream((CamelDataWrapper *)mps->content, stream);
camel_object_unref((CamelObject *)stream);
camel_object_unref(stream);
return mps->content;
case CAMEL_MULTIPART_SIGNED_SIGNATURE:
if (mps->signature)

View File

@ -699,7 +699,7 @@ imap_command_strdup_vprintf (CamelImapStore *store, const char *fmt,
const char *p, *start;
char *out, *outptr, *string;
int num, len, i, arglen;
args = g_ptr_array_new ();
/* Determine the length of the data */
@ -726,6 +726,11 @@ imap_command_strdup_vprintf (CamelImapStore *store, const char *fmt,
case 'S':
case 'F':
string = va_arg (ap, char *);
if (*p == 'F') {
/* NB: this is freed during output */
char *s = camel_imap_store_summary_full_from_path(store->summary, string);
string = s?s:camel_utf8_utf7(string);
}
arglen = strlen (string);
g_ptr_array_add (args, string);
if (imap_is_atom (string)) {
@ -776,11 +781,6 @@ imap_command_strdup_vprintf (CamelImapStore *store, const char *fmt,
case 'S':
case 'F':
string = args->pdata[i++];
if (*p == 'F') {
char *s = camel_imap_store_summary_full_from_path(store->summary, string);
string = s?s:camel_utf8_utf7(string);
}
if (imap_is_atom (string)) {
outptr += sprintf (outptr, "%s", string);
} else {