Remove non defined behaviour in selcopy
It is not defined when lateral effects of expressions are calculated, so an expression as: --last >= gp && !(selected(last - gp, y) is non portable.
This commit is contained in:
		
							
								
								
									
										9
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										9
									
								
								st.c
									
									
									
									
									
								
							| @@ -953,11 +953,12 @@ selcopy(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 + 1; y++) { | 		for(y = sel.nb.y; y < sel.ne.y + 1; y++) { | ||||||
| 			gp = &term.line[y][0]; | 			gp = &term.line[y][0]; | ||||||
| 			last = gp + term.col; | 			last = &gp[term.col-1]; | ||||||
|  |  | ||||||
| 			while(--last >= gp && !(selected(last - gp, y) && \ | 			while(last >= gp && !(selected(last - gp, y) && | ||||||
| 						strcmp(last->c, " ") != 0)) | 			                      strcmp(last->c, " ") != 0)) { | ||||||
| 				/* nothing */; | 				--last; | ||||||
|  | 			} | ||||||
|  |  | ||||||
| 			for(x = 0; gp <= last; x++, ++gp) { | 			for(x = 0; gp <= last; x++, ++gp) { | ||||||
| 				if(!selected(x, y) || (gp->mode & ATTR_WDUMMY)) | 				if(!selected(x, y) || (gp->mode & ATTR_WDUMMY)) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user