From 1f3aae322221514a8df3e06c0adf6844a597b025 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周一, 10 4月 2017 19:03:01 +0800 Subject: [PATCH] Merge pull request #85 from richardbarlow/master --- libscpi/src/expression.c | 8 +++++--- 1 files changed, 5 insertions(+), 3 deletions(-) diff --git a/libscpi/src/expression.c b/libscpi/src/expression.c index 1b8cb2e..8f80b2d 100644 --- a/libscpi/src/expression.c +++ b/libscpi/src/expression.c @@ -193,7 +193,7 @@ size_t i = 0; while (scpiLex_DecimalNumericProgramData(state, ¶m)) { if (i < length) { - SCPI_ParamToInt(context, ¶m, &values[i]); + SCPI_ParamToInt32(context, ¶m, &values[i]); } if (scpiLex_SpecificCharacter(state, ¶m, '!')) { @@ -207,7 +207,7 @@ if (i == 0) { return SCPI_EXPR_NO_MORE; } else { - // there was at least one number followed by !, but after ! was not another number + /* there was at least one number followed by !, but after ! was not another number */ return SCPI_EXPR_ERROR; } } @@ -245,6 +245,8 @@ *dimensions = fromDimensions; return SCPI_EXPR_OK; } + } else if (err == SCPI_EXPR_NO_MORE) { + err = SCPI_EXPR_ERROR; } return err; @@ -281,7 +283,7 @@ lex.pos = lex.buffer; lex.len = param->len - 2; - // detect channel list expression + /* detect channel list expression */ if (!scpiLex_SpecificCharacter(&lex, &token, '@')) { SCPI_ErrorPush(context, SCPI_ERROR_EXPRESSION_PARSING_ERROR); return SCPI_EXPR_ERROR; -- Gitblit v1.9.1