From 3344d1a728d37f0fb3e82a6a945eee0c780eb734 Mon Sep 17 00:00:00 2001
From: Chernov Dmitriy <cd_work@mail.ru>
Date: 周三, 02 3月 2016 21:29:32 +0800
Subject: [PATCH] Fix potential memory leak. #73

---
 examples/test-tcp-srq/main.c |   31 +++++++++++++++++++------------
 1 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/examples/test-tcp-srq/main.c b/examples/test-tcp-srq/main.c
index b2f53d4..095fdb8 100644
--- a/examples/test-tcp-srq/main.c
+++ b/examples/test-tcp-srq/main.c
@@ -2,7 +2,7 @@
  * Copyright (c) 2012-2013 Jan Breuer,
  *
  * All Rights Reserved
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions are
  * met:
@@ -11,7 +11,7 @@
  * 2. Redistributions in binary form must reproduce the above copyright
  *    notice, this list of conditions and the following disclaimer in the
  *    documentation and/or other materials provided with the distribution.
- * 
+ *
  * THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
@@ -28,10 +28,10 @@
 /**
  * @file   main.c
  * @date   Thu Nov 15 10:58:45 UTC 2012
- * 
+ *
  * @brief  TCP/IP SCPI Server
- * 
- * 
+ *
+ *
  */
 
 #include <stdio.h>
@@ -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);
@@ -266,7 +268,7 @@
 }
 
 /*
- * 
+ *
  */
 int main(int argc, char** argv) {
     (void) argc;
@@ -282,9 +284,14 @@
     };
 
     // user_context will be pointer to socket
+    SCPI_Init(&scpi_context,
+            scpi_commands,
+            &scpi_interface,
+            scpi_units_def,
+            SCPI_IDN1, SCPI_IDN2, SCPI_IDN3, SCPI_IDN4,
+            scpi_input_buffer, SCPI_INPUT_BUFFER_LENGTH,
+            scpi_error_queue_data, SCPI_ERROR_QUEUE_SIZE);
     scpi_context.user_context = &user_data;
-
-    SCPI_Init(&scpi_context);
 
     user_data.io_listen = createServer(5025);
     user_data.control_io_listen = createServer(CONTROL_PORT);

--
Gitblit v1.9.1