+2006-06-18 [colin] 2.3.0cvs22
+
+ * src/prefs_customheader.c
+ Only allow correct filenames for various
+ custom headers
+
2006-06-18 [colin] 2.3.0cvs21
* src/prefs_customheader.c
( cvs diff -u -r 1.395.2.220 -r 1.395.2.221 src/summaryview.c; ) > 2.3.0cvs19.patchset
( cvs diff -u -r 1.79.2.35 -r 1.79.2.36 src/mh.c; ) > 2.3.0cvs20.patchset
( cvs diff -u -r 1.16.2.19 -r 1.16.2.20 src/prefs_customheader.c; ) > 2.3.0cvs21.patchset
+( cvs diff -u -r 1.16.2.20 -r 1.16.2.21 src/prefs_customheader.c; ) > 2.3.0cvs22.patchset
#define B64_BUFFSIZE 77
static void prefs_custom_header_val_from_file_cb(void)
{
- gchar *filename = filesel_select_file_open(_("Choose file"), NULL);
+ gchar *filename = NULL;
gchar *contents = NULL;
const gchar *hdr = gtk_entry_get_text(GTK_ENTRY(customhdr.hdr_entry));
+ if (!strcmp(hdr, "Face"))
+ filename = filesel_select_file_open_with_filter(_("Choose file"), NULL, "*.png");
+ else if (!strcmp(hdr, "X-Face"))
+ filename = filesel_select_file_open_with_filter(_("Choose file"), NULL, "*.xbm");
+ else
+ filename = filesel_select_file_open_with_filter(_("Choose file"), NULL, "*.txt");
+
if (!strcmp(hdr, "Face") || !strcmp(hdr, "X-Face")) {
if (filename && is_file_exist(filename)) {
FILE *fp = NULL;
fclose(fp);
}
} else {
+ if (!filename)
+ return;
+
contents = file_read_to_str(filename);
if (strchr(contents, '\n') || strchr(contents,'\r')) {
alertpanel_error(_("This file contains newlines."));