Refactor the innermost loop of the xdraws function
Signed-off-by: Silvan Jegen <s.jegen@gmail.com> Signed-off-by: Christoph Lohmann <20h@r-36.net>
This commit is contained in:
		
				
					committed by
					
						 Christoph Lohmann
						Christoph Lohmann
					
				
			
			
				
	
			
			
			
						parent
						
							27b28f1dc2
						
					
				
				
					commit
					c2fd2754eb
				
			
							
								
								
									
										34
									
								
								st.c
									
									
									
									
									
								
							
							
						
						
									
										34
									
								
								st.c
									
									
									
									
									
								
							| @@ -3245,28 +3245,22 @@ xdraws(char *s, Glyph base, int x, int y, int charlen, int bytelen) { | |||||||
| 			bytelen -= u8cblen; | 			bytelen -= u8cblen; | ||||||
|  |  | ||||||
| 			doesexist = XftCharExists(xw.dpy, font->match, unicodep); | 			doesexist = XftCharExists(xw.dpy, font->match, unicodep); | ||||||
| 			if(oneatatime || !doesexist || bytelen <= 0) { | 			if(doesexist) { | ||||||
| 				if(oneatatime || bytelen <= 0) { | 					u8fl++; | ||||||
| 					if(doesexist) { | 					u8fblen += u8cblen; | ||||||
| 						u8fl++; | 					if(!oneatatime && bytelen > 0) | ||||||
| 						u8fblen += u8cblen; | 							continue; | ||||||
| 					} |  | ||||||
| 				} |  | ||||||
|  |  | ||||||
| 				if(u8fl > 0) { |  | ||||||
| 					XftDrawStringUtf8(xw.draw, fg, |  | ||||||
| 							font->match, xp, |  | ||||||
| 							winy + font->ascent, |  | ||||||
| 							(FcChar8 *)u8fs, |  | ||||||
| 							u8fblen); |  | ||||||
| 					xp += xw.cw * u8fl; |  | ||||||
|  |  | ||||||
| 				} |  | ||||||
| 				break; |  | ||||||
| 			} | 			} | ||||||
|  |  | ||||||
| 			u8fl++; | 			if(u8fl > 0) { | ||||||
| 			u8fblen += u8cblen; | 				XftDrawStringUtf8(xw.draw, fg, | ||||||
|  | 						font->match, xp, | ||||||
|  | 						winy + font->ascent, | ||||||
|  | 						(FcChar8 *)u8fs, | ||||||
|  | 						u8fblen); | ||||||
|  | 				xp += xw.cw * u8fl; | ||||||
|  | 			} | ||||||
|  | 			break; | ||||||
| 		} | 		} | ||||||
| 		if(doesexist) { | 		if(doesexist) { | ||||||
| 			if(oneatatime) | 			if(oneatatime) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user