aboutsummaryrefslogtreecommitdiff
path: root/src/base/utf/vendor/mkrunetype.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/utf/vendor/mkrunetype.c')
-rw-r--r--src/base/utf/vendor/mkrunetype.c43
1 files changed, 17 insertions, 26 deletions
diff --git a/src/base/utf/vendor/mkrunetype.c b/src/base/utf/vendor/mkrunetype.c
index b33df32..3d75ce8 100644
--- a/src/base/utf/vendor/mkrunetype.c
+++ b/src/base/utf/vendor/mkrunetype.c
@@ -34,8 +34,7 @@ static struct Table table;
// -----------------------------------------------------------------------
// internal functions
-static
-int
+static int
isrange(char *label, char *prop, int force)
{
char ident[128];
@@ -45,8 +44,7 @@ isrange(char *label, char *prop, int force)
return putrange(ident, prop, force);
}
-static
-int
+static int
ispair(char *label, char *prop)
{
char ident[128];
@@ -56,8 +54,7 @@ ispair(char *label, char *prop)
return putpair(ident, prop);
}
-static
-int
+static int
issingle(char *label, char *prop)
{
char ident[128];
@@ -67,8 +64,7 @@ issingle(char *label, char *prop)
return putsingle(ident, prop);
}
-static
-void
+static void
makeis(char *label, char *table, int pairs, int onlyranges)
{
int hasr, hasp=0, hass=0;
@@ -116,8 +112,7 @@ makeis(char *label, char *table, int pairs, int onlyranges)
"\n");
}
-static
-int
+static int
torange(char *label, int *index, int force)
{
int l, r, d, start = 0;
@@ -154,8 +149,7 @@ torange(char *label, int *index, int force)
return start;
}
-static
-int
+static int
topair(char *label, int *index)
{
int l, r, d, start = 0;
@@ -193,8 +187,7 @@ topair(char *label, int *index)
return start;
}
-static
-int
+static int
tosingle(char *label, int *index)
{
int i, d, start = 0;
@@ -220,8 +213,7 @@ tosingle(char *label, int *index)
return start;
}
-static
-void
+static void
mkto(char *label, int *index, int pairs, int onlyrange)
{
int hasr, hasp=0, hass=0;
@@ -272,8 +264,7 @@ mkto(char *label, int *index, int pairs, int onlyrange)
// -----------------------------------------------------------------------
// main point of entry
-static
-void
+static void
usage(void)
{
fprintf(stderr, "usage: mkrunetype <UnicodeData.txt>\n");
@@ -283,9 +274,9 @@ usage(void)
int
main(int argc, char *argv[])
{
- int i, sc, c, ec;
- io·Stream *utf8;
- char *prop, *field[NumFields], line[1024];
+ int i, sc, c, ec, err;
+ static io·Buffer utf8;
+ char *prop, field[NumFields][FieldLen];
ARGBEGIN{
}ARGEND;
@@ -293,8 +284,8 @@ main(int argc, char *argv[])
if(argc != 1)
usage();
- if(!(utf8 = io·open(argv[0], "r")))
- panicf("can't open %s\n", argv[0]);
+ if((err=io·open(argv[0], sys·ORead, &utf8)))
+ panicf("can't open %s: %d: %s\n", argv[0], err, strerror(err));
/* by default each character maps to itself */
for(i = 0; i < NumRunes; i++) {
@@ -313,9 +304,9 @@ main(int argc, char *argv[])
ec = -1;
// NOTE: we don't check for comments here: assume UnicodeData.txt doesn't have any
- while(parse(utf8, arrlen(field), field, arrlen(line), line)){
+ while(parse(&utf8, arrlen(field), field)){
/* parse unicode range */
- codepointrange(utf8, field, &sc, &ec);
+ codepointrange(&utf8, field, &sc, &ec);
prop = field[Fcategory];
for(c = sc; c <= ec; c++){
@@ -370,7 +361,7 @@ main(int argc, char *argv[])
table.totitle[c] = codepoint(field[Ftitle]);
}
}
- io·close(utf8);
+ io·close((io·Header *)&utf8);
putsearch();