comparison libfaim/aim_rxhandlers.c @ 771:72e556f6b99d

[gaim-migrate @ 781] libfaim gets warnings, and other minor changes committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Mon, 28 Aug 2000 05:07:43 +0000
parents 58a6e6e26695
children 88f8f98de02d
comparison
equal deleted inserted replaced
770:172c5cf98dfa 771:72e556f6b99d
418 case 0x000a: 418 case 0x000a:
419 workingPtr->handled = aim_parse_ratechange_middle(sess, workingPtr); 419 workingPtr->handled = aim_parse_ratechange_middle(sess, workingPtr);
420 break; 420 break;
421 case 0x000f: 421 case 0x000f:
422 workingPtr->handled = aim_callhandler_noparam(sess, workingPtr->conn, 0x0001, 0x000f, workingPtr); 422 workingPtr->handled = aim_callhandler_noparam(sess, workingPtr->conn, 0x0001, 0x000f, workingPtr);
423 break;
424 case 0x0010:
425 workingPtr->handled = aim_parse_evilnotify_middle(sess, workingPtr);
423 break; 426 break;
424 case 0x0013: 427 case 0x0013:
425 workingPtr->handled = aim_parsemotd_middle(sess, workingPtr); 428 workingPtr->handled = aim_parsemotd_middle(sess, workingPtr);
426 break; 429 break;
427 default: 430 default:
649 ret = userfunc(sess, command, newrate); 652 ret = userfunc(sess, command, newrate);
650 653
651 return ret; 654 return ret;
652 } 655 }
653 656
657 int aim_parse_evilnotify_middle(struct aim_session_t *sess, struct command_rx_struct *command)
658 {
659 rxcallback_t userfunc = NULL;
660 int ret = 1, pos;
661 char *sn = NULL;
662
663 if(command->commandlen < 12) /* a warning level dec sends this */
664 return 1;
665
666 if ((pos = aimutil_get8(command->data+ 12)) > MAXSNLEN)
667 return 1;
668
669 if(!(sn = (char *)calloc(1, pos+1)))
670 return 1;
671
672 memcpy(sn, command->data+13, pos);
673
674 if ((userfunc = aim_callhandler(command->conn, 0x0001, 0x0010)))
675 ret = userfunc(sess, command, sn);
676
677 free(sn);
678
679 return ret;
680 }
681
654 int aim_parsemotd_middle(struct aim_session_t *sess, 682 int aim_parsemotd_middle(struct aim_session_t *sess,
655 struct command_rx_struct *command, ...) 683 struct command_rx_struct *command, ...)
656 { 684 {
657 rxcallback_t userfunc = NULL; 685 rxcallback_t userfunc = NULL;
658 char *msg; 686 char *msg;
659 int ret=1; 687 int ret=1;
660 struct aim_tlvlist_t *tlvlist; 688 struct aim_tlvlist_t *tlvlist;
661 u_short id; 689 u_short id;
662 690
663 /* 691 /*
664 * Dunno. 692 * Code.
693 *
694 * Valid values:
695 * 1 Mandatory upgrade
696 * 2 Advisory upgrade
697 * 3 System bulletin
698 * 4 Nothing's wrong ("top o the world" -- normal)
699 *
665 */ 700 */
666 id = aimutil_get16(command->data+10); 701 id = aimutil_get16(command->data+10);
667 702
668 /* 703 /*
669 * TLVs follow 704 * TLVs follow