Fix copy of line with len = 0
When a line has no any character linelen is 0, so last = &term.line[y][MIN(lastx, linelen-1)] generated a pointer to the end of the previous line. The best thing we can do in this case is to add a newline, because we don't have a glyph to print (and consult its state of wrapping).
This commit is contained in:
		
							
								
								
									
										5
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								st.c
									
									
									
									
									
								
							| @@ -1004,7 +1004,10 @@ getsel(void) | |||||||
|  |  | ||||||
| 	/* append every set & selected glyph to the selection */ | 	/* append every set & selected glyph to the selection */ | ||||||
| 	for (y = sel.nb.y; y <= sel.ne.y; y++) { | 	for (y = sel.nb.y; y <= sel.ne.y; y++) { | ||||||
| 		linelen = tlinelen(y); | 		if ((linelen = tlinelen(y)) == 0) { | ||||||
|  | 			*ptr++ = '\n'; | ||||||
|  | 			continue; | ||||||
|  | 		} | ||||||
|  |  | ||||||
| 		if (sel.type == SEL_RECTANGULAR) { | 		if (sel.type == SEL_RECTANGULAR) { | ||||||
| 			gp = &term.line[y][sel.nb.x]; | 			gp = &term.line[y][sel.nb.x]; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user