| 178 | |
| 179 | |
| 180 | static void uri_trans(char *new_buf, char *org_buf, struct sip_uri *uri) |
| 181 | { |
| 182 | int i; |
| 183 | |
| 184 | uri->user.s=translate_pointer(new_buf,org_buf,uri->user.s); |
| 185 | uri->passwd.s=translate_pointer(new_buf,org_buf,uri->passwd.s); |
| 186 | uri->host.s=translate_pointer(new_buf,org_buf,uri->host.s); |
| 187 | uri->port.s=translate_pointer(new_buf,org_buf,uri->port.s); |
| 188 | uri->params.s=translate_pointer(new_buf,org_buf,uri->params.s); |
| 189 | uri->headers.s=translate_pointer(new_buf,org_buf,uri->headers.s); |
| 190 | /* parameters */ |
| 191 | uri->transport.s=translate_pointer(new_buf,org_buf,uri->transport.s); |
| 192 | uri->ttl.s=translate_pointer(new_buf,org_buf,uri->ttl.s); |
| 193 | uri->user_param.s=translate_pointer(new_buf,org_buf,uri->user_param.s); |
| 194 | uri->maddr.s=translate_pointer(new_buf,org_buf,uri->maddr.s); |
| 195 | uri->method.s=translate_pointer(new_buf,org_buf,uri->method.s); |
| 196 | uri->lr.s=translate_pointer(new_buf,org_buf,uri->lr.s); |
| 197 | uri->r2.s=translate_pointer(new_buf,org_buf,uri->r2.s); |
| 198 | /* values */ |
| 199 | uri->transport_val.s |
| 200 | =translate_pointer(new_buf,org_buf,uri->transport_val.s); |
| 201 | uri->ttl_val.s=translate_pointer(new_buf,org_buf,uri->ttl_val.s); |
| 202 | uri->user_param_val.s |
| 203 | =translate_pointer(new_buf,org_buf,uri->user_param_val.s); |
| 204 | uri->maddr_val.s=translate_pointer(new_buf,org_buf,uri->maddr_val.s); |
| 205 | uri->method_val.s=translate_pointer(new_buf,org_buf,uri->method_val.s); |
| 206 | uri->lr_val.s=translate_pointer(new_buf,org_buf,uri->lr_val.s); |
| 207 | uri->r2_val.s=translate_pointer(new_buf,org_buf,uri->r2_val.s); |
| 208 | /* unknown params */ |
| 209 | for( i=0; i<URI_MAX_U_PARAMS && uri->u_name[i].s ; i++ ) { |
| 210 | uri->u_name[i].s = translate_pointer(new_buf,org_buf,uri->u_name[i].s); |
| 211 | uri->u_val[i].s = translate_pointer(new_buf,org_buf,uri->u_val[i].s); |
| 212 | } |
| 213 | } |
| 214 | |
| 215 | |
| 216 | static inline struct auth_body* auth_body_cloner(char* new_buf, char *org_buf, struct auth_body *auth, char **p) |