MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / ph_getCols

Function ph_getCols

modules/pi_http/http_fnc.c:944–1226  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

942}
943
944int ph_getCols(ph_mod_t *module, ph_cmd_t *cmd,
945 db_op_t **mod_cmd_ops, db_key_t **mod_cmd_keys,
946 db_type_t **mod_cmd_types, ph_vals_t **mod_cmd_vals, str **mod_cmd_linkCmd,
947 int *key_size, xmlNodePtr cmd_node)
948{
949 xmlNodePtr node;
950 str *key;
951 str field;
952 db_key_t *keys;
953 db_key_t *cmd_keys = NULL;
954 int op_len;
955 char *operator;
956 char *_operator;
957 db_op_t *ops;
958 db_op_t *cmd_ops = NULL;
959 db_type_t *types;
960 db_type_t *cmd_types = NULL;
961 ph_vals_t *vals;
962 ph_vals_t *cmd_vals = NULL;
963 str link_cmd;
964 str *linkCmd;
965 str *cmd_linkCmd = NULL;
966 int i;
967 int size = 0;
968 int table_size;
969 ph_table_col_t *table_cols;
970
971 for(node=cmd_node->children;node;node=node->next){
972 if (xmlStrcasecmp(node->name,
973 (const xmlChar*)PI_HTTP_XML_COL_NODE) == 0) {
974 if(size)
975 keys = (db_key_t*)shm_realloc(cmd_keys,
976 (size+1)*sizeof(db_key_t));
977 else
978 keys = (db_key_t*)shm_malloc(sizeof(db_key_t));
979 if (keys==NULL) {LM_ERR("oom\n");return -1;}
980 cmd_keys = keys;
981 keys = &cmd_keys[size];
982 memset(keys, 0, sizeof(db_key_t));
983 key = (str*)shm_malloc(sizeof(str));
984 if (key==NULL) {LM_ERR("oom\n");return -1;}
985 /* get the col field */
986 field.s = ph_xmlNodeGetNodeContentByName(node->children,
987 PI_HTTP_XML_FIELD_NODE);
988 if(field.s==NULL){
989 LM_ERR("no %s in %s [%.*s] %s [%.*s] %s %s\n",
990 PI_HTTP_XML_FIELD_NODE,
991 cmd_node->parent->parent->name,
992 module->module.len, module->module.s,
993 cmd_node->parent->name,
994 cmd->name.len, cmd->name.s,
995 cmd_node->name, node->name);
996 return -1;
997 }
998 field.len = strlen(field.s);
999 if(field.len==0){
1000 LM_ERR("empty %s in %s [%.*s] %s [%.*s] %s %s\n",
1001 PI_HTTP_XML_FIELD_NODE,

Callers 1

ph_getCmdsFunction · 0.85

Calls 4

shm_reallocFunction · 0.85
shm_mallocFunction · 0.85
ph_getColValsFunction · 0.85

Tested by

no test coverage detected