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:
FRIGN
2015-02-11 15:44:54 +01:00
parent 471cf8f5bc
commit f9846a9a6b
18 changed files with 5945 additions and 5857 deletions

19
libutf/iscntrlrune.c Normal file
View 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;
}