From 4d0090dfcc94fcec37858e68d0ca12f213befb2f Mon Sep 17 00:00:00 2001 From: Dhanya Thattil Date: Wed, 21 Nov 2018 15:57:46 +0100 Subject: [PATCH] ctb server: added brackets around char* in write to socket --- .../commonFiles/communication_funcs.c | 8 ++++---- .../jctbDetectorServer_developer | Bin 119128 -> 119128 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/slsDetectorSoftware/commonFiles/communication_funcs.c b/slsDetectorSoftware/commonFiles/communication_funcs.c index 73e4da200..71f180ae1 100755 --- a/slsDetectorSoftware/commonFiles/communication_funcs.c +++ b/slsDetectorSoftware/commonFiles/communication_funcs.c @@ -31,9 +31,9 @@ int myport=-1; //struct sockaddr_in address; //#define VERBOSE -#define BLACKFIN_DRVR_SND_LMT 30000 // rough limit -#define BLACKFIN_RSND_PCKT_LOOP 10 -#define BLACKFIN_RSND_WAIT_US (10 * 1000) +#define BLACKFIN_DRVR_SND_LMT (30000) // rough limit +#define BLACKFIN_RSND_PCKT_LOOP (10) +#define BLACKFIN_RSND_WAIT_US (1) int bindSocket(unsigned short int port_number) { int i; @@ -332,7 +332,7 @@ int sendDataOnly(int file_des, void* buf,int length) { bytesToSend = BLACKFIN_DRVR_SND_LMT; // send - int rc = write(file_des, (char*)buf + bytesSent, bytesToSend); + int rc = write(file_des, (char*)((char*)buf + bytesSent), bytesToSend); // error if (rc < 0) { cprintf(BG_RED, "Error writing to socket. Possible socket crash\n"); diff --git a/slsDetectorSoftware/jctbDetectorServer/jctbDetectorServer_developer b/slsDetectorSoftware/jctbDetectorServer/jctbDetectorServer_developer index 2fef28971f47a49638e24a9cc52fe9b80bb70f2c..4815259a66cf3e7f2d84990ac868b1b5680fe843 100755 GIT binary patch delta 14685 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 delta 14619 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 J&dUVX{{>3XirfGI