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; }
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; }