# HG changeset patch # User Nathan Walp # Date 1048574145 0 # Node ID cfa045006bec9b9f4e4d0c0f4e400a3123ea17c1 # Parent 89cb14edf8cfe3e24bf4c484e50b1c72b129e0aa [gaim-migrate @ 5221] this saves the blist.xml file to an alternate name, and then moves it, that way we don't lose your precious buddies if gaim crashes. Of course, if gaim were to crash, it wouldn't be gaim's fault, it would be the fault of some external force. This is because gaim is perfect, and Sean is perfect. Yeah. This should be done for .gaimrc too, but i'm too tired to do that right now. committer: Tailor Script diff -r 89cb14edf8cf -r cfa045006bec src/list.c --- 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) {