Mercurial > pidgin
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); |