From 2140d423dc485e5d1f3ae2c2aa39d7e28a6069ac Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周五, 19 2月 2016 23:01:08 +0800
Subject: [PATCH] Fix #74 bad handling of incomplete ARB data

---
 libscpi/src/units.c |   11 +++++------
 1 files changed, 5 insertions(+), 6 deletions(-)

diff --git a/libscpi/src/units.c b/libscpi/src/units.c
index acf44fa..f59fe86 100644
--- a/libscpi/src/units.c
+++ b/libscpi/src/units.c
@@ -200,8 +200,7 @@
  * @param mandatory if the parameter is mandatory
  * @return 
  */
-scpi_bool_t SCPI_ParamNumber(scpi_t * context, const scpi_choice_def_t * special, scpi_number_t * value, scpi_bool_t mandatory)
-{
+scpi_bool_t SCPI_ParamNumber(scpi_t * context, const scpi_choice_def_t * special, scpi_number_t * value, scpi_bool_t mandatory) {
     scpi_token_t token;
     lex_state_t state;
     scpi_parameter_t param;
@@ -223,7 +222,7 @@
     state.pos = state.buffer;
     state.len = param.len;
 
-    switch(param.type) {
+    switch (param.type) {
         case SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA:
         case SCPI_TOKEN_HEXNUM:
         case SCPI_TOKEN_OCTNUM:
@@ -238,7 +237,7 @@
             break;
     }
 
-    switch(param.type) {
+    switch (param.type) {
         case SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA:
         case SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA_WITH_SUFFIX:
         case SCPI_TOKEN_PROGRAM_MNEMONIC:
@@ -257,7 +256,7 @@
             break;
     }
 
-    switch(param.type) {
+    switch (param.type) {
         case SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA:
             SCPI_ParamToDouble(context, &param, &(value->value));
             break;
@@ -284,7 +283,7 @@
             scpiLex_CharacterProgramData(&state, &token);
 
             /* convert string to special number type */
-            SCPI_ParamToChoice(context, &token, special, &tag);
+            result = SCPI_ParamToChoice(context, &token, special, &tag);
 
             value->special = TRUE;
             value->tag = tag;

--
Gitblit v1.9.1