From a3c8f8efbfa31f9c093237dd8647bff9554efeac Mon Sep 17 00:00:00 2001
From: Jan Breuer <jan.breuer@jaybee.cz>
Date: 周五, 13 11月 2015 08:38:44 +0800
Subject: [PATCH] Fix warnings and override bug in GCC

---
 examples/test-parser/main.c      |    8 ++++
 libscpi/src/parser.c             |    2 
 examples/test-tcp/main.c         |   10 +++++
 libscpi/test/test_parser.c       |   30 +++++++++------
 examples/test-interactive/main.c |    7 +++
 examples/test-tcp-srq/main.c     |   10 +++--
 6 files changed, 50 insertions(+), 17 deletions(-)

diff --git a/examples/test-interactive/main.c b/examples/test-interactive/main.c
index 06b2fca..ad79036 100644
--- a/examples/test-interactive/main.c
+++ b/examples/test-interactive/main.c
@@ -46,6 +46,7 @@
 }
 
 scpi_result_t SCPI_Flush(scpi_t * context) {
+    (void) context;
     return SCPI_RES_OK;
 }
 
@@ -57,6 +58,8 @@
 }
 
 scpi_result_t SCPI_Control(scpi_t * context, scpi_ctrl_name_t ctrl, scpi_reg_val_t val) {
+    (void) context;
+
     if (SCPI_CTRL_SRQ == ctrl) {
         fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", val, val);
     } else {
@@ -66,11 +69,15 @@
 }
 
 scpi_result_t SCPI_Reset(scpi_t * context) {
+    (void) context;
+
     fprintf(stderr, "**Reset\r\n");
     return SCPI_RES_OK;
 }
 
 scpi_result_t SCPI_SystemCommTcpipControlQ(scpi_t * context) {
+    (void) context;
+
     return SCPI_RES_ERR;
 }
 
diff --git a/examples/test-parser/main.c b/examples/test-parser/main.c
index 4b71ff2..2b016e5 100644
--- a/examples/test-parser/main.c
+++ b/examples/test-parser/main.c
@@ -46,6 +46,8 @@
 }
 
 scpi_result_t SCPI_Flush(scpi_t * context) {
+    (void) context;
+
     return SCPI_RES_OK;
 }
 
@@ -57,6 +59,8 @@
 }
 
 scpi_result_t SCPI_Control(scpi_t * context, scpi_ctrl_name_t ctrl, scpi_reg_val_t val) {
+    (void) context;
+
     if (SCPI_CTRL_SRQ == ctrl) {
         fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", val, val);
     } else {
@@ -66,11 +70,15 @@
 }
 
 scpi_result_t SCPI_Reset(scpi_t * context) {
+    (void) context;
+
     fprintf(stderr, "**Reset\r\n");
     return SCPI_RES_OK;
 }
 
 scpi_result_t SCPI_SystemCommTcpipControlQ(scpi_t * context) {
+    (void) context;
+
     return SCPI_RES_ERR;
 }
 
diff --git a/examples/test-tcp-srq/main.c b/examples/test-tcp-srq/main.c
index b2f53d4..742a23c 100644
--- a/examples/test-tcp-srq/main.c
+++ b/examples/test-tcp-srq/main.c
@@ -107,6 +107,8 @@
 }
 
 scpi_result_t SCPI_Reset(scpi_t * context) {
+    (void) context;
+
     fprintf(stderr, "**Reset\r\n");
     return SCPI_RES_OK;
 }
@@ -200,7 +202,7 @@
     return rc;
 }
 
-static int processIoListen(user_data_t * user_data) {
+static void processIoListen(user_data_t * user_data) {
     struct sockaddr_in cliaddr;
     socklen_t clilen;
     clilen = sizeof (cliaddr);
@@ -211,7 +213,7 @@
     printf("Connection established %s\r\n", inet_ntoa(cliaddr.sin_addr));
 }
 
-static int processSrqIoListen(user_data_t * user_data) {
+static void processSrqIoListen(user_data_t * user_data) {
     struct sockaddr_in cliaddr;
     socklen_t clilen;
     clilen = sizeof (cliaddr);
@@ -231,7 +233,7 @@
     user_data->control_io = -1;
 }
 
-static int processIo(user_data_t * user_data) {
+static void processIo(user_data_t * user_data) {
     int rc;
     char smbuffer[10];
     rc = recv(user_data->io, smbuffer, sizeof (smbuffer), 0);
@@ -248,7 +250,7 @@
     }
 }
 
-static int processSrqIo(user_data_t * user_data) {
+static void processSrqIo(user_data_t * user_data) {
     int rc;
     char smbuffer[10];
     rc = recv(user_data->control_io, smbuffer, sizeof (smbuffer), 0);
diff --git a/examples/test-tcp/main.c b/examples/test-tcp/main.c
index 594b682..dbc84bc 100644
--- a/examples/test-tcp/main.c
+++ b/examples/test-tcp/main.c
@@ -50,6 +50,8 @@
 #include "../common/scpi-def.h"
 
 size_t SCPI_Write(scpi_t * context, const char * data, size_t len) {
+    (void) context;
+
     if (context->user_context != NULL) {
         int fd = *(int *) (context->user_context);
         return write(fd, data, len);
@@ -58,6 +60,8 @@
 }
 
 scpi_result_t SCPI_Flush(scpi_t * context) {
+    (void) context;
+
     return SCPI_RES_OK;
 }
 
@@ -69,6 +73,8 @@
 }
 
 scpi_result_t SCPI_Control(scpi_t * context, scpi_ctrl_name_t ctrl, scpi_reg_val_t val) {
+    (void) context;
+
     if (SCPI_CTRL_SRQ == ctrl) {
         fprintf(stderr, "**SRQ: 0x%X (%d)\r\n", val, val);
     } else {
@@ -78,11 +84,15 @@
 }
 
 scpi_result_t SCPI_Reset(scpi_t * context) {
+    (void) context;
+
     fprintf(stderr, "**Reset\r\n");
     return SCPI_RES_OK;
 }
 
 scpi_result_t SCPI_SystemCommTcpipControlQ(scpi_t * context) {
+    (void) context;
+
     return SCPI_RES_ERR;
 }
 
diff --git a/libscpi/src/parser.c b/libscpi/src/parser.c
index e1d52f8..0552420 100644
--- a/libscpi/src/parser.c
+++ b/libscpi/src/parser.c
@@ -485,7 +485,7 @@
     const char * quote;
     result += writeDelimiter(context);
     result += writeData(context, "\"", 1);
-    while (quote = strnpbrk(data, len, "\"")) {
+    while ((quote = strnpbrk(data, len, "\""))) {
         result += writeData(context, data, quote - data + 1);
         result += writeData(context, "\"", 1);
         len -= quote - data + 1;
diff --git a/libscpi/test/test_parser.c b/libscpi/test/test_parser.c
index 3351173..eefebaf 100644
--- a/libscpi/test/test_parser.c
+++ b/libscpi/test/test_parser.c
@@ -901,16 +901,18 @@
 static void testResultInt32(void) {
     TEST_Result(Int32, 10, "10");
     TEST_Result(Int32, -10, "-10");
-    TEST_Result(Int32, 2147483647, "2147483647");
-    TEST_Result(Int32, -2147483648, "-2147483648");
+    TEST_Result(Int32, 2147483647L, "2147483647");
+    //TEST_Result(Int32, -2147483648L, "-2147483648"); // bug in GCC
+    TEST_Result(Int32, -2147483647L, "-2147483647");
 }
 
 static void testResultUInt32(void) {
     TEST_Result(UInt32, 10, "10");
     TEST_Result(UInt32, -10, "4294967286");
-    TEST_Result(UInt32, 2147483647, "2147483647");
-    TEST_Result(UInt32, -2147483648, "2147483648");
-    TEST_Result(UInt32, 4294967295, "4294967295");
+    TEST_Result(UInt32, 2147483647L, "2147483647");
+    //TEST_Result(UInt32, -2147483648L, "2147483648"); // bug in GCC
+    TEST_Result(UInt32, -2147483647L, "2147483649");
+    TEST_Result(UInt32, 4294967295UL, "4294967295");
 
     TEST_ResultBase(UInt32, 0xffffffff, 16, "#HFFFFFFFF");
     TEST_ResultBase(UInt32, 0xffffffff, 8, "#Q37777777777");
@@ -924,8 +926,9 @@
     TEST_Result(Int64, -128, "-128");
     TEST_Result(Int64, 32767, "32767");
     TEST_Result(Int64, -32768, "-32768");
-    TEST_Result(Int64, 2147483647, "2147483647");
-    TEST_Result(Int64, -2147483648, "-2147483648");
+    TEST_Result(Int64, 2147483647L, "2147483647");
+    //TEST_Result(Int64, -2147483648, "-2147483648"); // bug in gcc
+    TEST_Result(Int64, -2147483647L, "-2147483647");
     TEST_Result(Int64, 9223372036854775807LL, "9223372036854775807");
     //TEST_Result(Int64, -9223372036854775808LL, "-9223372036854775808"); bug in GCC
     TEST_Result(Int64, -9223372036854775807LL, "-9223372036854775807");
@@ -938,8 +941,9 @@
     TEST_Result(UInt64, -128, "18446744073709551488");
     TEST_Result(UInt64, 32767, "32767");
     TEST_Result(UInt64, -32768, "18446744073709518848");
-    TEST_Result(UInt64, 2147483647, "2147483647");
-    TEST_Result(UInt64, -2147483648, "18446744071562067968");
+    TEST_Result(UInt64, 2147483647L, "2147483647");
+    //TEST_Result(UInt64, -2147483648L, "18446744071562067968"); // bug in GCC
+    TEST_Result(UInt64, -2147483647L, "18446744071562067969");
     TEST_Result(UInt64, 9223372036854775807LL, "9223372036854775807");
     //TEST_Result(Int64, -9223372036854775808LL, "9223372036854775808"); bug in GCC
     TEST_Result(UInt64, -9223372036854775807LL, "9223372036854775809");
@@ -957,8 +961,9 @@
     TEST_Result(Float, -128, "-128");
     TEST_Result(Float, 32767, "32767");
     TEST_Result(Float, -32768, "-32768");
-    TEST_Result(Float, 2147483647, "2.14748e+09");
-    TEST_Result(Float, -2147483648, "-2.14748e+09");
+    TEST_Result(Float, 2147483647L, "2.14748e+09");
+    //TEST_Result(Float, -2147483648, "-2.14748e+09"); // bug in GCC
+    TEST_Result(Float, -2147483647L, "-2.14748e+09");
     TEST_Result(Float, 9223372036854775807LL, "9.22337e+18");
     TEST_Result(Float, -9223372036854775807LL, "-9.22337e+18");
 
@@ -974,7 +979,8 @@
     TEST_Result(Double, 32767, "32767");
     TEST_Result(Double, -32768, "-32768");
     TEST_Result(Double, 2147483647, "2147483647");
-    TEST_Result(Double, -2147483648, "-2147483648");
+    //TEST_Result(Double, -2147483648, "-2147483648"); // bug in GCC
+    TEST_Result(Double, -2147483647, "-2147483647");
     TEST_Result(Double, 9223372036854775807LL, "9.22337203685478e+18");
     TEST_Result(Double, -9223372036854775807LL, "-9.22337203685478e+18");
 

--
Gitblit v1.9.1