popups.c

来自「AnyQ服务端源代码(2004/10/28)源码」· C语言 代码 · 共 66 行

C
66
字号
/* * Popups are just what it sounds like.  They're a way for the server to * open up an informative box on the client's screen. */#define FAIM_INTERNAL#include <aim.h>/* * This is all there is to it. * * The message is probably HTML. *  */static int parsepopup(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs){	aim_rxcallback_t userfunc;	aim_tlvlist_t *tl;	int ret = 0;	char *msg, *url;	fu16_t width, height, delay;	tl = aim_readtlvchain(bs);	msg = aim_gettlv_str(tl, 0x0001, 1);	url = aim_gettlv_str(tl, 0x0002, 1);	width = aim_gettlv16(tl, 0x0003, 1);	height = aim_gettlv16(tl, 0x0004, 1);	delay = aim_gettlv16(tl, 0x0005, 1);	if ((userfunc = aim_callhandler(sess, rx->conn, snac->family, snac->subtype)))		ret = userfunc(sess, rx, msg, url, width, height, delay);	aim_freetlvchain(&tl);	free(msg);	free(url);	return ret;}static int snachandler(aim_session_t *sess, aim_module_t *mod, aim_frame_t *rx, aim_modsnac_t *snac, aim_bstream_t *bs){	if (snac->subtype == 0x0002)		return parsepopup(sess, mod, rx, snac, bs);	return 0;}faim_internal int popups_modfirst(aim_session_t *sess, aim_module_t *mod){	mod->family = 0x0008;	mod->version = 0x0001;	mod->toolid = 0x0104;	mod->toolversion = 0x0001;	mod->flags = 0;	strncpy(mod->name, "popups", sizeof(mod->name));	mod->snachandler = snachandler;	return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?