From 2affda19727ee8e71657c0f2785bb3bf2e732e80 Mon Sep 17 00:00:00 2001 From: Joe_D Date: Mon, 23 Apr 2012 21:59:49 +0200 Subject: Patch to prevent cppcheck warnings/errors and valgrind messages - Submitted by Joe_D #943 --- lcd.c | 36 ++++++++++++++++++++++-------------- setup.c | 1 + sockets.c | 4 ++-- 3 files changed, 25 insertions(+), 16 deletions(-) diff --git a/lcd.c b/lcd.c index 6c8151e..15c9340 100644 --- a/lcd.c +++ b/lcd.c @@ -33,8 +33,11 @@ cLcd::cLcd() { int i, j; connected = false; suspended = false; - ThreadStateData.showvolume = false; - ThreadStateData.newscroll = false; + memset(&ThreadStateData,0,sizeof(ThreadStateData)); + memset(&LastState,0,sizeof(LastState)); + memset(&StringBuffer,0,sizeof(StringBuffer)); + LastStateP=LineMode=0; + ToggleMode=false; sock = wid = hgt = cellwid = cellhgt = 0; closing = false; host = NULL; @@ -47,11 +50,14 @@ cLcd::cLcd() { ThreadStateData.lcddirty[i][j]=true; } ThreadStateData.State=Menu; - for (i=0;i31)) { connected = true; wid=wid/2; LineMode=0; } // 2x32-2x40 @@ -197,7 +203,6 @@ void cLcd::SetTitle( const char *string) { const char* c_string = Convert(string); - unsigned int i; char title[wid+1]; // we need to know the length of the translated string "Schedule" @@ -212,7 +217,7 @@ void cLcd::SetTitle( const char *string) { } else { memset(title,' ',wid/2+1); snprintf(title + ( (wid-strlen(c_string))/2 ),wid-( (wid-strlen(c_string))/2 ),"%s",c_string); // center title - for (i=0;i0) && (to[out-1]==' ') && ispunct(to[out]) ) {to[out-1]=to[out]; to[out]=' '; } @@ -620,7 +624,7 @@ void cLcd::Copy(char *to, const char *from, unsigned int max) { // eliminates ta void cLcd::Split(char *string, char *string1, char *string2) { - unsigned int i,j,k,ofs; + unsigned int i,j,ofs; if ( hgt>2 && ( strlen(string) < 2*wid) && isdigit(string[0]) && isdigit(string[1]) // beautification .. && string[2]==':' && isdigit(string[3]) && isdigit(string[4]) ) { @@ -642,6 +646,7 @@ void cLcd::Split(char *string, char *string1, char *string2) { if ( ( (2*wid-j) >= (ofs=wid-(i+1)) ) && ofs+j <= 2*wid ) { string[j+ofs]='\0'; + unsigned int k; for (k=j+ofs-1;k>i+ofs; k-- ) string[k]=string[k-ofs]; for (k=0;k 0){ + int OutValue = 0; for (int o=0; o < LcdSetup.OutputNumber; o++){ switch(LcdSetup.OutputFunction[o]){ case 0: // Off diff --git a/setup.c b/setup.c index 218f88d..075be70 100644 --- a/setup.c +++ b/setup.c @@ -17,6 +17,7 @@ cLcdSetup::cLcdSetup(void) SetPrio = 2; BackLightWait = 20; PrioWait = 60; + ClientPrioWait = 60; OutputNumber = 0; for (int i = 0; i < LCDMAXOUTPUTS; i++) OutputFunction[i] = 0; diff --git a/sockets.c b/sockets.c index ff3a6a6..2df4fc7 100644 --- a/sockets.c +++ b/sockets.c @@ -134,7 +134,7 @@ sock_recv_string (int fd, char *dest, size_t maxlen) if (!dest) return -1; - if (maxlen <= 0) + if (maxlen == 0) return 0; while (1) { @@ -215,7 +215,7 @@ sock_recv (int fd, void *dest, size_t maxlen) if (!dest) return -1; - if (maxlen <= 0) + if (maxlen == 0) return 0; err = read (fd, dest, maxlen); -- cgit v1.2.3