From 39abb5caccc47ce6f16c3a0995e948076a314bf5 Mon Sep 17 00:00:00 2001 From: Alexander Bokovoy Date: Mon, 1 Sep 2003 11:33:42 +0000 Subject: 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) --- source3/script/gen-8bit-gap.awk | 18 ++++++++++++++++++ source3/script/gen-8bit-gap.sh.in | 4 +--- 2 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 source3/script/gen-8bit-gap.awk (limited to 'source3') diff --git a/source3/script/gen-8bit-gap.awk b/source3/script/gen-8bit-gap.awk new file mode 100644 index 0000000000..59a1a23be0 --- /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"; + } +} + +/^[[: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 e66c654c22..bcf64a4464 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/^[[: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[] = {" -- cgit