static int fixup_dbg_sip_msg(void** param, int param_no) { int facility; int level; struct action *dbg_sip_msg_action; switch(param_no) { case 2: facility = str2facility((char*)*(param)); if (facility == -1) { LM_ERR("invalid log facility configured"); return E_UNSPEC; } *param = (void*)(long)facility; break; case 1: switch(((char*)(*param))[2]) { /* add L_OFFSET because L_WARN is consdered null pointer */ case 'A': level = L_ALERT + L_OFFSET; break; case 'B': level = L_BUG + L_OFFSET; break; case 'C': level = L_CRIT2 + L_OFFSET; break; case 'E': level = L_ERR + L_OFFSET; break; case 'W': level = L_WARN + L_OFFSET; break; case 'N': level = L_NOTICE + L_OFFSET; break; case 'I': level = L_INFO + L_OFFSET; break; case 'D': level = L_DBG + L_OFFSET; break; default: LM_ERR("unknown log level\n"); return E_UNSPEC; } *param = (void*)(long)level; break; } /* save the config line where this config function was called */ dbg_sip_msg_action = dbg_fixup_get_action(param, param_no); _dbg_sip_msg_cline = dbg_sip_msg_action->cline; return 0; }
/** * fixup for cfg set breakpoint function */ static int fixup_dbg_breakpoint(void** param, int param_no) { struct action *a; char *p; if(param_no!=1) return -1; a = dbg_fixup_get_action(param, param_no); p = (char*)(*param); return dbg_add_breakpoint(a, (*p=='0')?0:1); }