1
0
mirror of https://github.com/samba-team/samba.git synced 2025-02-24 13:57:43 +03:00

Proper fix for #380 -- use different algorithm to generate codepages

source code which allows to take gaps into account thus making unneccessary
extended [index] = value, syntax in to_ucs2 array
This commit is contained in:
Alexander Bokovoy -
parent 61c671bd69
commit 4ab08a4bb8
2 changed files with 19 additions and 3 deletions

View File

@ -0,0 +1,18 @@
BEGIN {
for (i=0; i<256; i++) {
tbl[sprintf("%02x",i)] = "0x0000";
}
}
/^<U([[:xdigit:]][[:xdigit:]][[:xdigit:]][[:xdigit:]])>[[:space:]]*.x([[:xdigit:]][[:xdigit:]])[:space:]*.*$/ {
tbl[substr($2,3,2)]=sprintf("0x%s",substr($1,3,4));
}
END {
for(i=0; i<32; i++) {
for(j=0; j<8; j++) {
printf(" %s,", tbl[sprintf("%02x",i*8+j)]);
}
printf "\n"
}
}

View File

@ -31,9 +31,7 @@ echo " */"
echo '#include "includes.h"'
echo
echo "static const uint16 to_ucs2[256] = {"
sed -ne '/^[^[:space:]]*[[:space:]]*.x00/d' \
-e 's/^<U\(....\)>[[:space:]]*.x\(..\).*/ [0x\2] = 0x\1,/p' \
"$CHARMAP" | sort -u
cat "$CHARMAP" | @AWK@ -f @srcdir@/script/gen-8bit-gap.awk
echo "};"
echo
echo "static const struct charset_gap_table from_idx[] = {"