diff --git a/src/entry/Maat_rule.cpp b/src/entry/Maat_rule.cpp index 55b8268..7ea2787 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_8_20160919=1; +int MAAT_FRAME_VERSION_1_8_20160922=1; const char *maat_module="MAAT Frame"; const char* CHARSET_STRING[]={"NONE","gbk","big5","unicode","utf8","bin", @@ -951,7 +951,15 @@ struct _Maat_scanner_t* create_maat_scanner(unsigned int version,_Maat_feather_t //For best performance test: //1.Do NOT set this option,rulescan return no hit detail as default; //2.Set necessary STR rule to QUICK; - //rulescan_set_param(scanner->region,RULESCAN_DETAIL_RESULT,); + if(feather->rule_scan_type==1) + { + rulescan_set_param(scanner->region,RULESCAN_DETAIL_RESULT,NULL,0); + } + else if(feather->rule_scan_type==2) + { + rulescan_set_param(scanner->region,RULESCAN_DETAIL_RESULT,NULL,0); + rulescan_set_param(scanner->region,RULESCAN_REGEX_GROUP,NULL,0); + } scanner->tomb_ref=tomb; scanner->region_rslt_buff=(scan_result_t*)malloc(sizeof(scan_result_t)*MAX_SCANNER_HIT_NUM*scan_thread_num); diff --git a/src/inc_internal/rulescan.h b/src/inc_internal/rulescan.h index a2644b8..c2f66b1 100644 --- a/src/inc_internal/rulescan.h +++ b/src/inc_internal/rulescan.h @@ -26,9 +26,9 @@ extern "C" /* rulescan_set_param函数可设置的参数类型 */ enum RULESCAN_PARA_NAME { - RULESCAN_DETAIL_RESULT=1, /* 本标志位表示:返回详细命中位置等信息, optval设为NULL,optlen设为0。默认不返回详细信息*/ - RULESCAN_REGEX_GROUP =2, /* 本标志位表示:返回正则表达式匹配的分组信息;开启本字段,需要先设置RULESCAN_DETAIL_RESULT标志位,optval设为NULL,optlen设为0。默认不返回分组信息 */ - RULESCAN_QUICK_SCAN /* 设置需要快速扫描模式, 由用户自己定义,optval设为NULL,optlen设为0。默认设置是普通扫描模式。*/ + RULESCAN_DETAIL_RESULT=1, /* 本标志位表示:返回详细命中位置等信息, optval设为NULL,optlen设为0。默认不返回详细信息*/ + RULESCAN_REGEX_GROUP =2, /* 本标志位表示:返回正则表达式匹配的分组信息;开启本字段,需要先设置RULESCAN_DETAIL_RESULT标志位,optval设为NULL,optlen设为0。默认不返回分组信息 */ + RULESCAN_QUICK_SCAN /* 设置需要快速扫描模式的sub_type, 由用户自己定义,optval的值为0-4096,optlen设为4。默认设置是普通扫描模式。*/ }; #define MAX_REGEX_GROUP_NUM 5 /* 对于正则表达式,所支持的最大分组的个数 */