From 59d4618036c85dafc9026d0f84ab00fcb900acc9 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周三, 23 10月 2013 21:46:41 +0800 Subject: [PATCH] merge functionality from 'master' branch --- libscpi/src/units.c | 29 +++++++++++++---------------- 1 files changed, 13 insertions(+), 16 deletions(-) diff --git a/libscpi/src/units.c b/libscpi/src/units.c index 3583ef5..351d735 100644 --- a/libscpi/src/units.c +++ b/libscpi/src/units.c @@ -257,25 +257,22 @@ state.pos = state.buffer; state.len = parameter->data.len; - if (parameter->type == TokDecimalNumericProgramDataWithSuffix) { - SCPI_LexDecimalNumericProgramData(&state, &token); - SCPI_LexWhiteSpace(&state, &token); - SCPI_LexSuffixProgramData(&state, &token); + switch(parameter->type) { + case TokDecimalNumericProgramDataWithSuffix: + SCPI_LexDecimalNumericProgramData(&state, &token); + SCPI_LexWhiteSpace(&state, &token); + SCPI_LexSuffixProgramData(&state, &token); - return transformNumber(context, token.ptr, token.len, ¶meter->number); + return transformNumber(context, token.ptr, token.len, ¶meter->number); + case TokProgramMnemonic: + SCPI_LexWhiteSpace(&state, &token); + SCPI_LexCharacterProgramData(&state, &token); - } else if (parameter->type == TokProgramMnemonic) { - SCPI_LexWhiteSpace(&state, &token); - SCPI_LexCharacterProgramData(&state, &token); - - /* convert string to special number type */ - if (translateSpecialNumber(context->special_numbers, token.ptr, token.len, ¶meter->number)) { - /* found special type */ - return TRUE; - } + /* convert string to special number type */ + return translateSpecialNumber(context->special_numbers, token.ptr, token.len, ¶meter->number); + default: + return FALSE; } - - return FALSE; } /** -- Gitblit v1.9.1