manage_window_focus_in(summaryview->window, NULL, NULL);
if (filename && !g_utf8_validate(filename, -1, NULL)) {
- gchar *oldstr = filename;
- filename = conv_codeset_strdup(filename,
+ gchar *converted_filename = conv_codeset_strdup(filename,
conv_get_locale_charset_str(),
CS_UTF_8);
- if (!filename) {
+ if (!converted_filename) {
g_warning("summary_save_as(): failed to convert character set.");
- filename = g_strdup(oldstr);
+ } else {
+ g_free(filename);
+ filename = converted_filename;
}
- dest = filename;
- g_free(filename);
- } else
- dest = filename;
+ }
+
+ dest = filename;
filename = NULL;
if (!dest) return;
if (prefs_common.attach_save_dir && *prefs_common.attach_save_dir)