Changeset cf02dd6 for libfaim/chatnav.c
- Timestamp:
- Dec 10, 2003, 3:20:45 PM (21 years ago)
- Branches:
- master, barnowl_perlaim, debian, owl, release-1.10, release-1.4, release-1.5, release-1.6, release-1.7, release-1.8, release-1.9
- Children:
- b1fe407
- Parents:
- 8c46404
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
libfaim/chatnav.c
re374dee rcf02dd6 68 68 aimbs_put8(&fr->data, 0x01); 69 69 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); 73 73 74 74 /* 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); 79 79 80 80 aim_tx_enqueue(sess, fr); … … 93 93 aim_tlvlist_t *tlvlist, *innerlist; 94 94 95 tlvlist = aim_ readtlvchain(bs);95 tlvlist = aim_tlvlist_read(bs); 96 96 97 97 /* 98 98 * Type 0x0002: Maximum concurrent rooms. 99 99 */ 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); 102 102 103 103 /* … … 108 108 * 109 109 */ 110 for (curexchange = 0; ((exchangetlv = aim_ gettlv(tlvlist, 0x0003, curexchange+1))); ) {110 for (curexchange = 0; ((exchangetlv = aim_tlv_gettlv(tlvlist, 0x0003, curexchange+1))); ) { 111 111 aim_bstream_t tbs; 112 112 … … 119 119 /* exchange number */ 120 120 exchanges[curexchange-1].number = aimbs_get16(&tbs); 121 innerlist = aim_ readtlvchain(&tbs);121 innerlist = aim_tlvlist_read(&tbs); 122 122 123 123 /* … … 127 127 * 128 128 */ 129 if (aim_ gettlv(innerlist, 0x000a, 1))129 if (aim_tlv_gettlv(innerlist, 0x000a, 1)) 130 130 ; 131 131 … … 133 133 * Type 0x000d: Unknown. 134 134 */ 135 if (aim_ gettlv(innerlist, 0x000d, 1))135 if (aim_tlv_gettlv(innerlist, 0x000d, 1)) 136 136 ; 137 137 … … 139 139 * Type 0x0004: Unknown 140 140 */ 141 if (aim_ gettlv(innerlist, 0x0004, 1))141 if (aim_tlv_gettlv(innerlist, 0x0004, 1)) 142 142 ; 143 143 … … 145 145 * Type 0x0002: Unknown 146 146 */ 147 if (aim_ gettlv(innerlist, 0x0002, 1)) {147 if (aim_tlv_gettlv(innerlist, 0x0002, 1)) { 148 148 fu16_t classperms; 149 149 150 classperms = aim_ gettlv16(innerlist, 0x0002, 1);150 classperms = aim_tlv_get16(innerlist, 0x0002, 1); 151 151 152 152 faimdprintf(sess, 1, "faim: class permissions %x\n", classperms); … … 162 162 * 163 163 */ 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); 166 166 167 167 /* 168 168 * Type 0x00ca: Creation Date 169 169 */ 170 if (aim_ gettlv(innerlist, 0x00ca, 1))170 if (aim_tlv_gettlv(innerlist, 0x00ca, 1)) 171 171 ; 172 172 … … 174 174 * Type 0x00d0: Mandatory Channels? 175 175 */ 176 if (aim_ gettlv(innerlist, 0x00d0, 1))176 if (aim_tlv_gettlv(innerlist, 0x00d0, 1)) 177 177 ; 178 178 … … 180 180 * Type 0x00d1: Maximum Message length 181 181 */ 182 if (aim_ gettlv(innerlist, 0x00d1, 1))182 if (aim_tlv_gettlv(innerlist, 0x00d1, 1)) 183 183 ; 184 184 … … 186 186 * Type 0x00d2: Maximum Occupancy? 187 187 */ 188 if (aim_ gettlv(innerlist, 0x00d2, 1))188 if (aim_tlv_gettlv(innerlist, 0x00d2, 1)) 189 189 ; 190 190 … … 192 192 * Type 0x00d3: Exchange Description 193 193 */ 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); 196 196 else 197 197 exchanges[curexchange-1].name = NULL; … … 200 200 * Type 0x00d4: Exchange Description URL 201 201 */ 202 if (aim_ gettlv(innerlist, 0x00d4, 1))202 if (aim_tlv_gettlv(innerlist, 0x00d4, 1)) 203 203 ; 204 204 … … 211 211 * 212 212 */ 213 if (aim_ gettlv(innerlist, 0x00d5, 1)) {213 if (aim_tlv_gettlv(innerlist, 0x00d5, 1)) { 214 214 fu8_t createperms; 215 215 216 createperms = aim_ gettlv8(innerlist, 0x00d5, 1);216 createperms = aim_tlv_get8(innerlist, 0x00d5, 1); 217 217 } 218 218 … … 220 220 * Type 0x00d6: Character Set (First Time) 221 221 */ 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); 224 224 else 225 225 exchanges[curexchange-1].charset1 = NULL; … … 228 228 * Type 0x00d7: Language (First Time) 229 229 */ 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); 232 232 else 233 233 exchanges[curexchange-1].lang1 = NULL; … … 236 236 * Type 0x00d8: Character Set (Second Time) 237 237 */ 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); 240 240 else 241 241 exchanges[curexchange-1].charset2 = NULL; … … 244 244 * Type 0x00d9: Language (Second Time) 245 245 */ 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); 248 248 else 249 249 exchanges[curexchange-1].lang2 = NULL; … … 252 252 * Type 0x00da: Unknown 253 253 */ 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); 258 258 } 259 259 … … 272 272 } 273 273 free(exchanges); 274 aim_ freetlvchain(&tlvlist);274 aim_tlvlist_free(&tlvlist); 275 275 276 276 return ret; … … 290 290 aim_bstream_t bbbs; 291 291 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))) { 295 295 faimdprintf(sess, 0, "no bigblock in top tlv in create room response\n"); 296 aim_ freetlvchain(&tlvlist);296 aim_tlvlist_free(&tlvlist); 297 297 return 0; 298 298 } … … 308 308 if (detaillevel != 0x02) { 309 309 faimdprintf(sess, 0, "unknown detaillevel in create room response (0x%02x)\n", detaillevel); 310 aim_ freetlvchain(&tlvlist);310 aim_tlvlist_free(&tlvlist); 311 311 free(ck); 312 312 return 0; … … 315 315 unknown = aimbs_get16(&bbbs); 316 316 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); 339 339 340 340 if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype))) { … … 345 345 free(name); 346 346 free(fqcn); 347 aim_ freetlvchain(&innerlist);348 aim_ freetlvchain(&tlvlist);347 aim_tlvlist_free(&innerlist); 348 aim_tlvlist_free(&tlvlist); 349 349 350 350 return ret;
Note: See TracChangeset
for help on using the changeset viewer.