comparison libpurple/core.c @ 16490:dec693050305

Proper error checking on fwrite() call
author Sean Egan <seanegan@gmail.com>
date Fri, 27 Apr 2007 03:41:50 +0000
parents f6acb38ae250
children 478bc85c4aec
comparison
equal deleted inserted replaced
16489:1dc138345d15 16490:dec693050305
308 } 308 }
309 309
310 gboolean 310 gboolean
311 purple_core_migrate(void) 311 purple_core_migrate(void)
312 { 312 {
313 #error This code wants to migrate your .gaim directory to .purple. It is strongly suggested that you back .gaim up before proceeding. 313 #error You probably want to back up your .gaim directory right now. This revision is going to destroy it, potentially not in the way we've intended
314 const char *user_dir = purple_user_dir(); 314 const char *user_dir = purple_user_dir();
315 char *old_user_dir = g_strconcat(purple_home_dir(), 315 char *old_user_dir = g_strconcat(purple_home_dir(),
316 G_DIR_SEPARATOR_S ".gaim", NULL); 316 G_DIR_SEPARATOR_S ".gaim", NULL);
317 char *status_file; 317 char *status_file;
318 FILE *fp; 318 FILE *fp;
595 g_free(status_file); 595 g_free(status_file);
596 g_free(old_user_dir); 596 g_free(old_user_dir);
597 return FALSE; 597 return FALSE;
598 } 598 }
599 599
600 if (!fwrite(buf, size, 1, new_file)) 600 if (!fwrite(buf, size, 1, new_file) && ferror(new_file) != 0)
601 { 601 {
602 purple_debug_error("core", "Error writing %s: %s\n", 602 purple_debug_error("core", "Error writing %s: %s\n",
603 new_name, strerror(errno)); 603 new_name, strerror(errno));
604 fclose(new_file); 604 fclose(new_file);
605 fclose(fp); 605 fclose(fp);