From 09a85995bb4440d2060d478eab89b7e714386ef9 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: ćšć, 10 9æ 2015 07:31:18 +0800 Subject: [PATCH] mend --- libscpi/src/expression.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff --git a/libscpi/src/expression.c b/libscpi/src/expression.c index e0cae6c..9625f03 100644 --- a/libscpi/src/expression.c +++ b/libscpi/src/expression.c @@ -62,7 +62,7 @@ { lex_state_t lex; int i; - scpi_expr_result_t res; + scpi_expr_result_t res = SCPI_EXPR_OK; if (!isRange || !valueFrom || !valueTo || !param) { SCPI_ErrorPush(context, SCPI_ERROR_SYSTEM_ERROR); @@ -77,7 +77,7 @@ lex.buffer = param->ptr + 1; lex.pos = lex.buffer; lex.len = param->len - 2; - + for (i = 0; i <= index; i++) { res = numericRange(&lex, isRange, valueFrom, valueTo); if (res != SCPI_EXPR_OK) { @@ -85,7 +85,7 @@ } if (i != index) { if (!scpiLex_Comma(&lex, valueFrom)) { - res = SCPI_EXPR_ERROR; + res = scpiLex_IsEos(&lex) ? SCPI_EXPR_NO_MORE : SCPI_EXPR_ERROR; break; } } @@ -106,9 +106,10 @@ res = SCPI_ExprNumericListEntry(context, param, index, &range, ¶mFrom, ¶mTo); if (res == SCPI_EXPR_OK) { + *isRange = range; SCPI_ParamToInt(context, ¶mFrom, valueFrom); if (range) { - SCPI_ParamToInt(context, ¶mTo, valueFrom); + SCPI_ParamToInt(context, ¶mTo, valueTo); } } @@ -124,9 +125,10 @@ res = SCPI_ExprNumericListEntry(context, param, index, &range, ¶mFrom, ¶mTo); if (res == SCPI_EXPR_OK) { + *isRange = range; SCPI_ParamToDouble(context, ¶mFrom, valueFrom); if (range) { - SCPI_ParamToDouble(context, ¶mTo, valueFrom); + SCPI_ParamToDouble(context, ¶mTo, valueTo); } } -- Gitblit v1.9.1