summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorliuwentan <[email protected]>2023-12-13 18:15:28 +0800
committerliuwentan <[email protected]>2023-12-13 18:15:28 +0800
commitdf7505fa7f4fe4e1c8ca719042caa67c7ab78bde (patch)
tree075b20e3e82c70da71d0d37d674a889d74def669
parentb95135101f5a2ca6f46bb0e6dce630e20026962d (diff)
[PATCH]add maat_state_get_last_hit_group_id_cnt APIv4.1.20
-rw-r--r--include/maat.h3
-rw-r--r--src/inc_internal/maat_compile.h2
-rw-r--r--src/maat_api.c9
-rw-r--r--src/maat_compile.c5
-rw-r--r--test/maat_framework_gtest.cpp9
5 files changed, 25 insertions, 3 deletions
diff --git a/include/maat.h b/include/maat.h
index dc7e35b..e3dfaa2 100644
--- a/include/maat.h
+++ b/include/maat.h
@@ -349,6 +349,9 @@ size_t maat_state_get_indirect_hit_group_cnt(struct maat_state *state);
int maat_state_get_last_hit_group_ids(struct maat_state *state,
long long *group_id_array,
size_t array_size);
+
+size_t maat_state_get_last_hit_group_id_cnt(struct maat_state *state);
+
#ifdef __cplusplus
}
#endif
diff --git a/src/inc_internal/maat_compile.h b/src/inc_internal/maat_compile.h
index 371b4bd..aeec840 100644
--- a/src/inc_internal/maat_compile.h
+++ b/src/inc_internal/maat_compile.h
@@ -123,6 +123,8 @@ size_t compile_state_get_last_hit_group_id(struct compile_state *compile_state,
long long *group_id_arary,
size_t array_size);
+size_t compile_state_get_last_hit_group_id_cnt(struct compile_state *compile_state);
+
int compile_state_get_compile_table_id(struct compile_state *compile_state,
long long compile_id);
diff --git a/src/maat_api.c b/src/maat_api.c
index dbc633b..2dad86e 100644
--- a/src/maat_api.c
+++ b/src/maat_api.c
@@ -2151,4 +2151,13 @@ int maat_state_get_last_hit_group_ids(struct maat_state *state,
return compile_state_get_last_hit_group_id(state->compile_state,
group_id_array, array_size);
+}
+
+size_t maat_state_get_last_hit_group_id_cnt(struct maat_state *state)
+{
+ if (NULL == state || NULL == state->compile_state) {
+ return 0;
+ }
+
+ return compile_state_get_last_hit_group_id_cnt(state->compile_state);
} \ No newline at end of file
diff --git a/src/maat_compile.c b/src/maat_compile.c
index 1ef59a8..66f6845 100644
--- a/src/maat_compile.c
+++ b/src/maat_compile.c
@@ -2578,6 +2578,11 @@ size_t compile_state_get_last_hit_group_id(struct compile_state *compile_state,
return i;
}
+size_t compile_state_get_last_hit_group_id_cnt(struct compile_state *compile_state)
+{
+ return utarray_len(compile_state->last_hit_group_ids);
+}
+
size_t compile_state_get_direct_hit_groups(struct compile_state *compile_state,
struct maat_hit_group *group_array,
size_t array_size)
diff --git a/test/maat_framework_gtest.cpp b/test/maat_framework_gtest.cpp
index fa01ec8..3d07fc1 100644
--- a/test/maat_framework_gtest.cpp
+++ b/test/maat_framework_gtest.cpp
@@ -8877,8 +8877,9 @@ TEST_F(MaatCmdTest, HitGroup) {
EXPECT_EQ(hit_groups[0].group_id, group11_id);
EXPECT_EQ(hit_groups[0].vtable_id, http_req_table_id);
+ size_t n_last_hit_group = maat_state_get_last_hit_group_id_cnt(state);
long long last_hit_group_ids[128] = {0};
- size_t n_last_hit_group = maat_state_get_last_hit_group_ids(state, last_hit_group_ids, 128);
+ maat_state_get_last_hit_group_ids(state, last_hit_group_ids, 128);
EXPECT_EQ(n_last_hit_group, 2);
EXPECT_EQ(last_hit_group_ids[0], group1_id);
EXPECT_EQ(last_hit_group_ids[1], group11_id);
@@ -8922,7 +8923,8 @@ TEST_F(MaatCmdTest, HitGroup) {
EXPECT_EQ(hit_groups[0].group_id, group21_id);
EXPECT_EQ(hit_groups[0].vtable_id, http_res_table_id);
- n_last_hit_group = maat_state_get_last_hit_group_ids(state, last_hit_group_ids, 128);
+ n_last_hit_group = maat_state_get_last_hit_group_id_cnt(state);
+ maat_state_get_last_hit_group_ids(state, last_hit_group_ids, 128);
EXPECT_EQ(n_last_hit_group, 2);
EXPECT_EQ(last_hit_group_ids[0], group2_id);
EXPECT_EQ(last_hit_group_ids[1], group21_id);
@@ -8986,7 +8988,8 @@ TEST_F(MaatCmdTest, HitGroup) {
EXPECT_EQ(hit_groups[0].group_id, group1_id);
EXPECT_EQ(hit_groups[0].vtable_id, keywords_table_id); //physical table(keywords_table) vtable_id is 0
- n_last_hit_group = maat_state_get_last_hit_group_ids(state, last_hit_group_ids, 128);
+ n_last_hit_group = maat_state_get_last_hit_group_id_cnt(state);
+ maat_state_get_last_hit_group_ids(state, last_hit_group_ids, 128);
EXPECT_EQ(n_last_hit_group, 2);
EXPECT_EQ(last_hit_group_ids[0], group1_id);
EXPECT_EQ(last_hit_group_ids[1], group11_id);