SIP-router core ::Module: SIP-router core. More...
#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <ctype.h>#include "select.h"#include "dprint.h"#include "select_core.h"#include "mem/mem.h"#include "mem/shm_mem.h"
Go to the source code of this file.
Definition in file select.c.
| int parse_select | ( | char ** | p, | |
| select_t ** | s | |||
| ) |
Parse select string into select structure s and moves pointer p to the first unused char.
* The select identifier must be of the form: * [@] <sel_id> [ '.' <sel_id> ...] * * Where * <sel_id> = <id> | * <id> '[' <idx> ']' * <id> = [a-zA-Z0-9_]+ * <idx> = <number> | '-' <number> | <string> * <string> = '"' <ascii> '"' | * '\"' <ascii> '\"' * * Examples: * @to.tag * @hf_value["contact"] * @msg.header["SER-Server-ID"] * @eval.pop[-1] * contact.uri.params.maddr * cfg_get.rtp_proxy.enabled
| p | - double string (asciiz) pointer, *p is moved to the first char after the select identifier | |
| s | - the result will be stored here |
Definition at line 217 of file select.c.
References w_parse_select().
Referenced by fix_param().


| int w_parse_select | ( | char ** | p, | |
| select_t * | sel | |||
| ) |
The select identifier must be of the form:
* [@] <sel_id> [ '.' <sel_id> ...] * * Where * <sel_id> = <id> | * <id> '[' <idx> ']' * <id> = [a-zA-Z0-9_]+ * <idx> = <number> | <string> * <string> = '"' <ascii> '"' | * '\"' <ascii> '\"' * * Examples: * @to.tag * @hf_value["contact"] * @msg.header["SER-Server-ID"] * @eval.pop[-1] * contact.uri.params.maddr * cfg_get.rtp_proxy.enabled
Definition at line 109 of file select.c.
References _str::len, and _str::s.
Referenced by parse_select().

1.7.1