summaryrefslogtreecommitdiff
path: root/iconvdata
diff options
context:
space:
mode:
Diffstat (limited to 'iconvdata')
-rw-r--r--iconvdata/Makefile6
-rw-r--r--iconvdata/TESTS1
-rw-r--r--iconvdata/gconv-modules4
-rw-r--r--iconvdata/mik.c32
-rw-r--r--iconvdata/testdata/MIK14
-rw-r--r--iconvdata/testdata/MIK..UTF814
-rwxr-xr-xiconvdata/tst-tables.sh1
-rw-r--r--iconvdata/utf-7.c8
8 files changed, 73 insertions, 7 deletions
diff --git a/iconvdata/Makefile b/iconvdata/Makefile
index 1d3259179a..c7d5801c6c 100644
--- a/iconvdata/Makefile
+++ b/iconvdata/Makefile
@@ -58,7 +58,7 @@ modules := ISO8859-1 ISO8859-2 ISO8859-3 ISO8859-4 ISO8859-5 \
IBM1142 IBM1143 IBM1144 IBM1145 IBM1146 IBM1147 IBM1148 \
IBM1149 IBM1166 IBM1167 IBM4517 IBM4899 IBM4909 IBM4971 \
IBM5347 IBM9030 IBM9066 IBM9448 IBM12712 IBM16804 \
- IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 ISO_11548-1
+ IBM1364 IBM1371 IBM1388 IBM1390 IBM1399 ISO_11548-1 MIK
modules.so := $(addsuffix .so, $(modules))
@@ -196,7 +196,7 @@ distribute := gconv-modules extra-module.mk gap.awk gaptab.awk gconv.map \
ibm9030.c ibm9030.h ibm9066.c ibm9066.h ibm9448.c ibm9448.h \
ibm12712.c ibm12712.h ibm16804.c ibm16804.h \
ibm1364.c ibm1364.h ibm1371.c ibm1371.h ibm1388.c ibm1388.h \
- ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c
+ ibm1390.c ibm1390.h ibm1399.c ibm1399.h iso_11548-1.c mik.c
# We build the transformation modules only when we build shared libs.
ifeq (yes,$(build-shared))
@@ -237,7 +237,7 @@ gen-8bit-gap-modules := koi8-r latin-greek latin-greek-1 ibm256 ibm273 \
iso8859-13 iso8859-14 iso8859-15 mac-uk sami-ws2 \
iso-ir-197 tis-620 koi8-u ibm874 cp10007 koi8-t \
georgian-ps georgian-academy iso-ir-209 mac-sami \
- iso8859-11 ibm866nav pt154 rk1048
+ iso8859-11 ibm866nav pt154 rk1048 mik
gen-special-modules := iso8859-7jp
diff --git a/iconvdata/TESTS b/iconvdata/TESTS
index 933c447096..b70e5051f0 100644
--- a/iconvdata/TESTS
+++ b/iconvdata/TESTS
@@ -165,3 +165,4 @@ IBM1388 IBM1388 N UTF8
IBM1390 IBM1390 N UTF8
IBM1399 IBM1399 N UTF8
ISO_11548-1 ISO_11548-1 - UTF8
+MIK MIK Y UTF8
diff --git a/iconvdata/gconv-modules b/iconvdata/gconv-modules
index 421dc6739a..852c7b94a6 100644
--- a/iconvdata/gconv-modules
+++ b/iconvdata/gconv-modules
@@ -1903,3 +1903,7 @@ alias ISO/TR_11548-1/ ISO_11548-1//
alias ISO11548-1// ISO_11548-1//
module ISO_11548-1// INTERNAL ISO_11548-1 1
module INTERNAL ISO_11548-1// ISO_11548-1 1
+
+# from to module cost
+module MIK// INTERNAL MIK 1
+module INTERNAL MIK// MIK 1
diff --git a/iconvdata/mik.c b/iconvdata/mik.c
new file mode 100644
index 0000000000..00a7fb3b7b
--- /dev/null
+++ b/iconvdata/mik.c
@@ -0,0 +1,32 @@
+/* Conversion from and to MIK.
+ Copyright (C) 2006 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Alexander Shopov <ash@contact.bg>, 2006.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+#include <stdint.h>
+
+/* Get the conversion table. */
+#define TABLES <mik.h>
+
+#define CHARSET_NAME "MIK//"
+#define HAS_HOLES 0 /* All 256 character are defined. */
+
+#include <8bit-gap.c>
+
+
+
diff --git a/iconvdata/testdata/MIK b/iconvdata/testdata/MIK
new file mode 100644
index 0000000000..9ae8d00969
--- /dev/null
+++ b/iconvdata/testdata/MIK
@@ -0,0 +1,14 @@
+ ! " # $ % & ' ( ) * + , - . /
+0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+@ A B C D E F G H I J K L M N O
+P Q R S T U V W X Y Z [ \ ] ^ _
+` a b c d e f g h i j k l m n o
+p q r s t u v w x y z { | } ~ 
+
+
+
+
+
+
+
+
diff --git a/iconvdata/testdata/MIK..UTF8 b/iconvdata/testdata/MIK..UTF8
new file mode 100644
index 0000000000..d47d5590ec
--- /dev/null
+++ b/iconvdata/testdata/MIK..UTF8
@@ -0,0 +1,14 @@
+ ! " # $ % & ' ( ) * + , - . /
+0 1 2 3 4 5 6 7 8 9 : ; < = > ?
+@ A B C D E F G H I J K L M N O
+P Q R S T U V W X Y Z [ \ ] ^ _
+` a b c d e f g h i j k l m n o
+p q r s t u v w x y z { | } ~ 
+А Б В Г Д Е Ж З И Й К Л М Н О П
+Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я
+а б в г д е ж з и й к л м н о п
+р с т у ф х ц ч ш щ ъ ы ь э ю я
+└ ┴ ┬ ├ ─ ┼ ╣ ║ ╚ ╔ ╩ ╦ ╠ ═ ╬ ┐
+░ ▒ ▓ │ ┤ № § ╗ ╝ ┘ ┌ █ ▄ ▌ ▐ ▀
+α ß Γ π Σ σ µ τ Φ Θ Ω δ ∞ φ ε ∩
+≡ ± ≥ ≤ ⌠ ⌡ ÷ ≈ ° ∙ · √ ⁿ ² ■  
diff --git a/iconvdata/tst-tables.sh b/iconvdata/tst-tables.sh
index 2c1c9d04d9..506adbcd7c 100755
--- a/iconvdata/tst-tables.sh
+++ b/iconvdata/tst-tables.sh
@@ -207,6 +207,7 @@ cat <<EOF |
TSCII
PT154
RK1048
+ MIK
#
# Multibyte encodings come here
#
diff --git a/iconvdata/utf-7.c b/iconvdata/utf-7.c
index 6943833a67..b58b11fdcb 100644
--- a/iconvdata/utf-7.c
+++ b/iconvdata/utf-7.c
@@ -44,7 +44,7 @@
A-Z a-z 0-9 ' ( ) , - . / : ? space tab lf cr
*/
-static const unsigned char direct_tab[128/8] =
+static const unsigned char direct_tab[128 / 8] =
{
0x00, 0x26, 0x00, 0x00, 0x81, 0xf3, 0xff, 0x87,
0xfe, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, 0x07
@@ -62,7 +62,7 @@ isdirect (uint32_t ch)
! " # $ % & * ; < = > @ [ ] ^ _ ` { | }
*/
-static const unsigned char xdirect_tab[128/8] =
+static const unsigned char xdirect_tab[128 / 8] =
{
0x00, 0x26, 0x00, 0x00, 0xff, 0xf7, 0xff, 0xff,
0xff, 0xff, 0xff, 0xef, 0xff, 0xff, 0xff, 0x3f
@@ -79,7 +79,7 @@ isxdirect (uint32_t ch)
A-Z a-z 0-9 + / -
*/
-static const unsigned char xbase64_tab[128/8] =
+static const unsigned char xbase64_tab[128 / 8] =
{
0x00, 0x00, 0x00, 0x00, 0x00, 0xa8, 0xff, 0x03,
0xfe, 0xff, 0xff, 0x07, 0xfe, 0xff, 0xff, 0x07
@@ -170,7 +170,7 @@ base64 (unsigned int i)
} \
else if (__builtin_expect (ch == '+', 1)) \
{ \
- if (__builtin_expect (inptr + 2 >= inend, 0)) \
+ if (__builtin_expect (inptr + 2 > inend, 0)) \
{ \
/* Not enough input available. */ \
result = __GCONV_INCOMPLETE_INPUT; \