Split up is*rune() and to*rune() functions into individual source files
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.
This commit is contained in:
19
libutf/iscntrlrune.c
Normal file
19
libutf/iscntrlrune.c
Normal file
@@ -0,0 +1,19 @@
|
||||
/* 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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user