Changeset cf02dd6 for libfaim/chatnav.c


Ignore:
Timestamp:
Dec 10, 2003, 3:20:45 PM (18 years ago)
Author:
James M. Kretchmar <kretch@mit.edu>
Branches:
master, barnowl_perlaim, debian, owl, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
Children:
b1fe407
Parents:
8c46404
Message:
*** empty log message ***
File:
1 edited

Legend:

Unmodified
Added
Removed
  • libfaim/chatnav.c

    re374dee rcf02dd6  
    6868        aimbs_put8(&fr->data, 0x01);
    6969
    70         aim_addtlvtochain_raw(&tl, 0x00d3, strlen(name), name);
    71         aim_addtlvtochain_raw(&tl, 0x00d6, strlen(charset), charset);
    72         aim_addtlvtochain_raw(&tl, 0x00d7, strlen(lang), lang);
     70        aim_tlvlist_add_raw(&tl, 0x00d3, strlen(name), name);
     71        aim_tlvlist_add_raw(&tl, 0x00d6, strlen(charset), charset);
     72        aim_tlvlist_add_raw(&tl, 0x00d7, strlen(lang), lang);
    7373
    7474        /* tlvcount */
    75         aimbs_put16(&fr->data, aim_counttlvchain(&tl));
    76         aim_writetlvchain(&fr->data, &tl);
    77 
    78         aim_freetlvchain(&tl);
     75        aimbs_put16(&fr->data, aim_tlvlist_count(&tl));
     76        aim_tlvlist_write(&fr->data, &tl);
     77
     78        aim_tlvlist_free(&tl);
    7979
    8080        aim_tx_enqueue(sess, fr);
     
    9393        aim_tlvlist_t *tlvlist, *innerlist;
    9494
    95         tlvlist = aim_readtlvchain(bs);
     95        tlvlist = aim_tlvlist_read(bs);
    9696
    9797        /*
    9898         * Type 0x0002: Maximum concurrent rooms.
    9999         */
    100         if (aim_gettlv(tlvlist, 0x0002, 1))
    101                 maxrooms = aim_gettlv8(tlvlist, 0x0002, 1);
     100        if (aim_tlv_gettlv(tlvlist, 0x0002, 1))
     101                maxrooms = aim_tlv_get8(tlvlist, 0x0002, 1);
    102102
    103103        /*
     
    108108         *
    109109         */
    110         for (curexchange = 0; ((exchangetlv = aim_gettlv(tlvlist, 0x0003, curexchange+1))); ) {
     110        for (curexchange = 0; ((exchangetlv = aim_tlv_gettlv(tlvlist, 0x0003, curexchange+1))); ) {
    111111                aim_bstream_t tbs;
    112112
     
    119119                /* exchange number */
    120120                exchanges[curexchange-1].number = aimbs_get16(&tbs);
    121                 innerlist = aim_readtlvchain(&tbs);
     121                innerlist = aim_tlvlist_read(&tbs);
    122122
    123123                /*
     
    127127                 *
    128128                 */
    129                 if (aim_gettlv(innerlist, 0x000a, 1))
     129                if (aim_tlv_gettlv(innerlist, 0x000a, 1))
    130130                        ;
    131131
     
    133133                 * Type 0x000d: Unknown.
    134134                 */
    135                 if (aim_gettlv(innerlist, 0x000d, 1))
     135                if (aim_tlv_gettlv(innerlist, 0x000d, 1))
    136136                        ;
    137137
     
    139139                 * Type 0x0004: Unknown
    140140                 */
    141                 if (aim_gettlv(innerlist, 0x0004, 1))
     141                if (aim_tlv_gettlv(innerlist, 0x0004, 1))
    142142                        ;
    143143
     
    145145                 * Type 0x0002: Unknown
    146146                 */
    147                 if (aim_gettlv(innerlist, 0x0002, 1)) {
     147                if (aim_tlv_gettlv(innerlist, 0x0002, 1)) {
    148148                        fu16_t classperms;
    149149
    150                         classperms = aim_gettlv16(innerlist, 0x0002, 1);
     150                        classperms = aim_tlv_get16(innerlist, 0x0002, 1);
    151151                       
    152152                        faimdprintf(sess, 1, "faim: class permissions %x\n", classperms);
     
    162162                 *
    163163                 */
    164                 if (aim_gettlv(innerlist, 0x00c9, 1))
    165                         exchanges[curexchange-1].flags = aim_gettlv16(innerlist, 0x00c9, 1);
     164                if (aim_tlv_gettlv(innerlist, 0x00c9, 1))
     165                        exchanges[curexchange-1].flags = aim_tlv_get16(innerlist, 0x00c9, 1);
    166166                     
    167167                /*
    168168                 * Type 0x00ca: Creation Date
    169169                 */
    170                 if (aim_gettlv(innerlist, 0x00ca, 1))
     170                if (aim_tlv_gettlv(innerlist, 0x00ca, 1))
    171171                        ;
    172172                     
     
    174174                 * Type 0x00d0: Mandatory Channels?
    175175                 */
    176                 if (aim_gettlv(innerlist, 0x00d0, 1))
     176                if (aim_tlv_gettlv(innerlist, 0x00d0, 1))
    177177                        ;
    178178
     
    180180                 * Type 0x00d1: Maximum Message length
    181181                 */
    182                 if (aim_gettlv(innerlist, 0x00d1, 1))
     182                if (aim_tlv_gettlv(innerlist, 0x00d1, 1))
    183183                        ;
    184184
     
    186186                 * Type 0x00d2: Maximum Occupancy?
    187187                 */
    188                 if (aim_gettlv(innerlist, 0x00d2, 1))   
     188                if (aim_tlv_gettlv(innerlist, 0x00d2, 1))       
    189189                        ;
    190190
     
    192192                 * Type 0x00d3: Exchange Description
    193193                 */
    194                 if (aim_gettlv(innerlist, 0x00d3, 1))   
    195                         exchanges[curexchange-1].name = aim_gettlv_str(innerlist, 0x00d3, 1);
     194                if (aim_tlv_gettlv(innerlist, 0x00d3, 1))       
     195                        exchanges[curexchange-1].name = aim_tlv_getstr(innerlist, 0x00d3, 1);
    196196                else
    197197                        exchanges[curexchange-1].name = NULL;
     
    200200                 * Type 0x00d4: Exchange Description URL
    201201                 */
    202                 if (aim_gettlv(innerlist, 0x00d4, 1))   
     202                if (aim_tlv_gettlv(innerlist, 0x00d4, 1))       
    203203                        ;
    204204
     
    211211                 *
    212212                 */
    213                 if (aim_gettlv(innerlist, 0x00d5, 1)) {
     213                if (aim_tlv_gettlv(innerlist, 0x00d5, 1)) {
    214214                        fu8_t createperms;
    215215
    216                         createperms = aim_gettlv8(innerlist, 0x00d5, 1);
     216                        createperms = aim_tlv_get8(innerlist, 0x00d5, 1);
    217217                }
    218218
     
    220220                 * Type 0x00d6: Character Set (First Time)
    221221                 */           
    222                 if (aim_gettlv(innerlist, 0x00d6, 1))   
    223                         exchanges[curexchange-1].charset1 = aim_gettlv_str(innerlist, 0x00d6, 1);
     222                if (aim_tlv_gettlv(innerlist, 0x00d6, 1))       
     223                        exchanges[curexchange-1].charset1 = aim_tlv_getstr(innerlist, 0x00d6, 1);
    224224                else
    225225                        exchanges[curexchange-1].charset1 = NULL;
     
    228228                 * Type 0x00d7: Language (First Time)
    229229                 */           
    230                 if (aim_gettlv(innerlist, 0x00d7, 1))   
    231                         exchanges[curexchange-1].lang1 = aim_gettlv_str(innerlist, 0x00d7, 1);
     230                if (aim_tlv_gettlv(innerlist, 0x00d7, 1))       
     231                        exchanges[curexchange-1].lang1 = aim_tlv_getstr(innerlist, 0x00d7, 1);
    232232                else
    233233                        exchanges[curexchange-1].lang1 = NULL;
     
    236236                 * Type 0x00d8: Character Set (Second Time)
    237237                 */           
    238                 if (aim_gettlv(innerlist, 0x00d8, 1))   
    239                         exchanges[curexchange-1].charset2 = aim_gettlv_str(innerlist, 0x00d8, 1);
     238                if (aim_tlv_gettlv(innerlist, 0x00d8, 1))       
     239                        exchanges[curexchange-1].charset2 = aim_tlv_getstr(innerlist, 0x00d8, 1);
    240240                else
    241241                        exchanges[curexchange-1].charset2 = NULL;
     
    244244                 * Type 0x00d9: Language (Second Time)
    245245                 */           
    246                 if (aim_gettlv(innerlist, 0x00d9, 1))   
    247                         exchanges[curexchange-1].lang2 = aim_gettlv_str(innerlist, 0x00d9, 1);
     246                if (aim_tlv_gettlv(innerlist, 0x00d9, 1))       
     247                        exchanges[curexchange-1].lang2 = aim_tlv_getstr(innerlist, 0x00d9, 1);
    248248                else
    249249                        exchanges[curexchange-1].lang2 = NULL;
     
    252252                 * Type 0x00da: Unknown
    253253                 */
    254                 if (aim_gettlv(innerlist, 0x00da, 1))   
    255                         ;
    256 
    257                 aim_freetlvchain(&innerlist);
     254                if (aim_tlv_gettlv(innerlist, 0x00da, 1))       
     255                        ;
     256
     257                aim_tlvlist_free(&innerlist);
    258258        }
    259259
     
    272272        }
    273273        free(exchanges);
    274         aim_freetlvchain(&tlvlist);
     274        aim_tlvlist_free(&tlvlist);
    275275
    276276        return ret;
     
    290290        aim_bstream_t bbbs;
    291291
    292         tlvlist = aim_readtlvchain(bs);
    293 
    294         if (!(bigblock = aim_gettlv(tlvlist, 0x0004, 1))) {
     292        tlvlist = aim_tlvlist_read(bs);
     293
     294        if (!(bigblock = aim_tlv_gettlv(tlvlist, 0x0004, 1))) {
    295295                faimdprintf(sess, 0, "no bigblock in top tlv in create room response\n");
    296                 aim_freetlvchain(&tlvlist);
     296                aim_tlvlist_free(&tlvlist);
    297297                return 0;
    298298        }
     
    308308        if (detaillevel != 0x02) {
    309309                faimdprintf(sess, 0, "unknown detaillevel in create room response (0x%02x)\n", detaillevel);
    310                 aim_freetlvchain(&tlvlist);
     310                aim_tlvlist_free(&tlvlist);
    311311                free(ck);
    312312                return 0;
     
    315315        unknown = aimbs_get16(&bbbs);
    316316
    317         innerlist = aim_readtlvchain(&bbbs);
    318 
    319         if (aim_gettlv(innerlist, 0x006a, 1))
    320                 fqcn = aim_gettlv_str(innerlist, 0x006a, 1);
    321 
    322         if (aim_gettlv(innerlist, 0x00c9, 1))
    323                 flags = aim_gettlv16(innerlist, 0x00c9, 1);
    324 
    325         if (aim_gettlv(innerlist, 0x00ca, 1))
    326                 createtime = aim_gettlv32(innerlist, 0x00ca, 1);
    327 
    328         if (aim_gettlv(innerlist, 0x00d1, 1))
    329                 maxmsglen = aim_gettlv16(innerlist, 0x00d1, 1);
    330 
    331         if (aim_gettlv(innerlist, 0x00d2, 1))
    332                 maxoccupancy = aim_gettlv16(innerlist, 0x00d2, 1);
    333 
    334         if (aim_gettlv(innerlist, 0x00d3, 1))
    335                 name = aim_gettlv_str(innerlist, 0x00d3, 1);
    336 
    337         if (aim_gettlv(innerlist, 0x00d5, 1))
    338                 createperms = aim_gettlv8(innerlist, 0x00d5, 1);
     317        innerlist = aim_tlvlist_read(&bbbs);
     318
     319        if (aim_tlv_gettlv(innerlist, 0x006a, 1))
     320                fqcn = aim_tlv_getstr(innerlist, 0x006a, 1);
     321
     322        if (aim_tlv_gettlv(innerlist, 0x00c9, 1))
     323                flags = aim_tlv_get16(innerlist, 0x00c9, 1);
     324
     325        if (aim_tlv_gettlv(innerlist, 0x00ca, 1))
     326                createtime = aim_tlv_get32(innerlist, 0x00ca, 1);
     327
     328        if (aim_tlv_gettlv(innerlist, 0x00d1, 1))
     329                maxmsglen = aim_tlv_get16(innerlist, 0x00d1, 1);
     330
     331        if (aim_tlv_gettlv(innerlist, 0x00d2, 1))
     332                maxoccupancy = aim_tlv_get16(innerlist, 0x00d2, 1);
     333
     334        if (aim_tlv_gettlv(innerlist, 0x00d3, 1))
     335                name = aim_tlv_getstr(innerlist, 0x00d3, 1);
     336
     337        if (aim_tlv_gettlv(innerlist, 0x00d5, 1))
     338                createperms = aim_tlv_get8(innerlist, 0x00d5, 1);
    339339
    340340        if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) {
     
    345345        free(name);
    346346        free(fqcn);
    347         aim_freetlvchain(&innerlist);
    348         aim_freetlvchain(&tlvlist);
     347        aim_tlvlist_free(&innerlist);
     348        aim_tlvlist_free(&tlvlist);
    349349
    350350        return ret;
Note: See TracChangeset for help on using the changeset viewer.