diff --git a/Changelog b/Changelog index 4047b6f..f438af4 100644 --- a/Changelog +++ b/Changelog @@ -1,3 +1,9 @@ +2003-09-30 Henning Meier-Geinitz + + * src/xscanimage.c: Make sure that we save only to files with + extension pnm (and similar). Patch from Gerard Klaver + , bug #300239. + 2003-09-24 Henning Meier-Geinitz * README doc/scanadf.man: Changed links to diff --git a/src/xscanimage.c b/src/xscanimage.c index 4256502..3e862aa 100644 --- a/src/xscanimage.c +++ b/src/xscanimage.c @@ -1206,9 +1206,28 @@ static void scan_dialog (GtkWidget * widget, gpointer call_data) { char buf[256]; + char testfilename[256]; if (scan_win.mode == STANDALONE) { /* We are running in standalone mode */ + /* test for pnm formats*/ + strncpy (testfilename, preferences.filename, sizeof (testfilename)); + testfilename [sizeof (testfilename)] = 0; + g_strreverse (testfilename); + if (! ((!strncmp(testfilename,"mnp.",4)) || + (!strncmp(testfilename,"mgp.",4)) || + (!strncmp(testfilename,"mbp.",4)) || + (!strncmp(testfilename,"mpp.",4)) || + (!strncmp(testfilename,"MNP.",4)) || + (!strncmp(testfilename,"MGP.",4)) || + (!strncmp(testfilename,"MBP.",4)) || + (!strncmp(testfilename,"MPP.",4)) )) + { + snprintf (buf, sizeof (buf), "Failed to scan, wrong file extension, use pnm, pgm, pbm or ppm `%s'", + preferences.filename); + gsg_error (buf); + return; + } scan_win.out = fopen (preferences.filename, "w"); if (!scan_win.out) {