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:
parent
61c671bd69
commit
4ab08a4bb8
18
source/script/gen-8bit-gap.awk
Normal file
18
source/script/gen-8bit-gap.awk
Normal 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"
|
||||
}
|
||||
}
|
@ -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[] = {"
|
||||
|
Loading…
x
Reference in New Issue
Block a user