nancy.liao
6 天以前 5061da0712c43dcd07384e5275b2bcab76e8667e
libscpi/src/parser.c
@@ -182,14 +182,19 @@
 */
static scpi_bool_t findCommandHeader(scpi_t * context, const char * header, int len) {
    int32_t i;
    const scpi_command_t * cmd;
    for (i = 0; context->cmdlist[i].pattern != NULL; i++) {
    const scpi_command_t * cmd = NULL;
    for (i = 0; i<context->cmdlistSize; i++) {
        cmd = &context->cmdlist[i];
        if (matchCommand(cmd->pattern, header, len, NULL, 0, 0)) {
            context->param_list.cmd = cmd;
        bool result =test_match(cmd->pattern, header);
        if(result)
        {
             context->param_list.cmd = &context->cmdlist[i];
            return TRUE;
        }
        // if (matchCommand(cmd->pattern, header, len, NULL, 0, 0)) {
        //     context->param_list.cmd = cmd;
        //     return TRUE;
        // }
    }
    context->SCPIerror = RETURN_NotFind;
    return FALSE;
@@ -316,6 +321,8 @@
    context->buffer.data = input_buffer;
    context->buffer.length = input_buffer_length;
    context->buffer.position = 0;
    SCPI_ErrorInit(context, error_queue_data, error_queue_size);
}
@@ -355,7 +362,7 @@
 */
scpi_bool_t SCPI_Input(scpi_t * context, const char * data, int len)
{
    scpi_bool_t result = FALSE;
     scpi_bool_t result = FALSE;
    size_t totcmdlen = 0;
    int cmdlen = 0;
    //当长度为0时  解析当前的数据 并且清空context的buff标记位