From b5e8e4dc2bdeca39195a78d8d7f01bd7f099923c Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周五, 13 11月 2015 18:54:29 +0800
Subject: [PATCH] Resolve #65: Cast char to unsigned in isctype functions

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

diff --git a/libscpi/src/units.c b/libscpi/src/units.c
index 3a2ac15..f59fe86 100644
--- a/libscpi/src/units.c
+++ b/libscpi/src/units.c
@@ -38,6 +38,7 @@
 #include "scpi/parser.h"
 #include "scpi/units.h"
 #include "utils_private.h"
+#include "scpi/utils.h"
 #include "scpi/error.h"
 #include "lexer_private.h"
 
@@ -199,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;
@@ -222,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:
@@ -233,9 +233,11 @@
             value->special = FALSE;
             result = TRUE;
             break;
+        default:
+            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:
@@ -250,9 +252,11 @@
         case SCPI_TOKEN_OCTNUM:
             value->base = 8;
             break;
+        default:
+            break;
     }
 
-    switch(param.type) {
+    switch (param.type) {
         case SCPI_TOKEN_DECIMAL_NUMERIC_PROGRAM_DATA:
             SCPI_ParamToDouble(context, &param, &(value->value));
             break;
@@ -279,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