# HG changeset patch # User Timo Sirainen # Date 1041022631 -7200 # Node ID 375923d2f91079b95eeeae0a0740a539c5ee32f6 # Parent 7498eab8903faf6aabb2f63b924cdd87a7d3544b BODYSTRUCTURE reply was incorrect. pine didn't like it. diff -r 7498eab8903f -r 375923d2f910 src/lib-imap/imap-bodystructure.c --- a/src/lib-imap/imap-bodystructure.c Fri Dec 27 22:33:46 2002 +0200 +++ b/src/lib-imap/imap-bodystructure.c Fri Dec 27 22:57:11 2002 +0200 @@ -179,7 +179,7 @@ parse_save_params_list, part_data); part_data->content_type_params = - p_strdup(pool, str_c(part_data->str)); + p_strdup_empty(pool, str_c(part_data->str)); } else if (strcasecmp(name, "Content-Transfer-Encoding") == 0 && part_data->content_transfer_encoding == NULL) { (void)message_content_parse_header(t_strndup(value, value_len), @@ -201,7 +201,7 @@ parse_save_params_list, part_data); part_data->content_disposition_params = - p_strdup(pool, str_c(part_data->str)); + p_strdup_empty(pool, str_c(part_data->str)); } else if (strcasecmp(name, "Content-Language") == 0) { (void)message_content_parse_header(t_strndup(value, value_len), parse_content_language, NULL, @@ -283,8 +283,12 @@ else { str_append_c(str, '('); str_append(str, data->content_disposition); - if (data->content_disposition_params != NULL) { - str_append(str, " ("); + str_append_c(str, ' '); + + if (data->content_disposition_params == NULL) + str_append(str, "NIL"); + else { + str_append_c(str, '('); str_append(str, data->content_disposition_params); str_append_c(str, ')'); } @@ -374,13 +378,17 @@ else { str_append_c(str, '('); str_append(str, data->content_disposition); - str_append_c(str, ')'); + str_append_c(str, ' '); - if (data->content_disposition_params != NULL) { - str_append(str, " ("); + if (data->content_disposition_params == NULL) + str_append(str, "NIL"); + else { + str_append_c(str, '('); str_append(str, data->content_disposition_params); str_append_c(str, ')'); } + + str_append_c(str, ')'); } str_append_c(str, ' '); @@ -438,7 +446,7 @@ return part_get_bodystructure(*part, extended); } -static int imap_write_list(ImapArg *args, String *str) +static int imap_write_list(const ImapArg *args, String *str) { /* don't do any typechecking, just write it out */ str_append_c(str, '('); @@ -471,7 +479,7 @@ return TRUE; } -static int imap_parse_bodystructure_args(ImapArg *args, String *str) +static int imap_parse_bodystructure_args(const ImapArg *args, String *str) { ImapArg *subargs; int i, multipart, text, message_rfc822;