From e3c4ceff84aa0615280c9d64858483b930091586 Mon Sep 17 00:00:00 2001 From: Chris Pavlina <cpavlin1@binghamton.edu> Date: 周五, 12 12月 2014 17:57:28 +0800 Subject: [PATCH] Added SCPI_IsCmd --- libscpi/src/parser.c | 21 ++++++++++++++++----- 1 files changed, 16 insertions(+), 5 deletions(-) diff --git a/libscpi/src/parser.c b/libscpi/src/parser.c index 1f4e9d7..122b557 100644 --- a/libscpi/src/parser.c +++ b/libscpi/src/parser.c @@ -39,7 +39,7 @@ #include "scpi/config.h" #include "scpi/parser.h" -#include "utils.h" +#include "scpi/utils_private.h" #include "scpi/error.h" #include "scpi/constants.h" @@ -236,6 +236,9 @@ context->paramlist.cmd = cmd; context->paramlist.parameters = cmdline_ptr + cmd_len; context->paramlist.length = cmdline_len - cmd_len; + context->paramlist.cmd_raw.data = cmdline_ptr; + context->paramlist.cmd_raw.length = cmd_len; + context->paramlist.cmd_raw.position = 0; return TRUE; } } @@ -543,8 +546,8 @@ /** * Parse string parameter * @param context - * @param value - * @param len + * @param value Pointer to string buffer where pointer to non-null terminated string will be returned + * @param len Length of returned non-null terminated string * @param mandatory * @return */ @@ -574,8 +577,8 @@ /** * Parse text parameter (can be inside "") * @param context - * @param value - * @param len + * @param value Pointer to string buffer where pointer to non-null terminated string will be returned + * @param len Length of returned non-null terminated string * @param mandatory * @return */ @@ -672,3 +675,11 @@ return FALSE; } +scpi_bool_t SCPI_IsCmd(scpi_t * context, const char * cmd) { + if (! context->paramlist.cmd) { + return FALSE; + } + + const char * pattern = context->paramlist.cmd->pattern; + return matchCommand (pattern, cmd, strlen (cmd)); +} -- Gitblit v1.9.1