From d7e7fd43b8c8feeaca637fe8c054baa69c5b9c2f Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周五, 17 4月 2015 01:03:28 +0800
Subject: [PATCH] Correct error tests, resolve #29 unexpected error -108

---
 libscpi/src/ieee488.c |   14 +++++++++-----
 1 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/libscpi/src/ieee488.c b/libscpi/src/ieee488.c
index 73701ec..7ed8bc8 100644
--- a/libscpi/src/ieee488.c
+++ b/libscpi/src/ieee488.c
@@ -250,10 +250,14 @@
  * @return 
  */
 scpi_result_t SCPI_CoreIdnQ(scpi_t * context) {
-    SCPI_ResultString(context, context->idn[0]);
-    SCPI_ResultString(context, context->idn[1]);
-    SCPI_ResultString(context, context->idn[2]);
-    SCPI_ResultString(context, context->idn[3]);
+    int i;
+    for (i = 0; i<4; i++) {
+        if (context->idn[i]) {
+            SCPI_ResultString(context, context->idn[i]);
+        } else {
+            SCPI_ResultString(context, "0");
+        }
+    }
     return SCPI_RES_OK;
 }
 
@@ -331,7 +335,7 @@
 scpi_result_t SCPI_CoreTstQ(scpi_t * context) {
     int result = 0;
     if (context && context->interface && context->interface->test) {
-        result = context->interface->test(context);
+        result = context->interface->test(context) == SCPI_RES_OK ? 0 : 1;
     }
     SCPI_ResultInt(context, result);
     return SCPI_RES_OK;

--
Gitblit v1.9.1