diff options
author | Alexander Bokovoy <ab@samba.org> | 2003-09-01 11:33:42 +0000 |
---|---|---|
committer | Alexander Bokovoy <ab@samba.org> | 2003-09-01 11:33:42 +0000 |
commit | 39abb5caccc47ce6f16c3a0995e948076a314bf5 (patch) | |
tree | 320a705136663e965cd70f14cec366e033e0a448 | |
parent | bce1fcd76bf728c1423ffacfbff325f0947856e1 (diff) | |
download | samba-39abb5caccc47ce6f16c3a0995e948076a314bf5.tar.gz samba-39abb5caccc47ce6f16c3a0995e948076a314bf5.tar.xz samba-39abb5caccc47ce6f16c3a0995e948076a314bf5.zip |
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 used to be commit 4ab08a4bb8dbd023eb85d16a594d3c4ed066f9ac)
-rw-r--r-- | source3/script/gen-8bit-gap.awk | 18 | ||||
-rwxr-xr-x | source3/script/gen-8bit-gap.sh.in | 4 |
2 files changed, 19 insertions, 3 deletions
diff --git a/source3/script/gen-8bit-gap.awk b/source3/script/gen-8bit-gap.awk new file mode 100644 index 00000000000..59a1a23be07 --- /dev/null +++ b/source3/script/gen-8bit-gap.awk @@ -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" + } +}
\ No newline at end of file diff --git a/source3/script/gen-8bit-gap.sh.in b/source3/script/gen-8bit-gap.sh.in index e66c654c22d..bcf64a4464f 100755 --- a/source3/script/gen-8bit-gap.sh.in +++ b/source3/script/gen-8bit-gap.sh.in @@ -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[] = {" |