From f2dbd1cc2948f4a52e952f2b10c5ac8bca10dba6 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周二, 19 8月 2014 21:19:22 +0800 Subject: [PATCH] Add support for matching number suffix --- libscpi/src/parser.c | 25 ++++++++++++++----------- 1 files changed, 14 insertions(+), 11 deletions(-) diff --git a/libscpi/src/parser.c b/libscpi/src/parser.c index d5728af..b4f79ac 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" @@ -52,7 +52,7 @@ static void paramSkipBytes(scpi_t * context, size_t num); static void paramSkipWhitespace(scpi_t * context); -static bool_t paramNext(scpi_t * context, bool_t mandatory); +static scpi_bool_t paramNext(scpi_t * context, scpi_bool_t mandatory); /* int _strnicmp(const char* s1, const char* s2, size_t len) { @@ -226,7 +226,7 @@ * @param context * @result TRUE if context->paramlist is filled with correct values */ -static bool_t findCommand(scpi_t * context, const char * cmdline_ptr, size_t cmdline_len, size_t cmd_len) { +static scpi_bool_t findCommand(scpi_t * context, const char * cmdline_ptr, size_t cmdline_len, size_t cmd_len) { int32_t i; const scpi_command_t * cmd; @@ -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; } } @@ -392,7 +395,7 @@ * @param val * @return */ -size_t SCPI_ResultBool(scpi_t * context, bool_t val) { +size_t SCPI_ResultBool(scpi_t * context, scpi_bool_t val) { return SCPI_ResultInt(context, val ? 1 : 0); } @@ -459,7 +462,7 @@ * @param mandatory * @return */ -bool_t paramNext(scpi_t * context, bool_t mandatory) { +scpi_bool_t paramNext(scpi_t * context, scpi_bool_t mandatory) { paramSkipWhitespace(context); if (context->paramlist.length == 0) { if (mandatory) { @@ -487,7 +490,7 @@ * @param mandatory * @return */ -bool_t SCPI_ParamInt(scpi_t * context, int32_t * value, bool_t mandatory) { +scpi_bool_t SCPI_ParamInt(scpi_t * context, int32_t * value, scpi_bool_t mandatory) { const char * param; size_t param_len; size_t num_len; @@ -517,7 +520,7 @@ * @param mandatory * @return */ -bool_t SCPI_ParamDouble(scpi_t * context, double * value, bool_t mandatory) { +scpi_bool_t SCPI_ParamDouble(scpi_t * context, double * value, scpi_bool_t mandatory) { const char * param; size_t param_len; size_t num_len; @@ -548,7 +551,7 @@ * @param mandatory * @return */ -bool_t SCPI_ParamString(scpi_t * context, const char ** value, size_t * len, bool_t mandatory) { +scpi_bool_t SCPI_ParamString(scpi_t * context, const char ** value, size_t * len, scpi_bool_t mandatory) { size_t length; if (!value || !len) { @@ -579,7 +582,7 @@ * @param mandatory * @return */ -bool_t SCPI_ParamText(scpi_t * context, const char ** value, size_t * len, bool_t mandatory) { +scpi_bool_t SCPI_ParamText(scpi_t * context, const char ** value, size_t * len, scpi_bool_t mandatory) { size_t length; if (!value || !len) { @@ -608,7 +611,7 @@ * @param mandatory * @return */ -bool_t SCPI_ParamBool(scpi_t * context, bool_t * value, bool_t mandatory) { +scpi_bool_t SCPI_ParamBool(scpi_t * context, scpi_bool_t * value, scpi_bool_t mandatory) { const char * param; size_t param_len; size_t num_len; @@ -648,7 +651,7 @@ * @param mandatory * @return */ -bool_t SCPI_ParamChoice(scpi_t * context, const char * options[], int32_t * value, bool_t mandatory) { +scpi_bool_t SCPI_ParamChoice(scpi_t * context, const char * options[], int32_t * value, scpi_bool_t mandatory) { const char * param; size_t param_len; size_t res; -- Gitblit v1.9.1