Changeset b84800d


Ignore:
Timestamp:
2008-08-30T21:30:13Z (16 years ago)
Author:
Wilmer van der Gaast <wilmer@…>
Branches:
master
Children:
a9a7287
Parents:
1917a1ec
Message:

Support for saving the chatroom list. Also removed the hack that was used
to not save non-existent settings now that those simply aren't possible
anymore.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • storage_xml.c

    r1917a1ec rb84800d  
    438438       
    439439        for( set = irc->set; set; set = set->next )
    440                 if( set->value && set->def )
     440                if( set->value )
    441441                        if( !xml_printf( fd, 1, "<setting name=\"%s\">%s</setting>\n", set->key, set->value ) )
    442442                                goto write_error;
     
    447447                char *pass_b64;
    448448                int pass_len;
     449                struct chat *c;
    449450               
    450451                pass_len = arc_encode( acc->pass, strlen( acc->pass ), (unsigned char**) &pass_cr, irc->password, 12 );
     
    465466               
    466467                for( set = acc->set; set; set = set->next )
    467                         if( set->value && set->def && !( set->flags & ACC_SET_NOSAVE ) )
     468                        if( set->value && !( set->flags & ACC_SET_NOSAVE ) )
    468469                                if( !xml_printf( fd, 2, "<setting name=\"%s\">%s</setting>\n", set->key, set->value ) )
    469470                                        goto write_error;
     
    479480                        goto write_error;
    480481               
     482                for( c = irc->chatrooms; c; c = c->next )
     483                {
     484                        if( c->acc != acc )
     485                                continue;
     486                       
     487                        if( !xml_printf( fd, 2, "<chat handle=\"%s\" channel=\"%s\" type=\"%s\">\n",
     488                                                c->handle, c->channel, "room" ) )
     489                                goto write_error;
     490                       
     491                        for( set = c->set; set; set = set->next )
     492                                if( set->value && !( set->flags & ACC_SET_NOSAVE ) )
     493                                        if( !xml_printf( fd, 3, "<setting name=\"%s\">%s</setting>\n",
     494                                                                set->key, set->value ) )
     495                                                goto write_error;
     496
     497                        if( !xml_printf( fd, 2, "</chat>\n" ) )
     498                                goto write_error;
     499                }
     500               
    481501                if( !xml_printf( fd, 1, "</account>\n" ) )
    482502                        goto write_error;
Note: See TracChangeset for help on using the changeset viewer.