From 1f3aae322221514a8df3e06c0adf6844a597b025 Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周一, 10 4月 2017 19:03:01 +0800
Subject: [PATCH] Merge pull request #85 from richardbarlow/master

---
 libscpi/inc/scpi/types.h |   39 ++++++++++++++++++++++++---------------
 1 files changed, 24 insertions(+), 15 deletions(-)

diff --git a/libscpi/inc/scpi/types.h b/libscpi/inc/scpi/types.h
index 0468624..334843a 100644
--- a/libscpi/inc/scpi/types.h
+++ b/libscpi/inc/scpi/types.h
@@ -113,7 +113,12 @@
 
     typedef struct _scpi_command_t scpi_command_t;
 
-#define SCPI_CMD_LIST_END       {NULL, NULL, 0}
+#if USE_COMMAND_TAGS
+	#define SCPI_CMD_LIST_END       {NULL, NULL, 0}
+#else
+	#define SCPI_CMD_LIST_END       {NULL, NULL}
+#endif
+
 
     /* scpi interface */
     typedef struct _scpi_t scpi_t;
@@ -201,21 +206,23 @@
 
     typedef scpi_result_t(*scpi_command_callback_t)(scpi_t *);
 
-	struct _scpi_error_info_heap_t {
+    struct _scpi_error_info_heap_t {
         size_t wr;
-        //size_t rd;
-		size_t count;
+        /* size_t rd; */
+        size_t count;
         size_t size;
         char * data;
-	};
-	typedef struct _scpi_error_info_heap_t scpi_error_info_heap_t;
-	
-	struct _scpi_error_t {
-		int16_t error_code;
-		const char * device_dependent_info;
-	};
-	typedef struct _scpi_error_t scpi_error_t;
-		
+    };
+    typedef struct _scpi_error_info_heap_t scpi_error_info_heap_t;
+
+    struct _scpi_error_t {
+        int16_t error_code;
+#if USE_DEVICE_DEPENDENT_ERROR_INFORMATION
+        char * device_dependent_info;
+#endif
+    };
+    typedef struct _scpi_error_t scpi_error_t;
+
     struct _scpi_fifo_t {
         int16_t wr;
         int16_t rd;
@@ -326,7 +333,7 @@
         union {
             double value;
             int32_t tag;
-        };
+        } content;
         scpi_unit_t unit;
         int8_t base;
     };
@@ -365,7 +372,9 @@
         int_fast16_t input_count;
         scpi_bool_t cmd_error;
         scpi_fifo_t error_queue;
-		scpi_error_info_heap_t error_info_heap;
+#if USE_DEVICE_DEPENDENT_ERROR_INFORMATION && !USE_MEMORY_ALLOCATION_FREE
+        scpi_error_info_heap_t error_info_heap;
+#endif
         scpi_reg_val_t registers[SCPI_REG_COUNT];
         const scpi_unit_def_t * units;
         void * user_context;

--
Gitblit v1.9.1