summaryrefslogtreecommitdiff
path: root/source4/libcli
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2004-09-01 04:39:06 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 12:58:27 -0500
commit31c1c7846f6b6e5848bc39a28a65118bfa98e35d (patch)
tree7387bbf9234320ca2c60011b34c76c08e2b274b0 /source4/libcli
parent48f3df41bb4c854b1049591e1c315c4c3b980984 (diff)
downloadsamba-31c1c7846f6b6e5848bc39a28a65118bfa98e35d.tar.gz
samba-31c1c7846f6b6e5848bc39a28a65118bfa98e35d.tar.bz2
samba-31c1c7846f6b6e5848bc39a28a65118bfa98e35d.zip
r2159: converted samba4 over to UTF-16.
I had previously thought this was unnecessary, as windows doesn't use standards compliant UTF-16, and for filesystem operations treats bytes as UCS-2, but Bjoern Jacke has pointed out to me that this means we don't correctly store extended UTF-16 characters as UTF-8 on disk. This can be seen with (for example) the gothic characters with codepoints above 64k. This commit also adds a LOCAL-ICONV torture test that tests the first 1 million codepoints against the system iconv library, and tests 5 million random UTF-16LE buffers for identical error handling to the system iconv library. the lib/iconv.c changes need backporting to samba3 (This used to be commit 756f28ac95feaa84b42402723d5f7286865c78db)
Diffstat (limited to 'source4/libcli')
-rw-r--r--source4/libcli/raw/rawrequest.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/source4/libcli/raw/rawrequest.c b/source4/libcli/raw/rawrequest.c
index 87bbe5a31b..51c0c0b925 100644
--- a/source4/libcli/raw/rawrequest.c
+++ b/source4/libcli/raw/rawrequest.c
@@ -526,7 +526,7 @@ static size_t smbcli_req_pull_ucs2(struct smbcli_request *req, TALLOC_CTX *mem_c
return 0;
}
- ret = convert_string_talloc(mem_ctx, CH_UCS2, CH_UNIX, src, src_len2, (const void **)dest);
+ ret = convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, src, src_len2, (const void **)dest);
if (ret == -1) {
*dest = NULL;
return 0;
@@ -725,7 +725,7 @@ static size_t smbcli_blob_pull_ucs2(TALLOC_CTX* mem_ctx,
src_len2 += 2;
}
- ret = convert_string_talloc(mem_ctx, CH_UCS2, CH_UNIX, src, src_len2, (const void **)dest);
+ ret = convert_string_talloc(mem_ctx, CH_UTF16, CH_UNIX, src, src_len2, (const void **)dest);
if (ret == -1) {
*dest = NULL;
return 0;