author | erik <erik> | 2007-01-24 19:57:51 (UTC) |
---|---|---|
committer | erik <erik> | 2007-01-24 19:57:51 (UTC) |
commit | 48d9219a96096cf44df8ac24413b36d1b718b1d5 (patch) (side-by-side diff) | |
tree | ef49f0d2b778283221ebbb8634f1a59710ddd108 | |
parent | 89e81059e832ff77c2f0ac8b9db12f80eafa03fc (diff) | |
download | opie-48d9219a96096cf44df8ac24413b36d1b718b1d5.zip opie-48d9219a96096cf44df8ac24413b36d1b718b1d5.tar.gz opie-48d9219a96096cf44df8ac24413b36d1b718b1d5.tar.bz2 |
Each file in this commit has the issue where a function can return a
negative result but the result is used in a context that can only be
positive.
-rw-r--r-- | noncore/games/kpacman/score.cpp | 4 | ||||
-rw-r--r-- | noncore/todayplugins/stockticker/libstocks/http.c | 19 |
2 files changed, 11 insertions, 12 deletions
diff --git a/noncore/games/kpacman/score.cpp b/noncore/games/kpacman/score.cpp index 6878b81..737f03b 100644 --- a/noncore/games/kpacman/score.cpp +++ b/noncore/games/kpacman/score.cpp @@ -194,101 +194,101 @@ void Score::keyPressEvent(QKeyEvent *k) if (key != Key_Return) { if (key == RightKey || key == Key_Right) if (++cursor.x > 16) cursor.x = 14; if (key == LeftKey || key == Key_Left) if (--cursor.x < 14) cursor.x = 16; if (key == UpKey || key == Key_Up) if (cursor.chr.unicode() < bitfont->lastChar()) cursor.chr = cursor.chr.unicode()+1; else cursor.chr = bitfont->firstChar(); if (key == DownKey || key == Key_Down) if (cursor.chr.unicode() > bitfont->firstChar()) cursor.chr = cursor.chr.unicode()-1; else cursor.chr = bitfont->lastChar(); if (cursor.x == x && cursor.y == y && cursor.chr == hallOfFame[lastScore].name.at(cursor.x-14)) { uint ascii = k->ascii(); if (ascii < bitfont->firstChar() || ascii > bitfont->lastChar()) ascii = toupper(ascii); if (ascii >= bitfont->firstChar() && ascii <= bitfont->lastChar()) { cursor.chr = ascii; hallOfFame[lastScore].name.at(cursor.x-14) = cursor.chr; if (++cursor.x > 16) cursor.x = 14; } } } if (key == Key_Return) { playerName[lastPlayer] = hallOfFame[lastScore].name; write(); read(); lastScore = -1; cursor.x = -1; cursor.y = -1; // killTimers(); emit toggleNew(); end(); } if (x != cursor.x || y != cursor.y) { - if (cursor.x != -1) + if (cursor.x != -1 && lastScore >= 0) cursor.chr = hallOfFame[lastScore].name.at(cursor.x-14); scrollRepeat = FALSE; repaint(rect(x, y*1.25, cursor.chr), FALSE); - } else + } else if (lastScore >= 0) hallOfFame[lastScore].name.at(cursor.x-14) = cursor.chr; if (key == UpKey || key == Key_Up || key == DownKey || key == Key_Down) scrollRepeat = TRUE; else repaint(rect(cursor.x, cursor.y*1.25, cursor.chr), FALSE); } void Score::initKeys() { APP_CONFIG_BEGIN( cfg ); QString up("Up"); up = cfg->readEntry("upKey", (const char*) up); UpKey = KAccel::stringToKey(up); QString down("Down"); down = cfg->readEntry("downKey", (const char*) down); DownKey = KAccel::stringToKey(down); QString left("Left"); left = cfg->readEntry("leftKey", (const char*) left); LeftKey = KAccel::stringToKey(left); QString right("Right"); right = cfg->readEntry("rightKey", (const char*) right); RightKey = KAccel::stringToKey(right); APP_CONFIG_END( cfg ); } void Score::confTiming(bool defGroup) { APP_CONFIG_BEGIN( cfg ); if (defGroup || cfg->hasKey("CursorBlinkMS")) cursorBlinkMS = cfg->readNumEntry("CursorBlinkMS", 250); if (defGroup || cfg->hasKey("HallOfFameMS")) hallOfFameMS = cfg->readNumEntry("HallOfFameMS", 7000); if (defGroup || cfg->hasKey("AfterPauseMS")) afterPauseMS = cfg->readNumEntry("AfterPauseMS", 1000); APP_CONFIG_END( cfg ); } void Score::confScheme() { APP_CONFIG_BEGIN( cfg ); SAVE_CONFIG_GROUP( cfg, oldgroup ); QString newgroup; // if not set, read mode and scheme from the configfile diff --git a/noncore/todayplugins/stockticker/libstocks/http.c b/noncore/todayplugins/stockticker/libstocks/http.c index cc78ab7..155ce4b 100644 --- a/noncore/todayplugins/stockticker/libstocks/http.c +++ b/noncore/todayplugins/stockticker/libstocks/http.c @@ -39,254 +39,253 @@ #include <string.h> #include <stdlib.h> #include <stdio.h> #include "http.h" #include "stocks.h" #define BUF_SIZE 1024 #define HEADER_MAXBUF 512 /* pointer to proxy server name or NULL */ char *http_proxy_server=NULL; /* proxy server port number or 0 */ int http_proxy_port=0; /*****************************************************************************/ /* Gets the file from http://http_server/http_file */ /* This function is used to get quotes csv file from yahoo. */ /* It allocates memory for the file and defines *pdata (the pointer of datas)*/ /*****************************************************************************/ libstocks_return_code http_get(char *http_file, char *http_server, char **pdata) { struct hostent *host; /* structs needed by socket */ struct sockaddr_in server; int s; /* socket descriptor */ char header[HEADER_MAXBUF]; /* request header */ int hlg; /* header length */ char buf[BUF_SIZE+1]; /* tempory buffer from socket read */ int r; /* number of bytes read by read function */ char *data=NULL; /* http server response */ int data_lgr; /* http server response length */ char *temp; /* pointer used to split header and csv */ int error_code; /* error code returned by http server */ char *csv_ptr; /* pointer to the csv content */ int header_founded; /* test if header is founded */ #ifdef DEBUG printf("*http_get\n"); #endif /* get host info by name :*/ if ((host = gethostbyname( http_proxy_server ? http_proxy_server : http_server))) { memset((char *) &server,0, sizeof(server)); memmove((char *) &server.sin_addr, host->h_addr, host->h_length); server.sin_family = host->h_addrtype; server.sin_port = (unsigned short) htons( http_proxy_server ? http_proxy_port : 80 ); - } else + } + else { - #ifdef DEBUG printf(" gethostbyname : NOK\n"); #endif return ERRHOST; } /* create socket */ if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) { - #ifdef DEBUG printf(" create socket : NOK\n"); #endif return ERRSOCK; } setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, 0, 0); /* connect to server */ if (connect(s, &server, sizeof(server)) < 0) { #ifdef DEBUG printf(" connect to server : NOK\n"); #endif #ifdef __UNIX__ close(s); #elif __WINDOWS__ closesocket(s); #endif return ERRCONN; } /* create header */ if (http_proxy_server) { sprintf(header,"GET http://%.128s:80%.256s HTTP/1.0\015\012\015\012", http_server, http_file); } else { sprintf(header,"GET %s HTTP/1.0\015\012\015\012",http_file); } hlg=strlen(header); /* send header */ #ifdef __UNIX__ if (write(s,header,hlg)!=hlg) #elif __WINDOWS__ if (send(s,header,hlg, 0)!=hlg) #endif { #ifdef DEBUG printf(" send header : NOK\n"); #endif return ERRWHEA; } data_lgr = 0; r=1; while(r) { /* Clear Buffer */ memset(buf,0,BUF_SIZE+1); #ifdef __UNIX__ r=read(s,buf,BUF_SIZE); #elif __WINDOWS__ r=recv(s,buf,BUF_SIZE,0); #endif - if (r) + if (r > 0) { if(!data_lgr) { if((data = malloc(r+1))==NULL) { - fprintf(stderr,"Memory allocating error (%s line %d)\n" - ,__FILE__, __LINE__); + fprintf(stderr,"Memory allocating error (%s line %d)\n", + __FILE__, __LINE__); exit(1); } memcpy(data,buf,r); data_lgr = r; data[r]=0; } else { if((temp = malloc(r+data_lgr+1))==NULL) { - fprintf(stderr,"Memory allocating error (%s line %d)\n" - ,__FILE__, __LINE__); + fprintf(stderr,"Memory allocating error (%s line %d)\n", + __FILE__, __LINE__); exit(1); } memcpy(temp, data, data_lgr); memcpy(temp+data_lgr, buf, r); temp[r+data_lgr]=0; data_lgr += r; free(data); data = temp; } } } /* close socket */ #ifdef __UNIX__ close(s); #elif __WINDOWS__ closesocket(s); #endif #ifdef DEBUG printf("%s\n", data); #endif /* get headers to test status line */ /* and to split headers and content */ temp = data; header_founded = 0; while( !header_founded ) { if (!temp || *temp==0) return ERRRHEA; if( *temp==0x0A ) { /* test if it is the header end */ temp ++; if (*temp == 0x0D) temp++; if (*temp == 0x0A) header_founded = 1; } else temp++; } *temp = 0; temp++; sscanf(data,"HTTP/1.%*d %03d",&error_code); if (error_code != 200) { #ifdef DEBUG printf(" HTTP error code : %d\n", error_code); #endif free(data); return ERRPAHD; } if ((csv_ptr = malloc(strlen(temp)+1))==NULL) { free(data); - fprintf(stderr,"Memory allocating error (%s line %d)\n" - ,__FILE__, __LINE__); + fprintf(stderr,"Memory allocating error (%s line %d)\n", + __FILE__, __LINE__); exit(1); } memcpy(csv_ptr, temp, strlen(temp)+1); free(data); #ifdef DEBUG printf(" CSV\n"); printf("%s,\n", csv_ptr); #endif *pdata = csv_ptr; return 0; } /******************************************************************************/ /* Set the proxy server to use */ /******************************************************************************/ libstocks_return_code set_proxy(char *proxy) { char *ptr; char c; #ifdef DEBUG printf("*set_proxy\n"); #endif /* Parse the proxy URL - It must start with http:// */ #ifdef __UNIX__ if (strncasecmp("http://",proxy,7)) return ERRPROX; #elif __WINDOWS__ if (_mbsnbicmp("http://",proxy,7)) return ERRPROX; #endif proxy+=7; /* find ":" in the proxy url */ ptr = proxy; for (c=*ptr; (c && c!=':');) c=*ptr++; /* ptr points just after the ":" or at the end of proxy if : not founded */ *(ptr-1)=0; /* clear the ":" */ http_proxy_server=strdup(proxy); #ifdef DEBUG printf("http_proxy_server : %s\n", http_proxy_server); |