diff --git a/mbuni/mmsbox/mmsbox.c b/mbuni/mmsbox/mmsbox.c index 0643887..43ef4e3 100644 --- a/mbuni/mmsbox/mmsbox.c +++ b/mbuni/mmsbox/mmsbox.c @@ -204,20 +204,22 @@ done: List *ph = get_value_parameters(q); Octstr *v = http_header_value(ph, octstr_imm("name")); - if (v) { - octstr_format_append(cd, "; filename=\"%S\"", v); - http_header_remove_all(ph, "name"); - + if (!v) /* make up a fake name. */ + v = octstr_format("%S-file", pm->name); + + octstr_format_append(cd, "; filename=\"%S\"", v); + http_header_remove_all(ph, "name"); + + octstr_destroy(v); + octstr_destroy(ctype); + v = make_value_parameters(ph); + if (v && octstr_len(v) > 0) + ctype = octstr_format("%S; %S", c, v); + else + ctype = octstr_duplicate(c); + if (v) octstr_destroy(v); - octstr_destroy(ctype); - v = make_value_parameters(ph); - if (v && octstr_len(v) > 0) - ctype = octstr_format("%S; %S", c, v); - else - ctype = octstr_duplicate(c); - if (v) - octstr_destroy(v); - } + http_destroy_headers(ph); octstr_destroy(q); }