main.c
changeset 316 d69cdb180a3e
parent 309 204427dcc087
child 317 45af6a8a0cbf
equal deleted inserted replaced
315:d9bef4067cd5 316:d69cdb180a3e
   284 		FD_ZERO(&rd);
   284 		FD_ZERO(&rd);
   285 		if(readin)
   285 		if(readin)
   286 			FD_SET(STDIN_FILENO, &rd);
   286 			FD_SET(STDIN_FILENO, &rd);
   287 		FD_SET(xfd, &rd);
   287 		FD_SET(xfd, &rd);
   288 		i = select(xfd + 1, &rd, NULL, NULL, NULL);
   288 		i = select(xfd + 1, &rd, NULL, NULL, NULL);
   289 		if(i == -1 && errno == EINTR)
   289 		if((i == -1) && (errno == EINTR))
   290 			continue;
   290 			continue;
   291 		if(i < 0)
   291 		if(i > 0) {
   292 			eprint("select failed\n");
       
   293 		else if(i > 0) {
       
   294 			if(readin && FD_ISSET(STDIN_FILENO, &rd)) {
   292 			if(readin && FD_ISSET(STDIN_FILENO, &rd)) {
   295 				readin = NULL != fgets(stext, sizeof(stext), stdin);
   293 				readin = NULL != fgets(stext, sizeof(stext), stdin);
   296 				if(readin)
   294 				if(readin)
   297 					stext[strlen(stext) - 1] = 0;
   295 					stext[strlen(stext) - 1] = 0;
   298 				else 
   296 				else 
   299 					strcpy(stext, "broken pipe");
   297 					strcpy(stext, "broken pipe");
   300 				drawstatus();
   298 				drawstatus();
   301 			}
   299 			}
   302 		}
   300 		}
       
   301 		else if(i < 0)
       
   302 			eprint("select failed\n");
   303 		procevent();
   303 		procevent();
   304 	}
   304 	}
   305 	cleanup();
   305 	cleanup();
   306 	XCloseDisplay(dpy);
   306 	XCloseDisplay(dpy);
   307 
   307