Changeset 2356
- Timestamp:
- Jun 11, 2008, 3:11:15 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
neercs/trunk/src/main.c
r2143 r2356 100 100 for(i = 0; i < n; i++) 101 101 { 102 FD_SET(screen[i].fd, &fdset); 102 if(screen[i].fd >= 0) 103 FD_SET(screen[i].fd, &fdset); 103 104 if(screen[i].fd > maxfd) 104 105 maxfd = screen[i].fd; … … 126 127 * each of them starved at least once. */ 127 128 128 if( !FD_ISSET(screen[i].fd, &fdset))129 if(screen[i].fd < 0 || !FD_ISSET(screen[i].fd, &fdset)) 129 130 continue; 130 131 … … 142 143 } 143 144 144 if(nr == 0 || errno != EWOULDBLOCK) 145 eof = 1; 145 if(nr == 0 || errno != EWOULDBLOCK) { 146 close(screen[i].fd); 147 screen[i].fd = -1; 148 } 146 149 147 150 break; … … 229 232 { 230 233 cucul_set_canvas_size(screen[i].cv, w, h); 231 set_tty_size(screen[i].fd, w, h); 234 if(screen[i].fd >= 0) 235 set_tty_size(screen[i].fd, w, h); 232 236 } 233 237 cucul_clear_canvas(cv); 234 238 refresh = 1; 235 239 } 240 else if(ret && (caca_get_event_type(&ev) & CACA_EVENT_QUIT)) 241 { 242 break; 243 } 236 244 237 245 /* Refresh screen */ … … 244 252 for(i = 0; i < n; i++) 245 253 { 254 if(screen[i].fd < 0) 255 continue; 246 256 int j = (pty + n - 1 - i) % n; 247 257 cucul_blit(cv, (n - 1 - j) * XTAB + 1, … … 307 317 } 308 318 319 eof = 1; 320 for(i = 0; i < n; i++) 321 if(screen[i].fd >= 0) 322 eof = 0; 309 323 if(eof) 310 { 311 for(i = 0; i < n; i++) 312 if(screen[i].total) 313 break; 314 if(i == n) 315 break; 316 } 317 } 318 319 caca_get_event(dp, CACA_EVENT_KEY_PRESS, NULL, -1); 324 break; 325 } 320 326 321 327 /* Clean up */ … … 323 329 cucul_free_canvas(cv); 324 330 for(i = 0; i < n; i++) 331 { 332 free(screen[i].buf); 325 333 cucul_free_canvas(screen[i].cv); 334 } 326 335 327 336 return 0;
Note: See TracChangeset
for help on using the changeset viewer.