src/protocols/yahoo/yahoo.c

changeset 13462
feff8b605383
parent 13344
fde4e6dc84f8
child 13559
c7256daef931
equal deleted inserted replaced
13461:914eb11fd354 13462:feff8b605383
674 { 674 {
675 GSList *l = pkt->hash; 675 GSList *l = pkt->hash;
676 GSList *list = NULL; 676 GSList *list = NULL;
677 struct _yahoo_im *im = NULL; 677 struct _yahoo_im *im = NULL;
678 678
679 char imv[16]; 679 const char *imv = NULL;
680 680
681 if (pkt->status <= 1 || pkt->status == 5) { 681 if (pkt->status <= 1 || pkt->status == 5) {
682 while (l != NULL) { 682 while (l != NULL) {
683 struct yahoo_pair *pair = l->data; 683 struct yahoo_pair *pair = l->data;
684 if (pair->key == 4) { 684 if (pair->key == 4) {
701 im->msg = pair->value; 701 im->msg = pair->value;
702 } 702 }
703 /* IMV key */ 703 /* IMV key */
704 if (pair->key == 63) 704 if (pair->key == 63)
705 { 705 {
706 strcpy(imv, pair->value); 706 imv = pair->value;
707 } 707 }
708 l = l->next; 708 l = l->next;
709 } 709 }
710 } else if (pkt->status == 2) { 710 } else if (pkt->status == 2) {
711 gaim_notify_error(gc, NULL, 711 gaim_notify_error(gc, NULL,
712 _("Your Yahoo! message did not get sent."), NULL); 712 _("Your Yahoo! message did not get sent."), NULL);
713 } 713 }
714 714
715 /** TODO: It seems that this check should be per IM, not global */
715 /* Check for the Doodle IMV */ 716 /* Check for the Doodle IMV */
716 if(!strcmp(imv, "doodle;11")) 717 if(im != NULL && imv != NULL && !strcmp(imv, "doodle;11"))
717 { 718 {
718 GaimWhiteboard *wb; 719 GaimWhiteboard *wb;
719 720
720 if (!yahoo_privacy_check(gc, im->from)) { 721 if (!yahoo_privacy_check(gc, im->from)) {
721 gaim_debug_info("yahoo", "Doodle request from %s dropped.\n", im->from); 722 gaim_debug_info("yahoo", "Doodle request from %s dropped.\n", im->from);

mercurial