فهرست منبع

mtree: rpc reload without table name reloads all tables

- lost feature in rpc which was available in mi command
Daniel-Constantin Mierla 7 سال پیش
والد
کامیت
c216abc532
1فایلهای تغییر یافته به همراه13 افزوده شده و 3 حذف شده
  1. 13 3
      src/modules/mtree/mtree_mod.c

+ 13 - 3
src/modules/mtree/mtree_mod.c

@@ -930,7 +930,8 @@ static const char* rpc_mtree_summary_doc[2] = {
 void rpc_mtree_reload(rpc_t* rpc, void* c)
 void rpc_mtree_reload(rpc_t* rpc, void* c)
 {
 {
 	str tname = {0, 0};
 	str tname = {0, 0};
-	m_tree_t *pt;
+	m_tree_t *pt = NULL;
+	int treloaded = 0;
 
 
 	if(db_table.len>0)
 	if(db_table.len>0)
 	{
 	{
@@ -949,8 +950,13 @@ void rpc_mtree_reload(rpc_t* rpc, void* c)
 
 
 		/* read tree name */
 		/* read tree name */
 		if (rpc->scan(c, "S", &tname) != 1) {
 		if (rpc->scan(c, "S", &tname) != 1) {
-			rpc->fault(c, 500, "Failed to get table name parameter");
-			return;
+			tname.s = 0;
+			tname.len = 0;
+		} else {
+			if(*tname.s=='.') {
+				tname.s = 0;
+				tname.len = 0;
+			}
 		}
 		}
 
 
 		pt = mt_get_first_tree();
 		pt = mt_get_first_tree();
@@ -967,9 +973,13 @@ void rpc_mtree_reload(rpc_t* rpc, void* c)
 					LM_ERR("cannot re-load mtree from database\n");
 					LM_ERR("cannot re-load mtree from database\n");
 					goto error;
 					goto error;
 				}
 				}
+				treloaded = 1;
 			}
 			}
 			pt = pt->next;
 			pt = pt->next;
 		}
 		}
+		if(treloaded == 0) {
+			rpc->fault(c, 500, "No Mtree Name Matching");
+		}
 	}
 	}
 
 
 	return;
 	return;