-rw-r--r-- | noncore/games/kpacman/score.cpp | 4 | ||||
-rw-r--r-- | noncore/todayplugins/stockticker/libstocks/http.c | 95 |
2 files changed, 49 insertions, 50 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 | |||
@@ -210,69 +210,69 @@ void Score::keyPressEvent(QKeyEvent *k) | |||
210 | else | 210 | else |
211 | cursor.chr = bitfont->lastChar(); | 211 | cursor.chr = bitfont->lastChar(); |
212 | 212 | ||
213 | if (cursor.x == x && cursor.y == y && | 213 | if (cursor.x == x && cursor.y == y && |
214 | cursor.chr == hallOfFame[lastScore].name.at(cursor.x-14)) { | 214 | cursor.chr == hallOfFame[lastScore].name.at(cursor.x-14)) { |
215 | uint ascii = k->ascii(); | 215 | uint ascii = k->ascii(); |
216 | 216 | ||
217 | if (ascii < bitfont->firstChar() || ascii > bitfont->lastChar()) | 217 | if (ascii < bitfont->firstChar() || ascii > bitfont->lastChar()) |
218 | ascii = toupper(ascii); | 218 | ascii = toupper(ascii); |
219 | 219 | ||
220 | if (ascii >= bitfont->firstChar() && ascii <= bitfont->lastChar()) { | 220 | if (ascii >= bitfont->firstChar() && ascii <= bitfont->lastChar()) { |
221 | cursor.chr = ascii; | 221 | cursor.chr = ascii; |
222 | hallOfFame[lastScore].name.at(cursor.x-14) = cursor.chr; | 222 | hallOfFame[lastScore].name.at(cursor.x-14) = cursor.chr; |
223 | if (++cursor.x > 16) | 223 | if (++cursor.x > 16) |
224 | cursor.x = 14; | 224 | cursor.x = 14; |
225 | } | 225 | } |
226 | } | 226 | } |
227 | } | 227 | } |
228 | 228 | ||
229 | if (key == Key_Return) { | 229 | if (key == Key_Return) { |
230 | playerName[lastPlayer] = hallOfFame[lastScore].name; | 230 | playerName[lastPlayer] = hallOfFame[lastScore].name; |
231 | write(); | 231 | write(); |
232 | read(); | 232 | read(); |
233 | lastScore = -1; | 233 | lastScore = -1; |
234 | cursor.x = -1; | 234 | cursor.x = -1; |
235 | cursor.y = -1; | 235 | cursor.y = -1; |
236 | // killTimers(); | 236 | // killTimers(); |
237 | emit toggleNew(); | 237 | emit toggleNew(); |
238 | end(); | 238 | end(); |
239 | } | 239 | } |
240 | 240 | ||
241 | if (x != cursor.x || y != cursor.y) { | 241 | if (x != cursor.x || y != cursor.y) { |
242 | if (cursor.x != -1) | 242 | if (cursor.x != -1 && lastScore >= 0) |
243 | cursor.chr = hallOfFame[lastScore].name.at(cursor.x-14); | 243 | cursor.chr = hallOfFame[lastScore].name.at(cursor.x-14); |
244 | scrollRepeat = FALSE; | 244 | scrollRepeat = FALSE; |
245 | repaint(rect(x, y*1.25, cursor.chr), FALSE); | 245 | repaint(rect(x, y*1.25, cursor.chr), FALSE); |
246 | } else | 246 | } else if (lastScore >= 0) |
247 | hallOfFame[lastScore].name.at(cursor.x-14) = cursor.chr; | 247 | hallOfFame[lastScore].name.at(cursor.x-14) = cursor.chr; |
248 | 248 | ||
249 | if (key == UpKey || key == Key_Up || key == DownKey || key == Key_Down) | 249 | if (key == UpKey || key == Key_Up || key == DownKey || key == Key_Down) |
250 | scrollRepeat = TRUE; | 250 | scrollRepeat = TRUE; |
251 | else | 251 | else |
252 | repaint(rect(cursor.x, cursor.y*1.25, cursor.chr), FALSE); | 252 | repaint(rect(cursor.x, cursor.y*1.25, cursor.chr), FALSE); |
253 | } | 253 | } |
254 | 254 | ||
255 | void Score::initKeys() | 255 | void Score::initKeys() |
256 | { | 256 | { |
257 | APP_CONFIG_BEGIN( cfg ); | 257 | APP_CONFIG_BEGIN( cfg ); |
258 | QString up("Up"); | 258 | QString up("Up"); |
259 | up = cfg->readEntry("upKey", (const char*) up); | 259 | up = cfg->readEntry("upKey", (const char*) up); |
260 | UpKey = KAccel::stringToKey(up); | 260 | UpKey = KAccel::stringToKey(up); |
261 | 261 | ||
262 | QString down("Down"); | 262 | QString down("Down"); |
263 | down = cfg->readEntry("downKey", (const char*) down); | 263 | down = cfg->readEntry("downKey", (const char*) down); |
264 | DownKey = KAccel::stringToKey(down); | 264 | DownKey = KAccel::stringToKey(down); |
265 | 265 | ||
266 | QString left("Left"); | 266 | QString left("Left"); |
267 | left = cfg->readEntry("leftKey", (const char*) left); | 267 | left = cfg->readEntry("leftKey", (const char*) left); |
268 | LeftKey = KAccel::stringToKey(left); | 268 | LeftKey = KAccel::stringToKey(left); |
269 | 269 | ||
270 | QString right("Right"); | 270 | QString right("Right"); |
271 | right = cfg->readEntry("rightKey", (const char*) right); | 271 | right = cfg->readEntry("rightKey", (const char*) right); |
272 | RightKey = KAccel::stringToKey(right); | 272 | RightKey = KAccel::stringToKey(right); |
273 | APP_CONFIG_END( cfg ); | 273 | APP_CONFIG_END( cfg ); |
274 | } | 274 | } |
275 | 275 | ||
276 | void Score::confTiming(bool defGroup) | 276 | void Score::confTiming(bool defGroup) |
277 | { | 277 | { |
278 | APP_CONFIG_BEGIN( cfg ); | 278 | APP_CONFIG_BEGIN( cfg ); |
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 | |||
@@ -55,222 +55,221 @@ int http_proxy_port=0; | |||
55 | /* Gets the file from http://http_server/http_file */ | 55 | /* Gets the file from http://http_server/http_file */ |
56 | /* This function is used to get quotes csv file from yahoo. */ | 56 | /* This function is used to get quotes csv file from yahoo. */ |
57 | /* It allocates memory for the file and defines *pdata (the pointer of datas)*/ | 57 | /* It allocates memory for the file and defines *pdata (the pointer of datas)*/ |
58 | /*****************************************************************************/ | 58 | /*****************************************************************************/ |
59 | libstocks_return_code http_get(char *http_file, char *http_server, char **pdata) | 59 | libstocks_return_code http_get(char *http_file, char *http_server, char **pdata) |
60 | { | 60 | { |
61 | struct hostent *host; /* structs needed by socket */ | 61 | struct hostent *host; /* structs needed by socket */ |
62 | struct sockaddr_in server; | 62 | struct sockaddr_in server; |
63 | int s; /* socket descriptor */ | 63 | int s; /* socket descriptor */ |
64 | char header[HEADER_MAXBUF]; /* request header */ | 64 | char header[HEADER_MAXBUF]; /* request header */ |
65 | int hlg; /* header length */ | 65 | int hlg; /* header length */ |
66 | char buf[BUF_SIZE+1]; /* tempory buffer from socket read */ | 66 | char buf[BUF_SIZE+1]; /* tempory buffer from socket read */ |
67 | int r; /* number of bytes read by read function */ | 67 | int r; /* number of bytes read by read function */ |
68 | char *data=NULL; /* http server response */ | 68 | char *data=NULL; /* http server response */ |
69 | int data_lgr; /* http server response length */ | 69 | int data_lgr; /* http server response length */ |
70 | char *temp; /* pointer used to split header and csv */ | 70 | char *temp; /* pointer used to split header and csv */ |
71 | int error_code; /* error code returned by http server */ | 71 | int error_code; /* error code returned by http server */ |
72 | char *csv_ptr; /* pointer to the csv content */ | 72 | char *csv_ptr; /* pointer to the csv content */ |
73 | int header_founded; /* test if header is founded */ | 73 | int header_founded; /* test if header is founded */ |
74 | 74 | ||
75 | #ifdef DEBUG | 75 | #ifdef DEBUG |
76 | printf("*http_get\n"); | 76 | printf("*http_get\n"); |
77 | #endif | 77 | #endif |
78 | 78 | ||
79 | /* get host info by name :*/ | 79 | /* get host info by name :*/ |
80 | if ((host = gethostbyname( http_proxy_server ? http_proxy_server : http_server))) | 80 | if ((host = gethostbyname( http_proxy_server ? http_proxy_server : http_server))) |
81 | { | 81 | { |
82 | memset((char *) &server,0, sizeof(server)); | 82 | memset((char *) &server,0, sizeof(server)); |
83 | memmove((char *) &server.sin_addr, host->h_addr, host->h_length); | 83 | memmove((char *) &server.sin_addr, host->h_addr, host->h_length); |
84 | server.sin_family = host->h_addrtype; | 84 | server.sin_family = host->h_addrtype; |
85 | server.sin_port = (unsigned short) htons( http_proxy_server ? http_proxy_port : 80 ); | 85 | server.sin_port = (unsigned short) htons( http_proxy_server ? http_proxy_port : 80 ); |
86 | 86 | ||
87 | } else | 87 | } |
88 | { | 88 | else |
89 | 89 | { | |
90 | #ifdef DEBUG | 90 | #ifdef DEBUG |
91 | printf(" gethostbyname : NOK\n"); | 91 | printf(" gethostbyname : NOK\n"); |
92 | #endif | 92 | #endif |
93 | return ERRHOST; | 93 | return ERRHOST; |
94 | } | 94 | } |
95 | 95 | ||
96 | /* create socket */ | 96 | /* create socket */ |
97 | if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) | 97 | if ((s = socket(AF_INET, SOCK_STREAM, 0)) < 0) |
98 | { | 98 | { |
99 | |||
100 | #ifdef DEBUG | 99 | #ifdef DEBUG |
101 | printf(" create socket : NOK\n"); | 100 | printf(" create socket : NOK\n"); |
102 | #endif | 101 | #endif |
103 | return ERRSOCK; | 102 | return ERRSOCK; |
104 | } | 103 | } |
105 | 104 | ||
106 | setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, 0, 0); | 105 | setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, 0, 0); |
107 | 106 | ||
108 | /* connect to server */ | 107 | /* connect to server */ |
109 | if (connect(s, &server, sizeof(server)) < 0) | 108 | if (connect(s, &server, sizeof(server)) < 0) |
110 | { | 109 | { |
111 | #ifdef DEBUG | 110 | #ifdef DEBUG |
112 | printf(" connect to server : NOK\n"); | 111 | printf(" connect to server : NOK\n"); |
113 | #endif | 112 | #endif |
114 | 113 | ||
115 | #ifdef __UNIX__ | 114 | #ifdef __UNIX__ |
116 | close(s); | 115 | close(s); |
117 | #elif __WINDOWS__ | 116 | #elif __WINDOWS__ |
118 | closesocket(s); | 117 | closesocket(s); |
119 | #endif | 118 | #endif |
120 | return ERRCONN; | 119 | return ERRCONN; |
121 | } | 120 | } |
122 | 121 | ||
123 | /* create header */ | 122 | /* create header */ |
124 | if (http_proxy_server) | 123 | if (http_proxy_server) |
125 | { | 124 | { |
126 | sprintf(header,"GET http://%.128s:80%.256s HTTP/1.0\015\012\015\012", | 125 | sprintf(header,"GET http://%.128s:80%.256s HTTP/1.0\015\012\015\012", |
127 | http_server, http_file); | 126 | http_server, http_file); |
128 | } | 127 | } |
129 | else | 128 | else |
130 | { | 129 | { |
131 | sprintf(header,"GET %s HTTP/1.0\015\012\015\012",http_file); | 130 | sprintf(header,"GET %s HTTP/1.0\015\012\015\012",http_file); |
132 | } | 131 | } |
133 | 132 | ||
134 | hlg=strlen(header); | 133 | hlg=strlen(header); |
135 | 134 | ||
136 | /* send header */ | 135 | /* send header */ |
137 | #ifdef __UNIX__ | 136 | #ifdef __UNIX__ |
138 | if (write(s,header,hlg)!=hlg) | 137 | if (write(s,header,hlg)!=hlg) |
139 | #elif __WINDOWS__ | 138 | #elif __WINDOWS__ |
140 | if (send(s,header,hlg, 0)!=hlg) | 139 | if (send(s,header,hlg, 0)!=hlg) |
141 | #endif | 140 | #endif |
142 | { | 141 | { |
143 | #ifdef DEBUG | 142 | #ifdef DEBUG |
144 | printf(" send header : NOK\n"); | 143 | printf(" send header : NOK\n"); |
145 | #endif | 144 | #endif |
146 | return ERRWHEA; | 145 | return ERRWHEA; |
147 | } | 146 | } |
148 | 147 | ||
149 | data_lgr = 0; | 148 | data_lgr = 0; |
150 | r=1; | 149 | r=1; |
151 | while(r) | 150 | while(r) |
152 | { | 151 | { |
153 | /* Clear Buffer */ | 152 | /* Clear Buffer */ |
154 | memset(buf,0,BUF_SIZE+1); | 153 | memset(buf,0,BUF_SIZE+1); |
155 | 154 | ||
156 | #ifdef __UNIX__ | 155 | #ifdef __UNIX__ |
157 | r=read(s,buf,BUF_SIZE); | 156 | r=read(s,buf,BUF_SIZE); |
158 | #elif __WINDOWS__ | 157 | #elif __WINDOWS__ |
159 | r=recv(s,buf,BUF_SIZE,0); | 158 | r=recv(s,buf,BUF_SIZE,0); |
160 | #endif | 159 | #endif |
161 | 160 | ||
162 | if (r) | 161 | if (r > 0) |
163 | { | 162 | { |
164 | if(!data_lgr) | 163 | if(!data_lgr) |
165 | { | 164 | { |
166 | if((data = malloc(r+1))==NULL) | 165 | if((data = malloc(r+1))==NULL) |
167 | { | 166 | { |
168 | fprintf(stderr,"Memory allocating error (%s line %d)\n" | 167 | fprintf(stderr,"Memory allocating error (%s line %d)\n", |
169 | ,__FILE__, __LINE__); | 168 | __FILE__, __LINE__); |
170 | exit(1); | 169 | exit(1); |
171 | } | 170 | } |
172 | 171 | ||
173 | memcpy(data,buf,r); | 172 | memcpy(data,buf,r); |
174 | data_lgr = r; | 173 | data_lgr = r; |
175 | data[r]=0; | 174 | data[r]=0; |
176 | } | 175 | } |
177 | else | 176 | else |
178 | { | 177 | { |
179 | if((temp = malloc(r+data_lgr+1))==NULL) | 178 | if((temp = malloc(r+data_lgr+1))==NULL) |
180 | { | 179 | { |
181 | fprintf(stderr,"Memory allocating error (%s line %d)\n" | 180 | fprintf(stderr,"Memory allocating error (%s line %d)\n", |
182 | ,__FILE__, __LINE__); | 181 | __FILE__, __LINE__); |
183 | exit(1); | 182 | exit(1); |
184 | } | 183 | } |
185 | memcpy(temp, data, data_lgr); | 184 | memcpy(temp, data, data_lgr); |
186 | memcpy(temp+data_lgr, buf, r); | 185 | memcpy(temp+data_lgr, buf, r); |
187 | temp[r+data_lgr]=0; | 186 | temp[r+data_lgr]=0; |
188 | data_lgr += r; | 187 | data_lgr += r; |
189 | free(data); | 188 | free(data); |
190 | data = temp; | 189 | data = temp; |
191 | } | 190 | } |
192 | } | 191 | } |
193 | } | 192 | } |
194 | 193 | ||
195 | /* close socket */ | 194 | /* close socket */ |
196 | #ifdef __UNIX__ | 195 | #ifdef __UNIX__ |
197 | close(s); | 196 | close(s); |
198 | #elif __WINDOWS__ | 197 | #elif __WINDOWS__ |
199 | closesocket(s); | 198 | closesocket(s); |
200 | #endif | 199 | #endif |
201 | 200 | ||
202 | #ifdef DEBUG | 201 | #ifdef DEBUG |
203 | printf("%s\n", data); | 202 | printf("%s\n", data); |
204 | #endif | 203 | #endif |
205 | 204 | ||
206 | /* get headers to test status line */ | 205 | /* get headers to test status line */ |
207 | /* and to split headers and content */ | 206 | /* and to split headers and content */ |
208 | 207 | ||
209 | temp = data; | 208 | temp = data; |
210 | header_founded = 0; | 209 | header_founded = 0; |
211 | while( !header_founded ) | 210 | while( !header_founded ) |
212 | { | 211 | { |
213 | if (!temp || *temp==0) return ERRRHEA; | 212 | if (!temp || *temp==0) return ERRRHEA; |
214 | 213 | ||
215 | if( *temp==0x0A ) | 214 | if( *temp==0x0A ) |
216 | { | 215 | { |
217 | /* test if it is the header end */ | 216 | /* test if it is the header end */ |
218 | temp ++; | 217 | temp ++; |
219 | if (*temp == 0x0D) temp++; | 218 | if (*temp == 0x0D) temp++; |
220 | if (*temp == 0x0A) header_founded = 1; | 219 | if (*temp == 0x0A) header_founded = 1; |
221 | } | 220 | } |
222 | else | 221 | else |
223 | temp++; | 222 | temp++; |
224 | } | 223 | } |
225 | 224 | ||
226 | *temp = 0; | 225 | *temp = 0; |
227 | temp++; | 226 | temp++; |
228 | 227 | ||
229 | sscanf(data,"HTTP/1.%*d %03d",&error_code); | 228 | sscanf(data,"HTTP/1.%*d %03d",&error_code); |
230 | 229 | ||
231 | if (error_code != 200) | 230 | if (error_code != 200) |
232 | { | 231 | { |
233 | #ifdef DEBUG | 232 | #ifdef DEBUG |
234 | printf(" HTTP error code : %d\n", error_code); | 233 | printf(" HTTP error code : %d\n", error_code); |
235 | #endif | 234 | #endif |
236 | free(data); | 235 | free(data); |
237 | return ERRPAHD; | 236 | return ERRPAHD; |
238 | } | 237 | } |
239 | 238 | ||
240 | if ((csv_ptr = malloc(strlen(temp)+1))==NULL) | 239 | if ((csv_ptr = malloc(strlen(temp)+1))==NULL) |
241 | { | 240 | { |
242 | free(data); | 241 | free(data); |
243 | fprintf(stderr,"Memory allocating error (%s line %d)\n" | 242 | fprintf(stderr,"Memory allocating error (%s line %d)\n", |
244 | ,__FILE__, __LINE__); | 243 | __FILE__, __LINE__); |
245 | exit(1); | 244 | exit(1); |
246 | } | 245 | } |
247 | 246 | ||
248 | memcpy(csv_ptr, temp, strlen(temp)+1); | 247 | memcpy(csv_ptr, temp, strlen(temp)+1); |
249 | free(data); | 248 | free(data); |
250 | 249 | ||
251 | #ifdef DEBUG | 250 | #ifdef DEBUG |
252 | printf(" CSV\n"); | 251 | printf(" CSV\n"); |
253 | printf("%s,\n", csv_ptr); | 252 | printf("%s,\n", csv_ptr); |
254 | #endif | 253 | #endif |
255 | 254 | ||
256 | *pdata = csv_ptr; | 255 | *pdata = csv_ptr; |
257 | 256 | ||
258 | return 0; | 257 | return 0; |
259 | } | 258 | } |
260 | 259 | ||
261 | /******************************************************************************/ | 260 | /******************************************************************************/ |
262 | /* Set the proxy server to use */ | 261 | /* Set the proxy server to use */ |
263 | /******************************************************************************/ | 262 | /******************************************************************************/ |
264 | libstocks_return_code set_proxy(char *proxy) | 263 | libstocks_return_code set_proxy(char *proxy) |
265 | { | 264 | { |
266 | char *ptr; | 265 | char *ptr; |
267 | char c; | 266 | char c; |
268 | 267 | ||
269 | #ifdef DEBUG | 268 | #ifdef DEBUG |
270 | printf("*set_proxy\n"); | 269 | printf("*set_proxy\n"); |
271 | #endif | 270 | #endif |
272 | 271 | ||
273 | /* Parse the proxy URL - It must start with http:// */ | 272 | /* Parse the proxy URL - It must start with http:// */ |
274 | #ifdef __UNIX__ | 273 | #ifdef __UNIX__ |
275 | if (strncasecmp("http://",proxy,7)) return ERRPROX; | 274 | if (strncasecmp("http://",proxy,7)) return ERRPROX; |
276 | #elif __WINDOWS__ | 275 | #elif __WINDOWS__ |