Esempio n. 1
0
static int fixup_async_sleep(void** param, int param_no)
{
	async_param_t *ap;
	if(param_no!=1)
		return 0;
	ap = (async_param_t*)pkg_malloc(sizeof(async_param_t));
	if(ap==NULL)
	{
		LM_ERR("no more pkg memory available\n");
		return -1;
	}
	memset(ap, 0, sizeof(async_param_t));
	ap->u.paction = get_action_from_param(param, param_no);
	if(fixup_igp_null(param, param_no)<0)
		return -1;
	ap->pinterval = (gparam_t*)(*param);
	*param = (void*)ap;
	return 0;
}
Esempio n. 2
0
static int xdbg_fixup_helper(void** param, int param_no, int mode)
{
	xl_msg_t *xm;
	str s;

	xm = (xl_msg_t*)pkg_malloc(sizeof(xl_msg_t));
	if(xm==NULL)
	{
		LM_ERR("no more pkg\n");
		return -1;
	}
	memset(xm, 0, sizeof(xl_msg_t));
	if(mode==1)
		xm->a = get_action_from_param(param, param_no);
	s.s = (char*)(*param); s.len = strlen(s.s);

	if(pv_parse_format(&s, &xm->m)<0)
	{
		LM_ERR("wrong format[%s]\n", (char*)(*param));
		return E_UNSPEC;
	}
	*param = (void*)xm;
	return 0;
}