summaryrefslogtreecommitdiff
path: root/source3/script/gen-8bit-gap.awk
diff options
context:
space:
mode:
authorAlexander Bokovoy <ab@samba.org>2003-09-01 11:33:42 +0000
committerAlexander Bokovoy <ab@samba.org>2003-09-01 11:33:42 +0000
commit39abb5caccc47ce6f16c3a0995e948076a314bf5 (patch)
tree320a705136663e965cd70f14cec366e033e0a448 /source3/script/gen-8bit-gap.awk
parentbce1fcd76bf728c1423ffacfbff325f0947856e1 (diff)
downloadsamba-39abb5caccc47ce6f16c3a0995e948076a314bf5.tar.gz
samba-39abb5caccc47ce6f16c3a0995e948076a314bf5.tar.bz2
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)
Diffstat (limited to 'source3/script/gen-8bit-gap.awk')
-rw-r--r--source3/script/gen-8bit-gap.awk18
1 files changed, 18 insertions, 0 deletions
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";
+ }
+}
+
+/^<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