From: Ben Pfaff Date: Thu, 12 May 2011 05:38:57 +0000 (-0700) Subject: gui: Refactor checking for .sav and .por suffixes. X-Git-Tag: v0.7.9~291 X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b6ff9071cb7359e7d6b06ee01064116117876c16;p=pspp-builds.git gui: Refactor checking for .sav and .por suffixes. It seems reasonable to allow, e.g., .Sav as well as .SAV and .sav, so this does that. It also splits name_has_suffix() into smaller pieces that will individually be used in an upcoming commit. --- diff --git a/src/ui/gui/psppire-data-window.c b/src/ui/gui/psppire-data-window.c index 00efcb6b..0f14179a 100644 --- a/src/ui/gui/psppire-data-window.c +++ b/src/ui/gui/psppire-data-window.c @@ -63,6 +63,7 @@ #include "ui/gui/weight-cases-dialog.h" #include "ui/syntax-gen.h" +#include "gl/c-strcase.h" #include "gl/xvasprintf.h" #include @@ -334,6 +335,26 @@ dump_rm (GtkRecentManager *rm) } #endif +static gboolean +name_has_por_suffix (const gchar *name) +{ + size_t length = strlen (name); + return length > 4 && !c_strcasecmp (&name[length - 4], ".por"); +} + +static gboolean +name_has_sav_suffix (const gchar *name) +{ + size_t length = strlen (name); + return length > 4 && !c_strcasecmp (&name[length - 4], ".sav"); +} + +/* Returns true if NAME has a suffix which might denote a PSPP file */ +static gboolean +name_has_suffix (const gchar *name) +{ + return name_has_por_suffix (name) || name_has_sav_suffix (name); +} static gboolean load_file (PsppireWindow *de, const gchar *file_name) @@ -360,21 +381,6 @@ load_file (PsppireWindow *de, const gchar *file_name) return ok; } -/* Returns true if NAME has a suffix which might denote a PSPP file */ -static gboolean -name_has_suffix (const gchar *name) -{ - if ( g_str_has_suffix (name, ".sav")) - return TRUE; - if ( g_str_has_suffix (name, ".SAV")) - return TRUE; - if ( g_str_has_suffix (name, ".por")) - return TRUE; - if ( g_str_has_suffix (name, ".POR")) - return TRUE; - - return FALSE; -} /* Save DE to file */