Adding upstream version 1.65.7.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
5189956325
commit
32b8eb3fd7
4153 changed files with 2487292 additions and 0 deletions
95
darwin/gen.c
Normal file
95
darwin/gen.c
Normal file
|
@ -0,0 +1,95 @@
|
|||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
|
||||
// typedef struct {
|
||||
// char __magic[8]; /* Magic saying what version we are */
|
||||
// char __encoding[32]; /* ASCII name of this encoding */
|
||||
//
|
||||
// __darwin_rune_t (*__sgetrune)(const char *, __darwin_size_t, char const **);
|
||||
// int (*__sputrune)(__darwin_rune_t, char *, __darwin_size_t, char **);
|
||||
// __darwin_rune_t __invalid_rune;
|
||||
//
|
||||
// __uint32_t __runetype[_CACHED_RUNES];
|
||||
// __darwin_rune_t __maplower[_CACHED_RUNES];
|
||||
// __darwin_rune_t __mapupper[_CACHED_RUNES];
|
||||
//
|
||||
// /*
|
||||
// * The following are to deal with Runes larger than _CACHED_RUNES - 1.
|
||||
// * Their data is actually contiguous with this structure so as to make
|
||||
// * it easier to read/write from/to disk.
|
||||
// */
|
||||
// _RuneRange __runetype_ext;
|
||||
// _RuneRange __maplower_ext;
|
||||
// _RuneRange __mapupper_ext;
|
||||
//
|
||||
// void *__variable; /* Data which depends on the encoding */
|
||||
// int __variable_len; /* how long that data is */
|
||||
//
|
||||
// /*
|
||||
// * extra fields to deal with arbitrary character classes
|
||||
// */
|
||||
// int __ncharclasses;
|
||||
// _RuneCharClass *__charclasses;
|
||||
// } _RuneLocale;
|
||||
|
||||
|
||||
#define SZ(a) (sizeof(a)/sizeof(a[0]))
|
||||
|
||||
int main() {
|
||||
printf("#include <ctype.h>\n\n");
|
||||
|
||||
printf(
|
||||
" __maskrune(__darwin_ct_rune_t _c, unsigned long _f)\n"
|
||||
"{\n"
|
||||
" return (int)_DefaultRuneLocale.__runetype[_c & 0xff] & (__uint32_t)_f;\n"
|
||||
"}\n"
|
||||
);
|
||||
printf("\n__darwin_ct_rune_t __toupper(__darwin_ct_rune_t c) { return toupper(c); }\n");
|
||||
printf("\n__darwin_ct_rune_t __tolower(__darwin_ct_rune_t c) { return tolower(c); }\n");
|
||||
|
||||
printf("_RuneLocale _DefaultRuneLocale = {\n");
|
||||
|
||||
printf("\t.__magic = {");
|
||||
for (int i = 0; i < SZ(_DefaultRuneLocale.__magic); i++) {
|
||||
printf("%i, ", _DefaultRuneLocale.__magic[i]);
|
||||
}
|
||||
printf("},\n");
|
||||
|
||||
printf("\t.__encoding = {");
|
||||
for (int i = 0; i < SZ(_DefaultRuneLocale.__encoding); i++) {
|
||||
printf("%i, ", _DefaultRuneLocale.__encoding[i]);
|
||||
}
|
||||
printf("},\n");
|
||||
|
||||
printf("\t.__invalid_rune = 0x%x,\n", (unsigned)_DefaultRuneLocale.__invalid_rune);
|
||||
|
||||
printf("\t.__runetype = {");
|
||||
for (int i = 0; i < SZ(_DefaultRuneLocale.__runetype); i++) {
|
||||
if (i%16 == 0) {
|
||||
printf("\n\t\t");
|
||||
}
|
||||
printf("0x%x, ", _DefaultRuneLocale.__runetype[i]);
|
||||
}
|
||||
printf("\n\t},\n");
|
||||
|
||||
printf("\t.__maplower = {");
|
||||
for (int i = 0; i < SZ(_DefaultRuneLocale.__maplower); i++) {
|
||||
if (i%16 == 0) {
|
||||
printf("\n\t\t");
|
||||
}
|
||||
printf("0x%x, ", _DefaultRuneLocale.__maplower[i]);
|
||||
}
|
||||
printf("\n\t},\n");
|
||||
|
||||
printf("\t.__mapupper= {");
|
||||
for (int i = 0; i < SZ(_DefaultRuneLocale.__mapupper); i++) {
|
||||
if (i%16 == 0) {
|
||||
printf("\n\t\t");
|
||||
}
|
||||
printf("0x%x, ", _DefaultRuneLocale.__mapupper[i]);
|
||||
}
|
||||
printf("\n\t},\n");
|
||||
|
||||
printf("\n};\n");
|
||||
printf("\n_RuneLocale *_CurrentRuneLocale = &_DefaultRuneLocale;\n");
|
||||
}
|
1
darwin/gen.sh
Executable file
1
darwin/gen.sh
Executable file
|
@ -0,0 +1 @@
|
|||
gcc gen.c ; ./a.out | cpp > table.c ; rm -f a.out
|
1941
darwin/table.c
Normal file
1941
darwin/table.c
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue