Przeglądaj źródła

modules/usrloc: Update contact field when updating a contact in the DB
- Fixes FS#368

Hugh Waite 11 lat temu
rodzic
commit
a55018deb4
1 zmienionych plików z 18 dodań i 4 usunięć
  1. 18 4
      modules/usrloc/ucontact.c

+ 18 - 4
modules/usrloc/ucontact.c

@@ -650,8 +650,8 @@ int db_update_ucontact_addr(ucontact_t* _c)
 	db_val_t vals1[4];
 	db_val_t vals1[4];
 	int n1;
 	int n1;
 
 
-	db_key_t keys2[14];
-	db_val_t vals2[14];
+	db_key_t keys2[15];
+	db_val_t vals2[15];
 	int nr_cols2;
 	int nr_cols2;
 
 
 
 
@@ -782,6 +782,13 @@ int db_update_ucontact_addr(ucontact_t* _c)
 	vals2[nr_cols2].val.int_val = (int)_c->reg_id;
 	vals2[nr_cols2].val.int_val = (int)_c->reg_id;
 	nr_cols2++;
 	nr_cols2++;
 
 
+	keys2[nr_cols2] = &contact_col;
+	vals2[nr_cols2].type = DB1_STR;
+	vals2[nr_cols2].nul = 0;
+	vals2[nr_cols2].val.str_val = _c->c;
+	LM_DBG("contact:%.*s\n", vals2[nr_cols2].val.str_val.len, vals2[nr_cols2].val.str_val.s);
+	nr_cols2++;
+
 	if (use_domain) {
 	if (use_domain) {
 		keys1[n1] = &domain_col;
 		keys1[n1] = &domain_col;
 		vals1[n1].type = DB1_STR;
 		vals1[n1].type = DB1_STR;
@@ -850,8 +857,8 @@ int db_update_ucontact_ruid(ucontact_t* _c)
 	db_val_t vals1[1];
 	db_val_t vals1[1];
 	int n1;
 	int n1;
 
 
-	db_key_t keys2[14];
-	db_val_t vals2[14];
+	db_key_t keys2[15];
+	db_val_t vals2[15];
 	int n2;
 	int n2;
 
 
 
 
@@ -978,6 +985,13 @@ int db_update_ucontact_ruid(ucontact_t* _c)
 	vals2[n2].val.int_val = (int)_c->reg_id;
 	vals2[n2].val.int_val = (int)_c->reg_id;
 	n2++;
 	n2++;
 
 
+	keys2[n2] = &contact_col;
+	vals2[n2].type = DB1_STR;
+	vals2[n2].nul = 0;
+	vals2[n2].val.str_val = _c->c;
+	LM_DBG("contact:%.*s\n", vals2[n2].val.str_val.len, vals2[n2].val.str_val.s);
+	n2++;
+
 	if (ul_dbf.use_table(ul_dbh, _c->domain) < 0) {
 	if (ul_dbf.use_table(ul_dbh, _c->domain) < 0) {
 		LM_ERR("sql use_table failed\n");
 		LM_ERR("sql use_table failed\n");
 		return -1;
 		return -1;