correct buffering
							parent
							
								
									cf147ae9da
								
							
						
					
					
						commit
						3cb6793781
					
				
							
								
								
									
										31
									
								
								std.c
								
								
								
								
							
							
						
						
									
										31
									
								
								std.c
								
								
								
								
							|  | @ -85,7 +85,7 @@ movea(int x, int y) { | |||
| 	y = MAX(y, lines); | ||||
| 	cx = x; | ||||
| 	cy = y; | ||||
| 	cmd("s %d,%d", x, y); | ||||
| 	cmd("seek(%d,%d)", x, y); | ||||
| } | ||||
| 
 | ||||
| void | ||||
|  | @ -186,10 +186,10 @@ parseesc(void) { | |||
| 				case 0: | ||||
| 				case 22: | ||||
| 					if(bold) | ||||
| 						cmd("b"); | ||||
| 						cmd("bold"); | ||||
| 				case 1: | ||||
| 					if(!bold) | ||||
| 						cmd("b"); | ||||
| 						cmd("bold"); | ||||
| 					break; | ||||
| 				} | ||||
| 			} | ||||
|  | @ -204,7 +204,7 @@ parseesc(void) { | |||
| 
 | ||||
| void | ||||
| scroll(int l) { | ||||
| 	cmd("s %d, %d", cx, cy + l); | ||||
| 	cmd("seek(%d,%d)", cx, cy + l); | ||||
| } | ||||
| 
 | ||||
| void | ||||
|  | @ -279,17 +279,18 @@ main(int argc, char *argv[]) { | |||
| 		r = select(ptm + 1, &rfds, NULL, NULL, NULL); | ||||
| 		if(r == -1) | ||||
| 			eprintn("error, cannot select"); | ||||
| 		if(FD_ISSET(ptm, &rfds)) { | ||||
| 			c = getch(); | ||||
| 			switch(c) { | ||||
| 			case '\033': | ||||
| 				parseesc(); | ||||
| 				break; | ||||
| 			default: | ||||
| 				putchar(c); | ||||
| 			} | ||||
| 			fflush(stdout); | ||||
| 		} | ||||
| 		if(FD_ISSET(ptm, &rfds)) | ||||
| 			do { | ||||
| 				c = getch(); | ||||
| 				switch(c) { | ||||
| 				case '\033': | ||||
| 					parseesc(); | ||||
| 					break; | ||||
| 				default: | ||||
| 					putchar(c); | ||||
| 				} | ||||
| 				fflush(stdout); | ||||
| 			} while(rbuf.i < rbuf.n); | ||||
| 	} | ||||
| 	return 0; | ||||
| } | ||||
|  |  | |||
		Reference in New Issue