| 1129 | } |
| 1130 | |
| 1131 | static int pv_get_from_attr(struct sip_msg *msg, pv_param_t *param, |
| 1132 | pv_value_t *res) |
| 1133 | { |
| 1134 | if(msg==NULL) |
| 1135 | return -1; |
| 1136 | |
| 1137 | if(parse_from_header(msg)<0) |
| 1138 | { |
| 1139 | LM_ERR("cannot parse From header\n"); |
| 1140 | return pv_get_null(msg, param, res); |
| 1141 | } |
| 1142 | |
| 1143 | if(msg->from==NULL || get_from(msg)==NULL) { |
| 1144 | LM_DBG("no From header\n"); |
| 1145 | return pv_get_null(msg, param, res); |
| 1146 | } |
| 1147 | return pv_get_xto_attr(msg, param, res, get_from(msg), 1); |
| 1148 | } |
| 1149 | |
| 1150 | static int pv_get_cseq(struct sip_msg *msg, pv_param_t *param, |
| 1151 | pv_value_t *res) |
nothing calls this directly
no test coverage detected