static int pv_alt(sip_msg_t* msg, pv_param_t* param, pv_value_t* res) { int ind_local, local = 0, type = GEN_URI; ind_local = param->pvn.u.isname.name.n; if (ind_local & PV_CERT_PEER) { local = 0; ind_local = ind_local ^ PV_CERT_PEER; } else if (ind_local & PV_CERT_LOCAL) { local = 1; ind_local = ind_local ^ PV_CERT_LOCAL; } else { BUG("could not determine certificate\n"); return pv_get_null(msg, param, res); } switch(ind_local) { case PV_COMP_E: type = GEN_EMAIL; break; case PV_COMP_HOST: type = GEN_DNS; break; case PV_COMP_URI: type = GEN_URI; break; case PV_COMP_IP: type = GEN_IPADD; break; default: BUG("ind_local=%d\n", ind_local); return pv_get_null(msg, param, res); } if (get_alt(&res->rs, local, type, msg) < 0) { return pv_get_null(msg, param, res); } res->flags = PV_VAL_STR; return 0; }
String InputEventKey::as_text() const { String kc = keycode_get_string(scancode); if (kc == String()) return kc; if (get_metakey()) { kc = find_keycode_name(KEY_META) + ("+" + kc); } if (get_alt()) { kc = find_keycode_name(KEY_ALT) + ("+" + kc); } if (get_shift()) { kc = find_keycode_name(KEY_SHIFT) + ("+" + kc); } if (get_control()) { kc = find_keycode_name(KEY_CONTROL) + ("+" + kc); } return kc; }
static int sel_alt(str* res, select_t* s, sip_msg_t* msg) { int type = GEN_URI, local = 0, i; for(i = 1; i <= s->n - 1; i++) { switch(s->params[i].v.i) { case CERT_LOCAL: local = 1; break; case CERT_PEER: local = 0; break; case COMP_E: type = GEN_EMAIL; break; case COMP_HOST: type = GEN_DNS; break; case COMP_URI: type = GEN_URI; break; case COMP_IP: type = GEN_IPADD; break; default: BUG("Bug in sel_alt: %d\n", s->params[s->n - 1].v.i); return -1; } } return get_alt(res, local, type, msg); }