}
void
-chanopt_save_all (void)
+chanopt_save_all (gboolean flush)
{
int i;
int num_saved;
}
cont:
- g_free (co->network);
- g_free (co->channel);
- g_free (co);
+ if (flush)
+ {
+ g_free (co->network);
+ g_free (co->channel);
+ g_free (co);
+ }
}
close (fh);
- g_slist_free (chanopt_list);
- chanopt_list = NULL;
+ if (flush)
+ {
+ g_slist_free (chanopt_list);
+ chanopt_list = NULL;
+ }
chanopt_open = FALSE;
chanopt_changed = FALSE;
int chanopt_command (session *sess, char *tbuf, char *word[], char *word_eol[]);
gboolean chanopt_is_set (unsigned int global, guint8 per_chan_setting);
-void chanopt_save_all (void);
+void chanopt_save_all (gboolean flush);
void chanopt_save (session *sess);
void chanopt_load (session *sess);
notify_save ();
ignore_save ();
free_sessions ();
- chanopt_save_all ();
+ chanopt_save_all (TRUE);
servlist_cleanup ();
fe_exit ();
}
/* chanopt.c */
ret = chanopt_command (sess, tbuf, word, word_eol);
- chanopt_save_all ();
+ chanopt_save_all (FALSE);
return ret;
}
log_open_or_close (sess);
chanopt_save (sess);
- chanopt_save_all ();
+ chanopt_save_all (FALSE);
}
static void