diff options
author | Alberto Mardegan <mardy@users.sourceforge.net> | 2013-04-02 18:46:41 +0300 |
---|---|---|
committer | Alberto Mardegan <mardy@users.sourceforge.net> | 2013-04-02 19:55:44 +0300 |
commit | 2f759f52e12e2e065f6022797dc51106a7093899 (patch) | |
tree | c0c4c6ec66f6ce3e774d6b5545d28d3fcb4b5023 | |
parent | 40e3671bd2656be9657abe8c6d955cef612805c5 (diff) | |
download | subsurface-2f759f52e12e2e065f6022797dc51106a7093899.tar.gz |
Move set_filename() calls outside of parse_file()
Remove the boolean parameter from parse_file; the code is more readable
by having an explicit call to set_filename() where necessary, rather
than a boolean parameter.
Signed-off-by: Alberto Mardegan <mardy@users.sourceforge.net>
-rw-r--r-- | dive.h | 2 | ||||
-rw-r--r-- | file.c | 12 | ||||
-rw-r--r-- | main.c | 10 | ||||
-rw-r--r-- | qt-gui.cpp | 5 |
4 files changed, 12 insertions, 17 deletions
@@ -555,7 +555,7 @@ extern void set_filename(const char *filename, gboolean force); extern int parse_dm4_buffer(const char *url, const char *buf, int size, struct dive_table *table, GError **error); -extern void parse_file(const char *filename, GError **error, gboolean possible_default_filename); +extern void parse_file(const char *filename, GError **error); extern void show_dive_info(struct dive *); @@ -263,7 +263,7 @@ static void parse_file_buffer(const char *filename, struct memblock *mem, GError parse_xml_buffer(filename, mem->buffer, mem->size, &dive_table, error); } -void parse_file(const char *filename, GError **error, gboolean possible_default_filename) +void parse_file(const char *filename, GError **error) { struct memblock mem; #ifdef SQLITE3 @@ -283,19 +283,9 @@ void parse_file(const char *filename, GError **error, gboolean possible_default_ filename); } - /* - * We do *not* want to leave the old default_filename - * just because the open failed. - */ - if (possible_default_filename) - set_filename(filename, TRUE); - return; } - if (possible_default_filename) - set_filename(filename, TRUE); - #ifdef SQLITE3 fmt = strrchr(filename, '.'); if (fmt && (!strcasecmp(fmt + 1, "DB") || !strcasecmp(fmt + 1, "BAK"))) { @@ -348,8 +348,12 @@ int main(int argc, char **argv) /* if we have exactly one filename, parse_file will set * that to be the default. Otherwise there will be no default filename */ set_filename(NULL, TRUE); - parse_file(a, &error, no_filenames); - no_filenames = FALSE; + parse_file(a, &error); + if (no_filenames) + { + set_filename(a, TRUE); + no_filenames = FALSE; + } if (error != NULL) { report_error(error); @@ -360,7 +364,7 @@ int main(int argc, char **argv) if (no_filenames) { GError *error = NULL; const char *filename = prefs.default_filename; - parse_file(filename, &error, TRUE); + parse_file(filename, &error); /* don't report errors - this file may not exist, but make sure we remember this as the filename in use */ set_filename(filename, FALSE); diff --git a/qt-gui.cpp b/qt-gui.cpp index 0fbcf2555..2e3f2c903 100644 --- a/qt-gui.cpp +++ b/qt-gui.cpp @@ -348,7 +348,8 @@ static void file_open(GtkWidget *w, gpointer data) GError *error = NULL; filename = (char *)fn_glist->data; - parse_file(filename, &error, TRUE); + parse_file(filename, &error); + set_filename(filename, TRUE); if (error != NULL) { report_error(error); @@ -2236,7 +2237,7 @@ static GtkWidget *dive_profile_widget(void) static void do_import_file(gpointer data, gpointer user_data) { GError *error = NULL; - parse_file((const char *)data, &error, FALSE); + parse_file((const char *)data, &error); if (error != NULL) { |