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)