Jan Breuer
2017-08-15 3192f8a0084f8a6f82ac18e187d9db30e524ff9b
libscpi/src/expression.c
@@ -193,7 +193,7 @@
    size_t i = 0;
    while (scpiLex_DecimalNumericProgramData(state, &param)) {
        if (i < length) {
            SCPI_ParamToInt(context, &param, &values[i]);
            SCPI_ParamToInt32(context, &param, &values[i]);
        }
        if (scpiLex_SpecificCharacter(state, &param, '!')) {
@@ -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;