From 77a92c3204b95eaf2870605718b9099ab6ece56a Mon Sep 17 00:00:00 2001
From: nancy.liao <huihui.liao@greentest.com.cn>
Date: 周一, 26 5月 2025 08:41:11 +0800
Subject: [PATCH] 匹配时添加了一个当前索引项

---
 libscpi/src/externinterface.cpp |   25 +++++++++++++++++++++----
 1 files changed, 21 insertions(+), 4 deletions(-)

diff --git a/libscpi/src/externinterface.cpp b/libscpi/src/externinterface.cpp
index 15153ed..1713166 100644
--- a/libscpi/src/externinterface.cpp
+++ b/libscpi/src/externinterface.cpp
@@ -8,7 +8,12 @@
 #include <sstream>
 
 CPatternResult* g_pattern_results = new (std::nothrow) CPatternResult();
+
 int g_pattern_count = 0;
+
+//static std::vector<std::string_view> currentCommandGroup;
+
+static int currentIndex;
 
 class Segment {
 public:
@@ -221,8 +226,12 @@
     }
 };
 
+char* currentPattern()
+{
+    return g_pattern_results[currentIndex].commandData;
+}
 // 鍏ㄥ眬绠$悊鍑芥暟瀹炵幇
-void add_pattern_to_global(const std::vector<Segment>& segments)
+void add_pattern_to_global(const char* pattern, const std::vector<Segment>& segments)
 {
     // 閲嶆柊鍒嗛厤鍐呭瓨
     CPatternResult* new_results = new CPatternResult[g_pattern_count + 1];
@@ -237,7 +246,6 @@
     CPatternResult& new_item = new_results[g_pattern_count];
     new_item.segments_count = static_cast<int>(segments.size());
     new_item.segments = new CSegment[segments.size()];
-
     for (size_t i = 0; i < segments.size(); ++i)
     {
         const auto& seg = segments[i];
@@ -281,14 +289,23 @@
 
 int get_pattern_count() { return g_pattern_count; }
 
-
+void clearCurrentGroup()
+{
+    currentIndex = -1;
+    //currentCommandGroup.clear();
+}
 void parse_pattern_global(const char* pattern)
 {
     auto segments = PatternParser::extract_all_segments(pattern);
-    add_pattern_to_global(segments);
+    add_pattern_to_global(pattern,segments);
 }
 
+void setCurrentIndex(int index)
+{
+    currentIndex = index;
+}
 
+//pattern_index  鍖归厤缁勭殑涓嬫爣
 int match_segments_global(const char* input, int pattern_index)
 {
     if (pattern_index < 0 || pattern_index >= g_pattern_count)

--
Gitblit v1.9.1