Skip to content

Commit

Permalink
cachedb: Improve variable naming
Browse files Browse the repository at this point in the history
Make it more obvious that we're dealing with a rows x columns matrix.
  • Loading branch information
liviuchircu committed May 20, 2019
1 parent 9d48ebc commit 499f0f3
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 17 deletions.
20 changes: 10 additions & 10 deletions action.c
Expand Up @@ -1642,8 +1642,8 @@ int do_action(struct action* a, struct sip_msg* msg)
}

cdb_raw_entry **cdb_reply = NULL;
int val_number=0,i,j;
int key_number=0;
int num_cols=0,i,j;
int num_rows=0;
pvname_list_t *cdb_res,*it;
int_str avp_val;
int_str avp_name;
Expand All @@ -1652,15 +1652,15 @@ int do_action(struct action* a, struct sip_msg* msg)
if (a->elem[2].u.data) {
cdb_res = (pvname_list_t*)a->elem[2].u.data;
for (it=cdb_res;it;it=it->next)
val_number++;
num_cols++;

LM_DBG("The query expects %d results back\n",val_number);
LM_DBG("The query expects %d fields per result\n", num_cols);

ret = cachedb_raw_query( &a->elem[0].u.s, &name_s, &cdb_reply,val_number,&key_number);
if (ret >= 0 && val_number > 0) {
for (i=key_number-1; i>=0;i--) {
ret = cachedb_raw_query( &a->elem[0].u.s, &name_s, &cdb_reply,num_cols,&num_rows);
if (ret >= 0 && num_cols > 0) {
for (i=num_rows-1; i>=0;i--) {
it=cdb_res;
for (j=0;j < val_number;j++) {
for (j=0;j < num_cols;j++) {
avp_type = 0;
if (pv_get_avp_name(msg,&it->sname.pvp,&avp_name.n,
&avp_type) != 0) {
Expand All @@ -1686,7 +1686,7 @@ int do_action(struct action* a, struct sip_msg* msg)
}
if (add_avp(avp_type,avp_name.n,avp_val) != 0) {
LM_ERR("Unable to add AVP\n");
free_raw_fetch(cdb_reply,val_number,key_number);
free_raw_fetch(cdb_reply,num_cols,num_rows);
return -1;
}
next_avp:
Expand All @@ -1697,7 +1697,7 @@ int do_action(struct action* a, struct sip_msg* msg)
}
}
}
free_raw_fetch(cdb_reply,val_number,key_number);
free_raw_fetch(cdb_reply,num_cols,num_rows);
}
}
else
Expand Down
6 changes: 3 additions & 3 deletions cachedb/cachedb.c
Expand Up @@ -765,12 +765,12 @@ int cachedb_raw_query(str* cachedb_name, str* attr, cdb_raw_entry*** reply,int e
return ret;
}

void free_raw_fetch(cdb_raw_entry **reply, int no_val, int no_key)
void free_raw_fetch(cdb_raw_entry **reply, int num_cols, int num_rows)
{
int i,j;

for (i=0;i<no_key;i++) {
for (j=0;j<no_val;j++) {
for (i=0;i<num_rows;i++) {
for (j=0;j<num_cols;j++) {
if (reply[i][j].type == CDB_STR)
pkg_free(reply[i][j].val.s.s);
}
Expand Down
4 changes: 2 additions & 2 deletions cachedb/cachedb.h
Expand Up @@ -69,7 +69,7 @@ typedef struct cachedb_funcs_t {
int expires, int *new_val);
/* bi-dimensional array will be returned */
int (*raw_query) (cachedb_con *con, str *query, cdb_raw_entry ***reply,
int expected_key_no,int *reply_no);
int num_cols, int *num_rows);
int (*truncate) (cachedb_con *con);

int (*db_query_trans) (cachedb_con *con, const str *table,
Expand Down Expand Up @@ -159,5 +159,5 @@ int cachedb_bind_mod(str *url,cachedb_funcs *funcs);
int cachedb_put_connection(str *cachedb_name,cachedb_con *con);

void cachedb_end_connections(str *cachedb_name);
void free_raw_fetch(cdb_raw_entry **reply, int no_val, int no_key);
void free_raw_fetch(cdb_raw_entry **reply, int num_cols, int num_rows);
#endif
3 changes: 1 addition & 2 deletions modules/cachedb_redis/cachedb_redis_dbase.c
Expand Up @@ -555,11 +555,10 @@ int redis_raw_query_handle_reply(redisReply *reply,cdb_raw_entry ***ret,
if (reply->element[i]->type == REDIS_REPLY_INTEGER) {
(*ret)[current_size][0].val.n = reply->element[i]->integer;
(*ret)[current_size][0].type = CDB_INT32;
} else if (reply->element[i]->type == REDIS_REPLY_NIL) {
} else if (reply->element[i]->type == REDIS_REPLY_NIL) {
(*ret)[current_size][0].val.s.s = NULL;
(*ret)[current_size][0].val.s.len = 0;
(*ret)[current_size][0].type = CDB_NULL;

} else {
(*ret)[current_size][0].val.s.s = pkg_malloc(reply->element[i]->len);
if (! (*ret)[current_size][0].val.s.s ) {
Expand Down

0 comments on commit 499f0f3

Please sign in to comment.