Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
0da3b5b1
Commit
0da3b5b1
authored
Jan 12, 2005
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/jonas/src/mysql-5.0
parents
953df8f4
dba173c4
Changes
13
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
82 additions
and
79 deletions
+82
-79
Build-tools/Do-compile
Build-tools/Do-compile
+14
-14
config/ac-macros/character_sets.m4
config/ac-macros/character_sets.m4
+7
-7
include/m_ctype.h
include/m_ctype.h
+2
-2
libmysql/Makefile.shared
libmysql/Makefile.shared
+1
-1
mysql-test/r/ctype_cp932.result
mysql-test/r/ctype_cp932.result
+1
-1
mysql-test/r/ctype_eucjpms.result
mysql-test/r/ctype_eucjpms.result
+8
-4
mysql-test/t/ctype_cp932.test
mysql-test/t/ctype_cp932.test
+2
-2
mysql-test/t/ctype_eucjpms.test
mysql-test/t/ctype_eucjpms.test
+4
-5
mysys/charset-def.c
mysys/charset-def.c
+3
-3
mysys/default.c
mysys/default.c
+1
-1
sql/share/charsets/Index.xml
sql/share/charsets/Index.xml
+3
-3
strings/Makefile.am
strings/Makefile.am
+4
-4
strings/ctype-eucjpms.c
strings/ctype-eucjpms.c
+32
-32
No files found.
Build-tools/Do-compile
View file @
0da3b5b1
...
@@ -11,7 +11,7 @@ $opt_distribution=$opt_user=$opt_config_env=$opt_config_extra_env="";
...
@@ -11,7 +11,7 @@ $opt_distribution=$opt_user=$opt_config_env=$opt_config_extra_env="";
$opt_dbd_options
=
$opt_perl_options
=
$opt_config_options
=
$opt_make_options
=
$opt_suffix
=
"";
$opt_dbd_options
=
$opt_perl_options
=
$opt_config_options
=
$opt_make_options
=
$opt_suffix
=
"";
$opt_tmp
=
$opt_version_suffix
=
"";
$opt_tmp
=
$opt_version_suffix
=
"";
$opt_bundled_zlib
=
$opt_help
=
$opt_delete
=
$opt_debug
=
$opt_stage
=
$opt_no_test
=
$opt_no_perl
=
$opt_one_error
=
$opt_with_low_memory
=
$opt_fast_benchmark
=
$opt_static_client
=
$opt_static_server
=
$opt_static_perl
=
$opt_sur
=
$opt_with_small_disk
=
$opt_local_perl
=
$opt_tcpip
=
$opt_build_thread
=
$opt_use_old_distribution
=
$opt_enable_shared
=
$opt_no_crash_me
=
$opt_no_strip
=
$opt_with_archive
=
$opt_with_cluster
=
$opt_with_csv
=
$opt_with_example
=
$opt_with_debug
=
$opt_no_benchmark
=
$opt_no_mysqltest
=
$opt_without_embedded
=
$opt_readline
=
0
;
$opt_bundled_zlib
=
$opt_help
=
$opt_delete
=
$opt_debug
=
$opt_stage
=
$opt_no_test
=
$opt_no_perl
=
$opt_one_error
=
$opt_with_low_memory
=
$opt_fast_benchmark
=
$opt_static_client
=
$opt_static_server
=
$opt_static_perl
=
$opt_sur
=
$opt_with_small_disk
=
$opt_local_perl
=
$opt_tcpip
=
$opt_build_thread
=
$opt_use_old_distribution
=
$opt_enable_shared
=
$opt_no_crash_me
=
$opt_no_strip
=
$opt_with_archive
=
$opt_with_cluster
=
$opt_with_csv
=
$opt_with_example
=
$opt_with_debug
=
$opt_no_benchmark
=
$opt_no_mysqltest
=
$opt_without_embedded
=
$opt_readline
=
0
;
$opt_
embedded_test
=
$opt
_ps_test
=
$opt_innodb
=
$opt_bdb
=
$opt_raid
=
$opt_libwrap
=
$opt_clearlogs
=
0
;
$opt_
skip_embedded_test
=
$opt_skip
_ps_test
=
$opt_innodb
=
$opt_bdb
=
$opt_raid
=
$opt_libwrap
=
$opt_clearlogs
=
0
;
GetOptions
(
GetOptions
(
"
bdb
",
"
bdb
",
...
@@ -25,7 +25,6 @@ GetOptions(
...
@@ -25,7 +25,6 @@ GetOptions(
"
delete
",
"
delete
",
"
distribution=s
",
"
distribution=s
",
"
enable-shared
",
"
enable-shared
",
"
embedded-test
",
"
fast-benchmark
",
"
fast-benchmark
",
"
help|Information
",
"
help|Information
",
"
innodb
",
"
innodb
",
...
@@ -41,9 +40,10 @@ GetOptions(
...
@@ -41,9 +40,10 @@ GetOptions(
"
one-error
",
"
one-error
",
"
perl-files=s
",
"
perl-files=s
",
"
perl-options=s
",
"
perl-options=s
",
"
ps-test
",
"
raid
",
"
raid
",
"
readline
",
"
readline
",
"
skip-embedded-test
",
"
skip-ps-test
",
"
stage=i
",
"
stage=i
",
"
static-client
",
"
static-client
",
"
static-perl
",
"
static-perl
",
...
@@ -57,8 +57,8 @@ GetOptions(
...
@@ -57,8 +57,8 @@ GetOptions(
"
version-suffix=s
",
"
version-suffix=s
",
"
with-archive
",
"
with-archive
",
"
with-cluster
",
"
with-cluster
",
"
with-csv
",
"
with-csv
",
"
with-example
",
"
with-example
",
"
with-debug
",
"
with-debug
",
"
with-low-memory
",
"
with-low-memory
",
"
with-other-libc=s
",
"
with-other-libc=s
",
...
@@ -278,7 +278,7 @@ if ($opt_stage <= 1)
...
@@ -278,7 +278,7 @@ if ($opt_stage <= 1)
$opt_config_options
.=
"
--with-libedit
";
$opt_config_options
.=
"
--with-libedit
";
}
}
$opt_config_options
.=
"
--with-embedded-server
"
unless
(
$opt_without_embedded
);
$opt_config_options
.=
"
--with-embedded-server
"
unless
(
$opt_without_embedded
);
$opt_
embedded_test
=
0
if
(
$opt_without_embedded
);
$opt_
skip_embedded_test
=
1
if
(
$opt_without_embedded
);
$opt_config_options
.=
"
--with-archive-storage-engine
"
if
(
$opt_with_archive
);
$opt_config_options
.=
"
--with-archive-storage-engine
"
if
(
$opt_with_archive
);
$opt_config_options
.=
"
--with-ndbcluster
"
if
(
$opt_with_cluster
);
$opt_config_options
.=
"
--with-ndbcluster
"
if
(
$opt_with_cluster
);
$opt_config_options
.=
"
--with-csv-storage-engine
"
if
(
$opt_with_csv
);
$opt_config_options
.=
"
--with-csv-storage-engine
"
if
(
$opt_with_csv
);
...
@@ -391,14 +391,14 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
...
@@ -391,14 +391,14 @@ if ($opt_stage <= 5 && !$opt_no_test && !$opt_no_mysqltest)
safe_cd
("
${test_dir}
/mysql-test
");
safe_cd
("
${test_dir}
/mysql-test
");
check_system
("
./mysql-test-run
$flags
--tmpdir=
$bench_tmpdir
--master_port=
$mysql_tcp_port
--slave_port=
$slave_port
--ndbcluster_port=
$ndbcluster_port
--manager-port=
$manager_port
--no-manager --sleep=10
",
"
tests were successful
");
check_system
("
./mysql-test-run
$flags
--tmpdir=
$bench_tmpdir
--master_port=
$mysql_tcp_port
--slave_port=
$slave_port
--ndbcluster_port=
$ndbcluster_port
--manager-port=
$manager_port
--no-manager --sleep=10
",
"
tests were successful
");
if
(
$opt
_ps_test
)
unless
(
$opt_skip
_ps_test
)
{
{
log_timestamp
();
log_timestamp
();
info
("
Running test suite using prepared statements
");
info
("
Running test suite using prepared statements
");
check_system
("
./mysql-test-run
$flags
--ps-protocol --tmpdir=
$bench_tmpdir
--master_port=
$mysql_tcp_port
--slave_port=
$slave_port
--ndbcluster_port=
$ndbcluster_port
--manager-port=
$manager_port
--no-manager --sleep=10
",
"
tests were successful
");
check_system
("
./mysql-test-run
$flags
--ps-protocol --tmpdir=
$bench_tmpdir
--master_port=
$mysql_tcp_port
--slave_port=
$slave_port
--ndbcluster_port=
$ndbcluster_port
--manager-port=
$manager_port
--no-manager --sleep=10
",
"
tests were successful
");
}
}
if
(
$opt
_embedded_test
)
unless
(
$opt_skip
_embedded_test
)
{
{
log_timestamp
();
log_timestamp
();
info
("
Running embedded server test suite
");
info
("
Running embedded server test suite
");
...
@@ -551,9 +551,6 @@ Delete the distribution file.
...
@@ -551,9 +551,6 @@ Delete the distribution file.
--distribution=<distribution_file>
--distribution=<distribution_file>
Name of the MySQL source distribution file.
Name of the MySQL source distribution file.
--embedded-test
Run the test suite against the embedded server
--enable-shared
--enable-shared
Compile with shared libraries
Compile with shared libraries
...
@@ -602,15 +599,18 @@ Compile and install the given perl modules.
...
@@ -602,15 +599,18 @@ Compile and install the given perl modules.
--perl-options=<options>
--perl-options=<options>
Build Perl modules with the additional options
Build Perl modules with the additional options
--ps-test
Run an additional test run, using prepared statements
--raid
--raid
Compile with RAID support
Compile with RAID support
--readline
--readline
Compile against readline library instead of libedit
Compile against readline library instead of libedit
--skip-embedded-test
Skip running the test suite against the embedded server
--skip-ps-test
Skip running the additional test run that uses the prepared statement protocol
--stage=[1-6]
--stage=[1-6]
Start script from some specific point.
Start script from some specific point.
...
...
config/ac-macros/character_sets.m4
View file @
0da3b5b1
...
@@ -7,14 +7,14 @@ AC_DIVERT_PUSH(0)
...
@@ -7,14 +7,14 @@ AC_DIVERT_PUSH(0)
define(CHARSETS_AVAILABLE0,binary)
define(CHARSETS_AVAILABLE0,binary)
define(CHARSETS_AVAILABLE1,armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257)
define(CHARSETS_AVAILABLE1,armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257)
define(CHARSETS_AVAILABLE2,cp850 cp852 cp866 cp932 dec8 eucjp
_
ms euckr gb2312 gbk geostd8)
define(CHARSETS_AVAILABLE2,cp850 cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8)
define(CHARSETS_AVAILABLE3,greek hebrew hp8 keybcs2 koi8r koi8u)
define(CHARSETS_AVAILABLE3,greek hebrew hp8 keybcs2 koi8r koi8u)
define(CHARSETS_AVAILABLE4,latin1 latin2 latin5 latin7 macce macroman)
define(CHARSETS_AVAILABLE4,latin1 latin2 latin5 latin7 macce macroman)
define(CHARSETS_AVAILABLE5,sjis swe7 tis620 ucs2 ujis utf8)
define(CHARSETS_AVAILABLE5,sjis swe7 tis620 ucs2 ujis utf8)
DEFAULT_CHARSET=latin1
DEFAULT_CHARSET=latin1
CHARSETS_AVAILABLE="CHARSETS_AVAILABLE0 CHARSETS_AVAILABLE1 CHARSETS_AVAILABLE2 CHARSETS_AVAILABLE3 CHARSETS_AVAILABLE4 CHARSETS_AVAILABLE5"
CHARSETS_AVAILABLE="CHARSETS_AVAILABLE0 CHARSETS_AVAILABLE1 CHARSETS_AVAILABLE2 CHARSETS_AVAILABLE3 CHARSETS_AVAILABLE4 CHARSETS_AVAILABLE5"
CHARSETS_COMPLEX="big5 cp1250 cp932 eucjp
_
ms euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8"
CHARSETS_COMPLEX="big5 cp1250 cp932 eucjpms euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8"
AC_DIVERT_POP
AC_DIVERT_POP
...
@@ -111,8 +111,8 @@ do
...
@@ -111,8 +111,8 @@ do
dec8)
dec8)
AC_DEFINE(HAVE_CHARSET_dec8, 1, [Define to enable charset dec8])
AC_DEFINE(HAVE_CHARSET_dec8, 1, [Define to enable charset dec8])
;;
;;
eucjp
_
ms)
eucjpms)
AC_DEFINE(HAVE_CHARSET_eucjp
_ms, 1, [Define to enable charset eucjp_
ms])
AC_DEFINE(HAVE_CHARSET_eucjp
ms, 1, [Define to enable charset eucjp
ms])
AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
AC_DEFINE([USE_MB], [1], [Use multi-byte character routines])
AC_DEFINE(USE_MB_IDENT, 1)
AC_DEFINE(USE_MB_IDENT, 1)
;;
;;
...
@@ -259,9 +259,9 @@ case $default_charset in
...
@@ -259,9 +259,9 @@ case $default_charset in
default_charset_default_collation="dec8_swedish_ci"
default_charset_default_collation="dec8_swedish_ci"
default_charset_collations="dec8_swedish_ci dec8_bin"
default_charset_collations="dec8_swedish_ci dec8_bin"
;;
;;
eucjp
_
ms)
eucjpms)
default_charset_default_collation="eucjp
_
ms_japanese_ci"
default_charset_default_collation="eucjpms_japanese_ci"
default_charset_collations="eucjp
_
ms_japanese_ci ujis_bin"
default_charset_collations="eucjpms_japanese_ci ujis_bin"
;;
;;
euckr)
euckr)
default_charset_default_collation="euckr_korean_ci"
default_charset_default_collation="euckr_korean_ci"
...
...
include/m_ctype.h
View file @
0da3b5b1
...
@@ -232,8 +232,8 @@ extern CHARSET_INFO my_charset_big5_chinese_ci;
...
@@ -232,8 +232,8 @@ extern CHARSET_INFO my_charset_big5_chinese_ci;
extern
CHARSET_INFO
my_charset_big5_bin
;
extern
CHARSET_INFO
my_charset_big5_bin
;
extern
CHARSET_INFO
my_charset_cp932_japanese_ci
;
extern
CHARSET_INFO
my_charset_cp932_japanese_ci
;
extern
CHARSET_INFO
my_charset_cp932_bin
;
extern
CHARSET_INFO
my_charset_cp932_bin
;
extern
CHARSET_INFO
my_charset_eucjp
_
ms_japanese_ci
;
extern
CHARSET_INFO
my_charset_eucjpms_japanese_ci
;
extern
CHARSET_INFO
my_charset_eucjp
_
ms_bin
;
extern
CHARSET_INFO
my_charset_eucjpms_bin
;
extern
CHARSET_INFO
my_charset_euckr_korean_ci
;
extern
CHARSET_INFO
my_charset_euckr_korean_ci
;
extern
CHARSET_INFO
my_charset_euckr_bin
;
extern
CHARSET_INFO
my_charset_euckr_bin
;
extern
CHARSET_INFO
my_charset_gb2312_chinese_ci
;
extern
CHARSET_INFO
my_charset_gb2312_chinese_ci
;
...
...
libmysql/Makefile.shared
View file @
0da3b5b1
...
@@ -42,7 +42,7 @@ mystringsobjects = strmov.lo strxmov.lo strxnmov.lo strnmov.lo \
...
@@ -42,7 +42,7 @@ mystringsobjects = strmov.lo strxmov.lo strxnmov.lo strnmov.lo \
bchange.lo bmove.lo bmove_upp.lo longlong2str.lo
\
bchange.lo bmove.lo bmove_upp.lo longlong2str.lo
\
strtoull.lo strtoll.lo llstr.lo my_vsnprintf.lo
\
strtoull.lo strtoll.lo llstr.lo my_vsnprintf.lo
\
ctype.lo ctype-simple.lo ctype-bin.lo ctype-mb.lo
\
ctype.lo ctype-simple.lo ctype-bin.lo ctype-mb.lo
\
ctype-big5.lo ctype-czech.lo ctype-cp932.lo ctype-eucjp
_
ms.lo ctype-euc_kr.lo
\
ctype-big5.lo ctype-czech.lo ctype-cp932.lo ctype-eucjpms.lo ctype-euc_kr.lo
\
ctype-win1250ch.lo ctype-utf8.lo ctype-extra.lo
\
ctype-win1250ch.lo ctype-utf8.lo ctype-extra.lo
\
ctype-ucs2.lo ctype-gb2312.lo ctype-gbk.lo
\
ctype-ucs2.lo ctype-gb2312.lo ctype-gbk.lo
\
ctype-sjis.lo ctype-tis620.lo ctype-ujis.lo
\
ctype-sjis.lo ctype-tis620.lo ctype-ujis.lo
\
...
...
mysql-test/r/ctype_cp932.result
View file @
0da3b5b1
...
@@ -8573,7 +8573,7 @@ F9F9
...
@@ -8573,7 +8573,7 @@ F9F9
F9FA
F9FA
F9FB
F9FB
F9FC
F9FC
CREATE TABLE t4 SELECT CONVERT(c1 USING eucjp
_
ms) AS c1 FROM t1;
CREATE TABLE t4 SELECT CONVERT(c1 USING eucjpms) AS c1 FROM t1;
SELECT HEX(c1) FROM t4;
SELECT HEX(c1) FROM t4;
HEX(c1)
HEX(c1)
05
05
...
...
mysql-test/r/ctype_eucjp
_
ms.result
→
mysql-test/r/ctype_eucjpms.result
View file @
0da3b5b1
...
@@ -2,9 +2,9 @@ drop table if exists t1;
...
@@ -2,9 +2,9 @@ drop table if exists t1;
drop table if exists t2;
drop table if exists t2;
drop table if exists t3;
drop table if exists t3;
drop table if exists t4;
drop table if exists t4;
set names eucjp
_
ms;
set names eucjpms;
set character_set_database = eucjp
_
ms;
set character_set_database = eucjpms;
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = eucjp
_
ms;
CREATE TABLE t1(c1 CHAR(1)) DEFAULT CHARACTER SET = eucjpms;
INSERT INTO t1 VALUES
INSERT INTO t1 VALUES
(0x5C),(0x7E),(0xA1B1),(0xA1BD),(0xA1C0),(0xA1C1),(0xA1C2),(0xA1DD),(0xA1F1),(0xA1F2),(0xA1EF),(0xA2CC),(0x8FA2B7),(0x8FA2C3);
(0x5C),(0x7E),(0xA1B1),(0xA1BD),(0xA1C0),(0xA1C1),(0xA1C2),(0xA1DD),(0xA1F1),(0xA1F2),(0xA1EF),(0xA2CC),(0x8FA2B7),(0x8FA2C3);
INSERT INTO t1 VALUES
INSERT INTO t1 VALUES
...
@@ -5045,7 +5045,7 @@ E754
...
@@ -5045,7 +5045,7 @@ E754
E755
E755
E756
E756
E757
E757
CREATE TABLE t3 SELECT CONVERT(c1 USING eucjp
_
ms) AS c1 FROM t2;
CREATE TABLE t3 SELECT CONVERT(c1 USING eucjpms) AS c1 FROM t2;
SELECT HEX(c1) FROM t3;
SELECT HEX(c1) FROM t3;
HEX(c1)
HEX(c1)
5C
5C
...
@@ -9781,3 +9781,7 @@ F9F9
...
@@ -9781,3 +9781,7 @@ F9F9
F9FA
F9FA
F9FB
F9FB
F9FC
F9FC
DROP TABLE t1;
DROP TABLE t2;
DROP TABLE t3;
DROP TABLE t4;
mysql-test/t/ctype_cp932.test
View file @
0da3b5b1
...
@@ -387,8 +387,8 @@ SELECT HEX(c1) FROM t2;
...
@@ -387,8 +387,8 @@ SELECT HEX(c1) FROM t2;
CREATE
TABLE
t3
SELECT
CONVERT
(
c1
USING
cp932
)
AS
c1
FROM
t2
;
CREATE
TABLE
t3
SELECT
CONVERT
(
c1
USING
cp932
)
AS
c1
FROM
t2
;
SELECT
HEX
(
c1
)
FROM
t3
;
SELECT
HEX
(
c1
)
FROM
t3
;
#Test conversion to eucjp
_
ms
#Test conversion to eucjpms
CREATE
TABLE
t4
SELECT
CONVERT
(
c1
USING
eucjp
_
ms
)
AS
c1
FROM
t1
;
CREATE
TABLE
t4
SELECT
CONVERT
(
c1
USING
eucjpms
)
AS
c1
FROM
t1
;
SELECT
HEX
(
c1
)
FROM
t4
;
SELECT
HEX
(
c1
)
FROM
t4
;
DROP
TABLE
t1
;
DROP
TABLE
t1
;
...
...
mysql-test/t/ctype_eucjp
_
ms.test
→
mysql-test/t/ctype_eucjpms.test
View file @
0da3b5b1
--
character_set
eucjp_ms
--
disable_warnings
--
disable_warnings
drop
table
if
exists
t1
;
drop
table
if
exists
t1
;
drop
table
if
exists
t2
;
drop
table
if
exists
t2
;
...
@@ -6,10 +5,10 @@ drop table if exists t3;
...
@@ -6,10 +5,10 @@ drop table if exists t3;
drop
table
if
exists
t4
;
drop
table
if
exists
t4
;
--
enable_warnings
--
enable_warnings
set
names
eucjp
_
ms
;
set
names
eucjpms
;
set
character_set_database
=
eucjp
_
ms
;
set
character_set_database
=
eucjpms
;
CREATE
TABLE
t1
(
c1
CHAR
(
1
))
DEFAULT
CHARACTER
SET
=
eucjp
_
ms
;
CREATE
TABLE
t1
(
c1
CHAR
(
1
))
DEFAULT
CHARACTER
SET
=
eucjpms
;
#Characters which are converted to Unicode ambiguously
#Characters which are converted to Unicode ambiguously
INSERT
INTO
t1
VALUES
INSERT
INTO
t1
VALUES
...
@@ -332,7 +331,7 @@ CREATE TABLE t2 SELECT CONVERT(c1 USING ucs2) AS c1 FROM t1;
...
@@ -332,7 +331,7 @@ CREATE TABLE t2 SELECT CONVERT(c1 USING ucs2) AS c1 FROM t1;
SELECT
HEX
(
c1
)
FROM
t2
;
SELECT
HEX
(
c1
)
FROM
t2
;
#Test round trip conversion
#Test round trip conversion
CREATE
TABLE
t3
SELECT
CONVERT
(
c1
USING
eucjp
_
ms
)
AS
c1
FROM
t2
;
CREATE
TABLE
t3
SELECT
CONVERT
(
c1
USING
eucjpms
)
AS
c1
FROM
t2
;
SELECT
HEX
(
c1
)
FROM
t3
;
SELECT
HEX
(
c1
)
FROM
t3
;
#Test conversion to cp932
#Test conversion to cp932
...
...
mysys/charset-def.c
View file @
0da3b5b1
...
@@ -90,9 +90,9 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
...
@@ -90,9 +90,9 @@ my_bool init_compiled_charsets(myf flags __attribute__((unused)))
add_compiled_collation
(
&
my_charset_latin2_czech_ci
);
add_compiled_collation
(
&
my_charset_latin2_czech_ci
);
#endif
#endif
#ifdef HAVE_CHARSET_eucjp
_
ms
#ifdef HAVE_CHARSET_eucjpms
add_compiled_collation
(
&
my_charset_eucjp
_
ms_japanese_ci
);
add_compiled_collation
(
&
my_charset_eucjpms_japanese_ci
);
add_compiled_collation
(
&
my_charset_eucjp
_
ms_bin
);
add_compiled_collation
(
&
my_charset_eucjpms_bin
);
#endif
#endif
#ifdef HAVE_CHARSET_euckr
#ifdef HAVE_CHARSET_euckr
...
...
mysys/default.c
View file @
0da3b5b1
...
@@ -119,7 +119,7 @@ static int search_files(const char *conf_file, int *argc, char ***argv,
...
@@ -119,7 +119,7 @@ static int search_files(const char *conf_file, int *argc, char ***argv,
if
(
defaults_extra_file
)
if
(
defaults_extra_file
)
defaults_extra_file
=
strchr
(
defaults_extra_file
,
'='
)
+
1
;
defaults_extra_file
=
strchr
(
defaults_extra_file
,
'='
)
+
1
;
args_used
+=
(
forced_default_file
?
1
:
0
)
+
(
defaults_extra_file
?
1
:
0
);
(
*
args_used
)
+=
(
forced_default_file
?
1
:
0
)
+
(
defaults_extra_file
?
1
:
0
);
if
(
forced_default_file
)
if
(
forced_default_file
)
{
{
...
...
sql/share/charsets/Index.xml
View file @
0da3b5b1
...
@@ -569,18 +569,18 @@ To make maintaining easier please:
...
@@ -569,18 +569,18 @@ To make maintaining easier please:
</collation>
</collation>
</charset>
</charset>
<charset
name=
"eucjp
_
ms"
>
<charset
name=
"eucjpms"
>
<family>
Japanese
</family>
<family>
Japanese
</family>
<description>
UJIS for Windows Japanese
</description>
<description>
UJIS for Windows Japanese
</description>
<alias>
eucjpms
</alias>
<alias>
eucjpms
</alias>
<alias>
eucJP_ms
</alias>
<alias>
eucJP_ms
</alias>
<alias>
ujis_ms
</alias>
<alias>
ujis_ms
</alias>
<alias>
ujis_cp932
</alias>
<alias>
ujis_cp932
</alias>
<collation
name=
"eucjp
_
ms_japanese_ci"
id=
"97"
order=
"Japanese"
>
<collation
name=
"eucjpms_japanese_ci"
id=
"97"
order=
"Japanese"
>
<flag>
primary
</flag>
<flag>
primary
</flag>
<flag>
compiled
</flag>
<flag>
compiled
</flag>
</collation>
</collation>
<collation
name=
"eucjp
_
ms_bin"
id=
"98"
order=
"Japanese"
>
<collation
name=
"eucjpms_bin"
id=
"98"
order=
"Japanese"
>
<flag>
binary
</flag>
<flag>
binary
</flag>
<flag>
compiled
</flag>
<flag>
compiled
</flag>
</collation>
</collation>
...
...
strings/Makefile.am
View file @
0da3b5b1
...
@@ -22,19 +22,19 @@ pkglib_LIBRARIES = libmystrings.a
...
@@ -22,19 +22,19 @@ pkglib_LIBRARIES = libmystrings.a
# Exact one of ASSEMBLER_X
# Exact one of ASSEMBLER_X
if
ASSEMBLER_x86
if
ASSEMBLER_x86
ASRCS
=
strings-x86.s longlong2str-x86.s my_strtoll10-x86.s
ASRCS
=
strings-x86.s longlong2str-x86.s my_strtoll10-x86.s
CSRCS
=
bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c strtod.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjp
_
ms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c
CSRCS
=
bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c strtod.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c
else
else
if
ASSEMBLER_sparc32
if
ASSEMBLER_sparc32
# These file MUST all be on the same line!! Otherwise automake
# These file MUST all be on the same line!! Otherwise automake
# generats a very broken makefile
# generats a very broken makefile
ASRCS
=
bmove_upp-sparc.s strappend-sparc.s strend-sparc.s strinstr-sparc.s strmake-sparc.s strmov-sparc.s strnmov-sparc.s strstr-sparc.s
ASRCS
=
bmove_upp-sparc.s strappend-sparc.s strend-sparc.s strinstr-sparc.s strmake-sparc.s strmov-sparc.s strnmov-sparc.s strstr-sparc.s
CSRCS
=
strcont.c strfill.c strcend.c is_prefix.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c strtod.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c strxmov.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjp
_
ms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c my_strtoll10.c
CSRCS
=
strcont.c strfill.c strcend.c is_prefix.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c strtod.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c strxmov.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c my_strtoll10.c
else
else
#no assembler
#no assembler
ASRCS
=
ASRCS
=
# These file MUST all be on the same line!! Otherwise automake
# These file MUST all be on the same line!! Otherwise automake
# generats a very broken makefile
# generats a very broken makefile
CSRCS
=
strxmov.c bmove_upp.c strappend.c strcont.c strend.c strfill.c strcend.c is_prefix.c strstr.c strinstr.c strmake.c strnmov.c strmov.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c strtod.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjp
_
ms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c my_strtoll10.c
CSRCS
=
strxmov.c bmove_upp.c strappend.c strcont.c strend.c strfill.c strcend.c is_prefix.c strstr.c strinstr.c strmake.c strnmov.c strmov.c longlong2str.c bfill.c bmove.c bmove512.c bchange.c strxnmov.c int2str.c str2int.c r_strinstr.c strtod.c bcmp.c strtol.c strtoul.c strtoll.c strtoull.c llstr.c strnlen.c ctype.c ctype-simple.c ctype-mb.c ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-tis620.c ctype-ujis.c ctype-utf8.c ctype-ucs2.c ctype-uca.c ctype-win1250ch.c ctype-bin.c ctype-latin1.c my_vsnprintf.c xml.c decimal.c ctype-extra.c my_strtoll10.c
endif
endif
endif
endif
...
@@ -42,7 +42,7 @@ libmystrings_a_SOURCES = $(ASRCS) $(CSRCS)
...
@@ -42,7 +42,7 @@ libmystrings_a_SOURCES = $(ASRCS) $(CSRCS)
noinst_PROGRAMS
=
conf_to_src
noinst_PROGRAMS
=
conf_to_src
DISTCLEANFILES
=
ctype_autoconf.c
DISTCLEANFILES
=
ctype_autoconf.c
# Default charset definitions
# Default charset definitions
EXTRA_DIST
=
ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjp
_
ms.c ctype-euc_kr.c ctype-win1250ch.c
\
EXTRA_DIST
=
ctype-big5.c ctype-cp932.c ctype-czech.c ctype-eucjpms.c ctype-euc_kr.c ctype-win1250ch.c
\
ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-utf8.c
\
ctype-gb2312.c ctype-gbk.c ctype-sjis.c ctype-utf8.c
\
ctype-ucs2.c ctype-uca.c ctype-tis620.c ctype-ujis.c
\
ctype-ucs2.c ctype-uca.c ctype-tis620.c ctype-ujis.c
\
xml.c decimal.c strto.c strings-x86.s
\
xml.c decimal.c strto.c strings-x86.s
\
...
...
strings/ctype-eucjp
_
ms.c
→
strings/ctype-eucjpms.c
View file @
0da3b5b1
...
@@ -23,17 +23,17 @@ ctype-ujis.c file.
...
@@ -23,17 +23,17 @@ ctype-ujis.c file.
* This comment is parsed by configure to create ctype.c,
* This comment is parsed by configure to create ctype.c,
* so don't change it unless you know what you are doing.
* so don't change it unless you know what you are doing.
*
*
* .configure. mbmaxlen_eucjp
_
ms=3
* .configure. mbmaxlen_eucjpms=3
*/
*/
#include <my_global.h>
#include <my_global.h>
#include "m_string.h"
#include "m_string.h"
#include "m_ctype.h"
#include "m_ctype.h"
#ifdef HAVE_CHARSET_eucjp
_
ms
#ifdef HAVE_CHARSET_eucjpms
static
uchar
NEAR
ctype_eucjp
_
ms
[
257
]
=
static
uchar
NEAR
ctype_eucjpms
[
257
]
=
{
{
0
,
/* For standard library */
0
,
/* For standard library */
0040
,
0040
,
0040
,
0040
,
0040
,
0040
,
0040
,
0040
,
/* NUL ^A - ^G */
0040
,
0040
,
0040
,
0040
,
0040
,
0040
,
0040
,
0040
,
/* NUL ^A - ^G */
...
@@ -70,7 +70,7 @@ static uchar NEAR ctype_eucjp_ms[257] =
...
@@ -70,7 +70,7 @@ static uchar NEAR ctype_eucjp_ms[257] =
0020
,
0020
,
0020
,
0020
,
0020
,
0020
,
0020
,
0000
,
0020
,
0020
,
0020
,
0020
,
0020
,
0020
,
0020
,
0000
,
};
};
static
uchar
NEAR
to_lower_eucjp
_
ms
[]
=
static
uchar
NEAR
to_lower_eucjpms
[]
=
{
{
'\000'
,
'\001'
,
'\002'
,
'\003'
,
'\004'
,
'\005'
,
'\006'
,
'\007'
,
'\000'
,
'\001'
,
'\002'
,
'\003'
,
'\004'
,
'\005'
,
'\006'
,
'\007'
,
'\010'
,
'\011'
,
'\012'
,
'\013'
,
'\014'
,
'\015'
,
'\016'
,
'\017'
,
'\010'
,
'\011'
,
'\012'
,
'\013'
,
'\014'
,
'\015'
,
'\016'
,
'\017'
,
...
@@ -106,7 +106,7 @@ static uchar NEAR to_lower_eucjp_ms[]=
...
@@ -106,7 +106,7 @@ static uchar NEAR to_lower_eucjp_ms[]=
(
uchar
)
'\370'
,(
uchar
)
'\371'
,(
uchar
)
'\372'
,(
uchar
)
'\373'
,(
uchar
)
'\374'
,(
uchar
)
'\375'
,(
uchar
)
'\376'
,(
uchar
)
'\377'
(
uchar
)
'\370'
,(
uchar
)
'\371'
,(
uchar
)
'\372'
,(
uchar
)
'\373'
,(
uchar
)
'\374'
,(
uchar
)
'\375'
,(
uchar
)
'\376'
,(
uchar
)
'\377'
};
};
static
uchar
NEAR
to_upper_eucjp
_
ms
[]
=
static
uchar
NEAR
to_upper_eucjpms
[]
=
{
{
'\000'
,
'\001'
,
'\002'
,
'\003'
,
'\004'
,
'\005'
,
'\006'
,
'\007'
,
'\000'
,
'\001'
,
'\002'
,
'\003'
,
'\004'
,
'\005'
,
'\006'
,
'\007'
,
'\010'
,
'\011'
,
'\012'
,
'\013'
,
'\014'
,
'\015'
,
'\016'
,
'\017'
,
'\010'
,
'\011'
,
'\012'
,
'\013'
,
'\014'
,
'\015'
,
'\016'
,
'\017'
,
...
@@ -142,7 +142,7 @@ static uchar NEAR to_upper_eucjp_ms[]=
...
@@ -142,7 +142,7 @@ static uchar NEAR to_upper_eucjp_ms[]=
(
uchar
)
'\370'
,(
uchar
)
'\371'
,(
uchar
)
'\372'
,(
uchar
)
'\373'
,(
uchar
)
'\374'
,(
uchar
)
'\375'
,(
uchar
)
'\376'
,(
uchar
)
'\377'
(
uchar
)
'\370'
,(
uchar
)
'\371'
,(
uchar
)
'\372'
,(
uchar
)
'\373'
,(
uchar
)
'\374'
,(
uchar
)
'\375'
,(
uchar
)
'\376'
,(
uchar
)
'\377'
};
};
static
uchar
NEAR
sort_order_eucjp
_
ms
[]
=
static
uchar
NEAR
sort_order_eucjpms
[]
=
{
{
'\000'
,
'\001'
,
'\002'
,
'\003'
,
'\004'
,
'\005'
,
'\006'
,
'\007'
,
'\000'
,
'\001'
,
'\002'
,
'\003'
,
'\004'
,
'\005'
,
'\006'
,
'\007'
,
'\010'
,
'\011'
,
'\012'
,
'\013'
,
'\014'
,
'\015'
,
'\016'
,
'\017'
,
'\010'
,
'\011'
,
'\012'
,
'\013'
,
'\014'
,
'\015'
,
'\016'
,
'\017'
,
...
@@ -179,25 +179,25 @@ static uchar NEAR sort_order_eucjp_ms[]=
...
@@ -179,25 +179,25 @@ static uchar NEAR sort_order_eucjp_ms[]=
};
};
#define iseucjp
_
ms(c) ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xfe))
#define iseucjpms(c) ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xfe))
#define iskata(c) ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xdf))
#define iskata(c) ((0xa1<=((c)&0xff) && ((c)&0xff)<=0xdf))
#define iseucjp
_
ms_ss2(c) (((c)&0xff) == 0x8e)
#define iseucjpms_ss2(c) (((c)&0xff) == 0x8e)
#define iseucjp
_
ms_ss3(c) (((c)&0xff) == 0x8f)
#define iseucjpms_ss3(c) (((c)&0xff) == 0x8f)
static
int
ismbchar_eucjp
_
ms
(
CHARSET_INFO
*
cs
__attribute__
((
unused
)),
static
int
ismbchar_eucjpms
(
CHARSET_INFO
*
cs
__attribute__
((
unused
)),
const
char
*
p
,
const
char
*
e
)
const
char
*
p
,
const
char
*
e
)
{
{
return
((
*
(
uchar
*
)(
p
)
<
0x80
)
?
0
:
\
return
((
*
(
uchar
*
)(
p
)
<
0x80
)
?
0
:
\
iseucjp
_ms
(
*
(
p
))
&&
(
e
)
-
(
p
)
>
1
&&
iseucjp_
ms
(
*
((
p
)
+
1
))
?
2
:
\
iseucjp
ms
(
*
(
p
))
&&
(
e
)
-
(
p
)
>
1
&&
iseucjp
ms
(
*
((
p
)
+
1
))
?
2
:
\
iseucjp
_
ms_ss2
(
*
(
p
))
&&
(
e
)
-
(
p
)
>
1
&&
iskata
(
*
((
p
)
+
1
))
?
2
:
\
iseucjpms_ss2
(
*
(
p
))
&&
(
e
)
-
(
p
)
>
1
&&
iskata
(
*
((
p
)
+
1
))
?
2
:
\
iseucjp
_ms_ss3
(
*
(
p
))
&&
(
e
)
-
(
p
)
>
2
&&
iseucjp_ms
(
*
((
p
)
+
1
))
&&
iseucjp_
ms
(
*
((
p
)
+
2
))
?
3
:
\
iseucjp
ms_ss3
(
*
(
p
))
&&
(
e
)
-
(
p
)
>
2
&&
iseucjpms
(
*
((
p
)
+
1
))
&&
iseucjp
ms
(
*
((
p
)
+
2
))
?
3
:
\
0
);
0
);
}
}
static
int
mbcharlen_eucjp
_
ms
(
CHARSET_INFO
*
cs
__attribute__
((
unused
)),
uint
c
)
static
int
mbcharlen_eucjpms
(
CHARSET_INFO
*
cs
__attribute__
((
unused
)),
uint
c
)
{
{
return
(
iseucjp
_ms
(
c
)
?
2
:
iseucjp_ms_ss2
(
c
)
?
2
:
iseucjp_
ms_ss3
(
c
)
?
3
:
1
);
return
(
iseucjp
ms
(
c
)
?
2
:
iseucjpms_ss2
(
c
)
?
2
:
iseucjp
ms_ss3
(
c
)
?
3
:
1
);
}
}
...
@@ -8387,7 +8387,7 @@ my_jisx0212_uni_onechar(int code){
...
@@ -8387,7 +8387,7 @@ my_jisx0212_uni_onechar(int code){
*/
*/
static
static
uint
my_well_formed_len_eucjp
_
ms
(
CHARSET_INFO
*
cs
__attribute__
((
unused
)),
uint
my_well_formed_len_eucjpms
(
CHARSET_INFO
*
cs
__attribute__
((
unused
)),
const
char
*
beg
,
const
char
*
end
,
uint
pos
)
const
char
*
beg
,
const
char
*
end
,
uint
pos
)
{
{
const
uchar
*
b
=
(
uchar
*
)
beg
;
const
uchar
*
b
=
(
uchar
*
)
beg
;
...
@@ -8646,11 +8646,11 @@ static MY_COLLATION_HANDLER my_collation_ci_handler =
...
@@ -8646,11 +8646,11 @@ static MY_COLLATION_HANDLER my_collation_ci_handler =
static
MY_CHARSET_HANDLER
my_charset_handler
=
static
MY_CHARSET_HANDLER
my_charset_handler
=
{
{
NULL
,
/* init */
NULL
,
/* init */
ismbchar_eucjp
_
ms
,
ismbchar_eucjpms
,
mbcharlen_eucjp
_
ms
,
mbcharlen_eucjpms
,
my_numchars_mb
,
my_numchars_mb
,
my_charpos_mb
,
my_charpos_mb
,
my_well_formed_len_eucjp
_
ms
,
my_well_formed_len_eucjpms
,
my_lengthsp_8bit
,
my_lengthsp_8bit
,
my_numcells_eucjp
,
my_numcells_eucjp
,
my_mb_wc_euc_jp
,
/* mb_wc */
my_mb_wc_euc_jp
,
/* mb_wc */
...
@@ -8674,18 +8674,18 @@ static MY_CHARSET_HANDLER my_charset_handler=
...
@@ -8674,18 +8674,18 @@ static MY_CHARSET_HANDLER my_charset_handler=
CHARSET_INFO
my_charset_eucjp
_
ms_japanese_ci
=
CHARSET_INFO
my_charset_eucjpms_japanese_ci
=
{
{
97
,
0
,
0
,
/* number */
97
,
0
,
0
,
/* number */
MY_CS_COMPILED
|
MY_CS_PRIMARY
,
/* state */
MY_CS_COMPILED
|
MY_CS_PRIMARY
,
/* state */
"eucjp
_
ms"
,
/* cs name */
"eucjpms"
,
/* cs name */
"eucjp
_
ms_japanese_ci"
,
/* name */
"eucjpms_japanese_ci"
,
/* name */
""
,
/* comment */
""
,
/* comment */
NULL
,
/* tailoring */
NULL
,
/* tailoring */
ctype_eucjp
_
ms
,
ctype_eucjpms
,
to_lower_eucjp
_
ms
,
to_lower_eucjpms
,
to_upper_eucjp
_
ms
,
to_upper_eucjpms
,
sort_order_eucjp
_
ms
,
sort_order_eucjpms
,
NULL
,
/* sort_order_big*/
NULL
,
/* sort_order_big*/
NULL
,
/* contractions */
NULL
,
/* contractions */
NULL
,
/* tab_to_uni */
NULL
,
/* tab_to_uni */
...
@@ -8702,17 +8702,17 @@ CHARSET_INFO my_charset_eucjp_ms_japanese_ci=
...
@@ -8702,17 +8702,17 @@ CHARSET_INFO my_charset_eucjp_ms_japanese_ci=
};
};
CHARSET_INFO
my_charset_eucjp
_
ms_bin
=
CHARSET_INFO
my_charset_eucjpms_bin
=
{
{
98
,
0
,
0
,
/* number */
98
,
0
,
0
,
/* number */
MY_CS_COMPILED
|
MY_CS_BINSORT
,
/* state */
MY_CS_COMPILED
|
MY_CS_BINSORT
,
/* state */
"eucjp
_
ms"
,
/* cs name */
"eucjpms"
,
/* cs name */
"eucjp
_
ms_bin"
,
/* name */
"eucjpms_bin"
,
/* name */
""
,
/* comment */
""
,
/* comment */
NULL
,
/* tailoring */
NULL
,
/* tailoring */
ctype_eucjp
_
ms
,
ctype_eucjpms
,
to_lower_eucjp
_
ms
,
to_lower_eucjpms
,
to_upper_eucjp
_
ms
,
to_upper_eucjpms
,
NULL
,
/* sort_order */
NULL
,
/* sort_order */
NULL
,
/* contractions */
NULL
,
/* contractions */
NULL
,
/* sort_order_big*/
NULL
,
/* sort_order_big*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment