[dovecot-cvs] dovecot/src/lib-imap imap-bodystructure.c,1.22,1.23
cras at procontrol.fi
cras at procontrol.fi
Fri Dec 27 22:57:13 EET 2002
Update of /home/cvs/dovecot/src/lib-imap
In directory danu:/tmp/cvs-serv23448
Modified Files:
imap-bodystructure.c
Log Message:
BODYSTRUCTURE reply was incorrect. pine didn't like it.
Index: imap-bodystructure.c
===================================================================
RCS file: /home/cvs/dovecot/src/lib-imap/imap-bodystructure.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- imap-bodystructure.c 21 Dec 2002 22:02:58 -0000 1.22
+++ imap-bodystructure.c 27 Dec 2002 20:57:11 -0000 1.23
@@ -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;
More information about the dovecot-cvs
mailing list