* Parse a parameter name */
| 275 | * Parse a parameter name |
| 276 | */ |
| 277 | static inline void parse_param_name(str* _s, pclass_t _c, param_hooks_t* _h, param_t* _p) |
| 278 | { |
| 279 | |
| 280 | if (!_s->s) { |
| 281 | LM_DBG("empty parameter\n"); |
| 282 | return; |
| 283 | } |
| 284 | |
| 285 | _p->name.s = _s->s; |
| 286 | |
| 287 | while(_s->len) { |
| 288 | switch(_s->s[0]) { |
| 289 | case ' ': |
| 290 | case '\t': |
| 291 | case '\r': |
| 292 | case '\n': |
| 293 | case ';': |
| 294 | case ',': |
| 295 | case '=': |
| 296 | goto out; |
| 297 | } |
| 298 | _s->s++; |
| 299 | _s->len--; |
| 300 | } |
| 301 | |
| 302 | out: |
| 303 | _p->name.len = _s->s - _p->name.s; |
| 304 | |
| 305 | switch(_c) { |
| 306 | case CLASS_CONTACT: parse_contact_class(_h, _p); break; |
| 307 | case CLASS_URI: parse_uri_class(_h, _p); break; |
| 308 | default: break; |
| 309 | } |
| 310 | } |
| 311 | |
| 312 | |
| 313 |
no test coverage detected