Mercurial > pidgin.yaz
comparison src/protocols/yahoo/yahoo.c @ 2771:450f4f9d2f23
[gaim-migrate @ 2784]
maybe this is better?
committer: Tailor Script <tailor@pidgin.im>
author | Eric Warmenhoven <eric@warmenhoven.org> |
---|---|
date | Mon, 19 Nov 2001 22:25:40 +0000 |
parents | 38cb5fa48bec |
children | f9227268db25 |
comparison
equal
deleted
inserted
replaced
2770:24ebd5e321e4 | 2771:450f4f9d2f23 |
---|---|
396 buddy->name = g_strdup(name); | 396 buddy->name = g_strdup(name); |
397 buddy->state = state; | 397 buddy->state = state; |
398 buddy->msg = msg ? g_strdup(msg) : NULL; | 398 buddy->msg = msg ? g_strdup(msg) : NULL; |
399 yd->login = g_slist_append(yd->login, buddy); | 399 yd->login = g_slist_append(yd->login, buddy); |
400 break; | 400 break; |
401 case 60: /* uh */ | |
402 while (yd->login) { | |
403 buddy = yd->login->data; | |
404 state = buddy->state; | |
405 yd->login = g_slist_remove(yd->login, buddy); | |
406 if (state == YAHOO_STATUS_AVAILABLE) | |
407 serv_got_update(gc, buddy->name, 1, 0, 0, 0, 0, 0); | |
408 else if (state == YAHOO_STATUS_IDLE) | |
409 serv_got_update(gc, buddy->name, 1, 0, 0, time(NULL) - 600, | |
410 (state << 1), 0); | |
411 else | |
412 serv_got_update(gc, buddy->name, 1, 0, 0, 0, | |
413 (state << 1) | UC_UNAVAILABLE, 0); | |
414 if (state == YAHOO_STATUS_CUSTOM) { | |
415 gpointer val = g_hash_table_lookup(yd->hash, buddy->name); | |
416 if (val) { | |
417 g_free(val); | |
418 g_hash_table_insert(yd->hash, buddy->name, | |
419 g_strdup(buddy->msg)); | |
420 } else | |
421 g_hash_table_insert(yd->hash, g_strdup(buddy->name), | |
422 g_strdup(buddy->msg)); | |
423 } | |
424 g_free(buddy->msg); | |
425 g_free(buddy->name); | |
426 g_free(buddy); | |
427 } | |
428 break; | |
401 default: | 429 default: |
402 debug_printf("unknown login key %d\n", pair->key); | 430 debug_printf("unknown login key %d\n", pair->key); |
403 break; | 431 break; |
404 } | 432 } |
405 | 433 |
639 switch (pkt->service) | 667 switch (pkt->service) |
640 { | 668 { |
641 case YAHOO_SERVICE_LOGON: | 669 case YAHOO_SERVICE_LOGON: |
642 yahoo_process_logon(gc, pkt); | 670 yahoo_process_logon(gc, pkt); |
643 break; | 671 break; |
672 case YAHOO_SERVICE_LOGOFF: | |
644 case YAHOO_SERVICE_ISAWAY: | 673 case YAHOO_SERVICE_ISAWAY: |
645 case YAHOO_SERVICE_ISBACK: | 674 case YAHOO_SERVICE_ISBACK: |
646 yahoo_process_status(gc, pkt); | 675 yahoo_process_status(gc, pkt); |
647 break; | 676 break; |
648 case YAHOO_SERVICE_MESSAGE: | 677 case YAHOO_SERVICE_MESSAGE: |