From 3c5ca89152f962e0887bd5cf607c69a52c3dd575 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周二, 31 5月 2016 21:50:42 +0800 Subject: [PATCH] Rework compiler detection, fix SCPI_dtostre length limitation --- libscpi/inc/scpi/types.h | 34 +++++++++++++++++++--------------- 1 files changed, 19 insertions(+), 15 deletions(-) diff --git a/libscpi/inc/scpi/types.h b/libscpi/inc/scpi/types.h index 8dbcd64..de5e0d0 100644 --- a/libscpi/inc/scpi/types.h +++ b/libscpi/inc/scpi/types.h @@ -201,21 +201,23 @@ typedef scpi_result_t(*scpi_command_callback_t)(scpi_t *); - struct _scpi_error_info_heap_t { - int16_t wr; - int16_t rd; - int16_t count; - int16_t size; + struct _scpi_error_info_heap_t { + size_t wr; + /* 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; @@ -365,7 +367,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