summaryrefslogtreecommitdiff
path: root/navit/gui
diff options
context:
space:
mode:
authormdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2014-08-11 20:05:03 +0000
committermdankov <mdankov@ffa7fe5e-494d-0410-b361-a75ebd5db220>2014-08-11 20:05:03 +0000
commitadd9a364617e2b6914ac37816f81a34e4740a8fc (patch)
tree40aa877969ffd2331450b9ca8405f2c0e68b688e /navit/gui
parentb908150d40a03125d1dda3d0b04c54333b8c0d95 (diff)
downloadnavit-svn-add9a364617e2b6914ac37816f81a34e4740a8fc.tar.gz
FIX:gui/internal:Made gui_internal.txt (user settings file) overwrite working on systems where rename() fails if newname already exists, esp. Win32.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5856 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/gui')
-rw-r--r--navit/gui/internal/gui_internal.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/navit/gui/internal/gui_internal.c b/navit/gui/internal/gui_internal.c
index 5b0a8c67..f426c033 100644
--- a/navit/gui/internal/gui_internal.c
+++ b/navit/gui/internal/gui_internal.c
@@ -34,6 +34,9 @@
#include <glib.h>
#include <time.h>
#include "config.h"
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
#ifdef HAVE_API_WIN32_BASE
#include <windows.h>
#endif
@@ -1728,6 +1731,7 @@ gui_internal_set(char *remove, char *add)
if (add)
fprintf(fo,"%s;\n",add);
fclose(fo);
+ unlink(gui_file);
ret=(rename(gui_file_new, gui_file)==0);
g_free(gui_file_new);
g_free(gui_file);