Changeset 5b52a48 for irc.c


Ignore:
Timestamp:
2006-07-03T21:22:45Z (13 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
7e3592e
Parents:
911f2eb
Message:

Implemented per-account nick lists instead of per-protocol nick lists.
nick_t is dead, instead nicks are just saves in a per-account_t GLib
hash table. While doing this, the import_buddies command finally died
and text_save() disappeared, because the old file format can't handle
most of the new features in this branch anyway.

Still have to implement support for the new nick lists in text_load()!

File:
1 edited

Legend:

Unmodified
Added
Removed
  • irc.c

    r911f2eb r5b52a48  
    204204void irc_free(irc_t * irc)
    205205{
    206         account_t *account, *accounttmp;
     206        account_t *account;
    207207        user_t *user, *usertmp;
    208         nick_t *nick, *nicktmp;
    209208        help_t *helpnode, *helpnodetmp;
    210         set_t *setnode, *setnodetmp;
    211209       
    212210        log_message( LOGLVL_INFO, "Destroying connection with fd %d", irc->fd );
     
    252250                query_del(irc, irc->queries);
    253251       
    254         if (irc->accounts != NULL) {
    255                 account = irc->accounts;
    256                 while (account != NULL) {
    257                         g_free(account->user);
    258                         g_free(account->pass);
    259                         g_free(account->server);
    260                         accounttmp = account;
    261                         account = account->next;
    262                         g_free(accounttmp);
    263                 }
    264         }
     252        while (irc->accounts)
     253                account_del(irc, irc->accounts);
     254       
     255        while (irc->set)
     256                set_del(&irc->set, irc->set->key);
    265257       
    266258        if (irc->users != NULL) {
     
    287279        g_hash_table_destroy(irc->watches);
    288280       
    289         if (irc->nicks != NULL) {
    290                 nick = irc->nicks;
    291                 while (nick != NULL) {
    292                         g_free(nick->nick);
    293                         g_free(nick->handle);
    294                                        
    295                         nicktmp = nick;
    296                         nick = nick->next;
    297                         g_free(nicktmp);
    298                 }
    299         }
    300281        if (irc->help != NULL) {
    301282                helpnode = irc->help;
     
    306287                        helpnode = helpnode->next;
    307288                        g_free(helpnodetmp);
    308                 }
    309         }
    310         if (irc->set != NULL) {
    311                 setnode = irc->set;
    312                 while (setnode != NULL) {
    313                         g_free(setnode->key);
    314                         g_free(setnode->def);
    315                         g_free(setnode->value);
    316                        
    317                         setnodetmp = setnode;
    318                         setnode = setnode->next;
    319                         g_free(setnodetmp);
    320289                }
    321290        }
Note: See TracChangeset for help on using the changeset viewer.