static int fixup_dlg_terminate(void** param, int param_no) { char *val; int n = 0; if (param_no == 1) { val = (char*) *param; if (strcasecmp(val, "all") == 0) { n = 2; } else if (strcasecmp(val, "caller") == 0) { n = 0; } else if (strcasecmp(val, "callee") == 0) { n = 1; } else { LM_ERR("invalid param \"%s\"\n", val); return E_CFG; } pkg_free(*param); *param = (void*) (long) n; } else if (param_no == 2) { //fixup str return fixup_str_12(param, param_no); } else { LM_ERR("called with parameter != 1\n"); return E_BUG; } return 0; }
/* Same as fixup_str_12 but applies to the 2nd parameter only */ int fixup_str_2(void** param, int param_no) { if (param_no == 2) return fixup_str_12(param, param_no); else return 0; }