From c5bea905b8252e648a372201622fa1534afa0c1a Mon Sep 17 00:00:00 2001 From: zhengchao Date: Wed, 25 May 2016 11:47:15 +0800 Subject: [PATCH] =?UTF-8?q?20160525=E7=89=88=E6=9C=AC=EF=BC=8C1=EF=BC=89?= =?UTF-8?q?=E8=BF=90=E8=A1=8C=E5=9B=9E=E8=B0=83=E8=A1=A8=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E7=9A=84start=E5=92=8Cfinish=E5=87=BD=E6=95=B0=E4=B8=BA?= =?UTF-8?q?=E7=A9=BA=EF=BC=9B2=EF=BC=89=E4=BF=AE=E5=A4=8D=E5=88=9D?= =?UTF-8?q?=E5=A7=8B=E5=8C=96=E6=97=B6=E5=8F=AA=E6=9C=89=E5=A2=9E=E9=87=8F?= =?UTF-8?q?=E5=9B=9E=E8=B0=83=E7=B1=BB=E9=85=8D=E7=BD=AE=EF=BC=8Cscanner?= =?UTF-8?q?=E6=9C=AA=E5=88=9B=E5=BB=BA=E5=AF=BC=E8=87=B4=E7=9A=84=E6=AE=B5?= =?UTF-8?q?=E9=94=99=E8=AF=AF=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entry/Maat_api.cpp | 10 ++++++++-- src/entry/Maat_rule.cpp | 20 ++++++++++++++++---- 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/src/entry/Maat_api.cpp b/src/entry/Maat_api.cpp index 9ef5b47..afd232b 100644 --- a/src/entry/Maat_api.cpp +++ b/src/entry/Maat_api.cpp @@ -690,7 +690,10 @@ int Maat_table_callback_register(Maat_feather_t feather,short table_id, p_table->cb_info->cb_plug[idx].u_para=u_para; if(p_table->cb_info->line_num>0) { - start(MAAT_RULE_UPDATE_TYPE_FULL,u_para); + if(start!=NULL) + { + start(MAAT_RULE_UPDATE_TYPE_FULL,u_para); + } for(i=0;icb_info->line_num;i++) { lines=(const char*)dynamic_array_read(p_table->cb_info->cache_lines,i); @@ -700,7 +703,10 @@ int Maat_table_callback_register(Maat_feather_t feather,short table_id, } update(table_id,lines,u_para); } - finish(u_para); + if(finish!=NULL) + { + finish(u_para); + } } pthread_mutex_unlock(&(p_table->cb_info->plugin_mutex)); return 1; diff --git a/src/entry/Maat_rule.cpp b/src/entry/Maat_rule.cpp index ac03bec..aa761ce 100644 --- a/src/entry/Maat_rule.cpp +++ b/src/entry/Maat_rule.cpp @@ -26,7 +26,7 @@ #include "mesa_fuzzy.h" #include "great_index_engine.h" -int MAAT_FRAME_VERSION_1_7_20160510=1; +int MAAT_FRAME_VERSION_1_7_20160525=1; const char *maat_module="MAAT Frame"; const char* CHARSET_STRING[]={"NONE","gbk","big5","unicode","utf8","bin", @@ -2441,7 +2441,10 @@ void maat_start_cb(unsigned int new_version,int update_type,void*u_para) p_table_cb=p_table->cb_info; for(j=0;jcb_plug_cnt;j++) { - p_table_cb->cb_plug[j].start(update_type,p_table_cb->cb_plug[j].u_para); + if(p_table_cb->cb_plug[j].start!=NULL) + { + p_table_cb->cb_plug[j].start(update_type,p_table_cb->cb_plug[j].u_para); + } } } return; @@ -2471,7 +2474,10 @@ void maat_finish_cb(void* u_para) p_table_cb=p_table->cb_info; for(j=0;jcb_plug_cnt;j++) { - p_table_cb->cb_plug[j].finish(p_table_cb->cb_plug[j].u_para); + if(p_table_cb->cb_plug[j].finish!=NULL) + { + p_table_cb->cb_plug[j].finish(p_table_cb->cb_plug[j].u_para); + } } } if(feather->update_tmp_scanner!=NULL) @@ -2485,7 +2491,7 @@ void maat_finish_cb(void* u_para) "Full config version %u load %d entries complete.", feather->update_tmp_scanner->version,feather->update_tmp_scanner->cfg_num); } - else + else if(feather->scanner!=NULL) { feather->scanner->cfg_num=total; feather->scanner->version=feather->maat_version; @@ -2506,6 +2512,12 @@ void maat_finish_cb(void* u_para) feather->scanner->version,feather->scanner->cfg_num); } } + else + { + MESA_handle_runtime_log(feather->logger,RLOG_LV_INFO,maat_module, + "Version %d have no valid scan rules, plugin callback complete.", + feather->maat_version); + } return; } void maat_update_cb(const char* table_name,const char* line,void *u_para)