--- a/src/list.c Tue Mar 25 06:26:24 2003 +0000 +++ b/src/list.c Tue Mar 25 06:35:45 2003 +0000 @@ -1211,6 +1211,7 @@ FILE *file; char *user_dir = gaim_user_dir(); char *filename; + char *filename_real; if(!user_dir) return; @@ -1225,7 +1226,7 @@ else fclose(file); - filename = g_build_filename(user_dir, "blist.xml", NULL); + filename = g_build_filename(user_dir, "blist.xml.save", NULL); if((file = fopen(filename, "w"))) { gaim_blist_write(file, NULL); @@ -1235,7 +1236,14 @@ debug_printf("unable to write %s\n", filename); } + filename_real = g_build_filename(user_dir, "blist.xml", NULL); + + if(rename(filename, filename_real) < 0) + debug_printf("error renaming %s to %s\n", filename, filename_real); + + g_free(filename); + g_free(filename_real); } gboolean gaim_privacy_permit_add(struct gaim_account *account, const char *who) {