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/parser.c | 10 ++++++---- 1 files changed, 6 insertions(+), 4 deletions(-) diff --git a/libscpi/src/parser.c b/libscpi/src/parser.c index 8530871..5e34d1c 100644 --- a/libscpi/src/parser.c +++ b/libscpi/src/parser.c @@ -57,7 +57,7 @@ static size_t writeData(scpi_t * context, const char * data, size_t len) { if ((len > 0) && (data != NULL)) { return 0; - // return context->interface->write(context, data, len); + return context->interface->write(context, data, len); } else { return 0; } @@ -180,7 +180,7 @@ * @param context * @result TRUE if context->paramlist is filled with correct values */ -scpi_bool_t findCommandHeader(scpi_t * context, const char * header,int len) +scpi_bool_t findCommandHeader(scpi_t * context, const char * header) { //鍙傛暟宸茬粡鍦ㄥ墠闈㈤儴鍒嗚В鏋愬畬鎴�,鍖归厤鍛戒护鏃跺氨涓嶅啀闇�瑕佸弬鏁伴儴鍒� 灏嗗懡浠ゆ媶闄ゅ嵆鍙� char *header_copy = strdup(header); @@ -190,12 +190,13 @@ { if( match_segments_global(first_part,i) ) { + setCurrentIndex(i); context->param_list.cmd = &context->cmdlist[i]; free(header_copy); return TRUE; } } - context->SCPIerror = RETURN_NotFind; + context->SCPIerror = RETURN_NotFind; return FALSE; } @@ -245,7 +246,7 @@ //鍛戒护鏈夋晥寮�濮嬪鐞� composeCompoundCommand(&cmd_prev, &state->programHeader); //鏌ユ壘鍛戒护鍚庡苟涓旇缃В鏋愮姸鎬佸苟涓旀墽琛屽懡浠� - if (findCommandHeader(context, state->programHeader.ptr, state->programHeader.len)) { + if (findCommandHeader(context, state->programHeader.ptr)) { context->param_list.lex_state.buffer = state->programData.ptr; context->param_list.lex_state.pos = context->param_list.lex_state.buffer; @@ -361,6 +362,7 @@ */ scpi_bool_t SCPI_Input(scpi_t * context, const char * data, int len) { + clearCurrentGroup(); scpi_bool_t result = FALSE; size_t totcmdlen = 0; int cmdlen = 0; -- Gitblit v1.9.1