comparison src/protocols/oscar/locate.c @ 13007:46ba853a76b5

[gaim-migrate @ 15360] A few oscar fixes: * Show the available message in the buddy info box * ICQ accounts can view available messages * AIM accounts can view the DND/extended away/occupied statuses of ICQ buddies committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Mon, 23 Jan 2006 04:09:56 +0000
parents e856f985a0b9
children
comparison
equal deleted inserted replaced
13006:e19c59a6ff11 13007:46ba853a76b5
253 cur->info = NULL; 253 cur->info = NULL;
254 cur->info_encoding = strdup(userinfo->info_encoding); 254 cur->info_encoding = strdup(userinfo->info_encoding);
255 cur->info_len = userinfo->info_len; 255 cur->info_len = userinfo->info_len;
256 } 256 }
257 257
258 if (userinfo->status != NULL) {
259 free(cur->status);
260 free(cur->status_encoding);
261 if (userinfo->status_len > 0) {
262 cur->status = (char *)malloc(userinfo->status_len);
263 memcpy(cur->status, userinfo->status, userinfo->status_len);
264 } else
265 cur->status = NULL;
266 if (userinfo->status_encoding != NULL)
267 cur->status_encoding = strdup(userinfo->status_encoding);
268 else
269 cur->status_encoding = NULL;
270 cur->status_len = userinfo->status_len;
271 }
272
258 if (userinfo->away != NULL) { 273 if (userinfo->away != NULL) {
259 free(cur->away); 274 free(cur->away);
260 free(cur->away_encoding); 275 free(cur->away_encoding);
261 if (userinfo->away_len > 0) { 276 if (userinfo->away_len > 0) {
262 cur->away = (char *)malloc(userinfo->away_len); 277 cur->away = (char *)malloc(userinfo->away_len);
755 outinfo->iconcsumlen = length2; 770 outinfo->iconcsumlen = length2;
756 } else 771 } else
757 aim_bstream_advance(bs, length2); 772 aim_bstream_advance(bs, length2);
758 } break; 773 } break;
759 774
760 case 0x0002: { /* An status/available message */ 775 case 0x0002: { /* A status/available message */
761 free(outinfo->status); 776 free(outinfo->status);
762 free(outinfo->status_encoding); 777 free(outinfo->status_encoding);
763 if (length2 >= 4) { 778 if (length2 >= 4) {
764 outinfo->status_len = aimbs_get16(bs); 779 outinfo->status_len = aimbs_get16(bs);
765 outinfo->status = aimbs_getstr(bs, outinfo->status_len); 780 outinfo->status = aimbs_getstr(bs, outinfo->status_len);