This optimizes the binary size for each tool that uses these functions. Previously, if a program just used one single function, maybe even a one-liner, it would statically compile in all lookup-tables, bloating the binary by up to 20K. All these changes are derived from a local libutf where I do the primary changes. So I hope that I can merge these things into libutf sooner or later, as discussed on the ml.
		
			
				
	
	
		
			20 lines
		
	
	
		
			305 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			305 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* Automatically generated by mkrunetype.awk */
 | |
| #include <stdlib.h>
 | |
| 
 | |
| #include "../utf.h"
 | |
| #include "runetype.h"
 | |
| 
 | |
| static Rune cntrl2[][2] = {
 | |
| 	{ 0x0000, 0x001F },
 | |
| 	{ 0x007F, 0x009F },
 | |
| };
 | |
| 
 | |
| int
 | |
| iscntrlrune(Rune r)
 | |
| {
 | |
| 	if(bsearch(&r, cntrl2, nelem(cntrl2), sizeof *cntrl2, &rune2cmp))
 | |
| 		return 1;
 | |
| 	return 0;
 | |
| }
 | |
| 
 |