Mail Archives: cygwin/2011/01/28/21:32:45
--------------050209000709030203040705
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
On 1/28/2011 5:12 PM, Bruno Haible wrote:
> Please CC the bug-gnu-libiconv mailing list when discussing possible
> bugs in GNU libiconv.
I hadn't intended on involving bug-gnu-libiconv until we had a working
fix, and a consensus here on @cygwin. But, in any case, here is the
portion of Corinna's patch dealing with the iconv issues, stripped down
to the minimum necessary to correct the "problem".
As pointed out in the @cygwin thread, there are still some open
questions, which I had hoped to avoid by waiting until cygwin-1.7.8 was
released.
1) On cygwin-1.7.8, __STDC_ISO_10646__ is defined, so this change will
allow "correct" behavior *if compiled on cygwin-1.7.8*.
-#if __STDC_ISO_10646__ || ((defined _WIN32 || defined __WIN32__) &&
!defined __CYGWIN__)
+#if __STDC_ISO_10646__ || defined _WIN32 || defined __WIN32__
But cygwin-1.7.8 isn't out yet. But with this change (and the "don't
include windows.h" change) then libiconv will still compile properly on
cygwin-1.5 -- which does not support wide chars, and does NOT define
__STDC_ISO_10646__. However, it WON'T compile properly on cygwin-1.7.x
up to 1.7.7.
2) From cygwin-1.7.2 to cygwin-1.7.7, the following change could be
used instead (there's an issue with 1.7.1 which doesn't bear
exploration here):
-#if __STDC_ISO_10646__ || ((defined _WIN32 || defined __WIN32__) &&
!defined __CYGWIN__)
+#if __STDC_ISO_10646__ || defined _WIN32 || defined __WIN32__ ||
defined __CYGWIN__
But arguably, then it would break on "old" cygwin like 1.5. Perhaps
this is ok, since 1.7 has been "out" for over a year, and maybe
bug-gnu-libiconv doesn't care about old,
unsupported-by-the-cygwin-project versions of cygwin.
In any case, the attached patch goes with option 1 above. It is
completely orthogonal to, and independent of, the other "relocation"
patch, that I posted to the gnulib list.
2010-01-28 Corinna Vinschen <...>
Correct wchar handling on cygwin-1.7.x
* lib/iconv.c (iconv_canonicalize): Allow __STDC_ISO_10646__
to control, rather than using __CYGWIN__ to veto.
* lib/iconv_open1.h: Ditto.
* libcharset/lib/localcharset.c: Don't include windows.h if
__CYGWIN__.
(get_charset_aliases): Remove cygwin workaround; rely on generic
implementation. Be sure to copy result of nl_langinfo into local
buffer.
--
Chuck
--------------050209000709030203040705
Content-Type: application/x-patch;
name="libiconv-1.13.1-2.wchar.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
filename="libiconv-1.13.1-2.wchar.patch"
LS0tIGxpYmljb252LTEuMTMuMS5vcmlnL2xpYi9pY29udi5jCTIwMDktMDYt
MjEgMTM6MTc6MzMuMDAwMDAwMDAwICswMjAwCisrKyBsaWJpY29udi0xLjEz
LjEvbGliL2ljb252LmMJMjAxMS0wMS0yNyAxMjo0NjoyMS41NDQyOTYyODEg
KzAxMDAKQEAgLTU1MCw3ICs1NTAsNyBAQCBjb25zdCBjaGFyICogaWNvbnZf
Y2Fub25pY2FsaXplIChjb25zdCBjCiAgICAgaWYgKGFwLT5lbmNvZGluZ19p
bmRleCA9PSBlaV9sb2NhbF93Y2hhcl90KSB7CiAgICAgICAvKiBPbiBzeXN0
ZW1zIHdoaWNoIGRlZmluZSBfX1NURENfSVNPXzEwNjQ2X18sIHdjaGFyX3Qg
aXMgVW5pY29kZS4KICAgICAgICAgIFRoaXMgaXMgYWxzbyB0aGUgY2FzZSBv
biBuYXRpdmUgV29lMzIgc3lzdGVtcy4gICovCi0jaWYgX19TVERDX0lTT18x
MDY0Nl9fIHx8ICgoZGVmaW5lZCBfV0lOMzIgfHwgZGVmaW5lZCBfX1dJTjMy
X18pICYmICFkZWZpbmVkIF9fQ1lHV0lOX18pCisjaWYgX19TVERDX0lTT18x
MDY0Nl9fIHx8IGRlZmluZWQgX1dJTjMyIHx8IGRlZmluZWQgX19XSU4zMl9f
CiAgICAgICBpZiAoc2l6ZW9mKHdjaGFyX3QpID09IDQpIHsKICAgICAgICAg
aW5kZXggPSBlaV91Y3M0aW50ZXJuYWw7CiAgICAgICAgIGJyZWFrOwotLS0g
bGliaWNvbnYtMS4xMy4xLm9yaWcvbGliL2ljb252X29wZW4xLmgJMjAwOS0w
Ni0yMSAxMzoxNzozMy4wMDAwMDAwMDAgKzAyMDAKKysrIGxpYmljb252LTEu
MTMuMS9saWIvaWNvbnZfb3BlbjEuaAkyMDExLTAxLTI3IDEyOjQ3OjAzLjEx
OTM3MTA1NiArMDEwMApAQCAtOTgsNyArOTgsNyBAQAogICAgIGlmIChhcC0+
ZW5jb2RpbmdfaW5kZXggPT0gZWlfbG9jYWxfd2NoYXJfdCkgewogICAgICAg
LyogT24gc3lzdGVtcyB3aGljaCBkZWZpbmUgX19TVERDX0lTT18xMDY0Nl9f
LCB3Y2hhcl90IGlzIFVuaWNvZGUuCiAgICAgICAgICBUaGlzIGlzIGFsc28g
dGhlIGNhc2Ugb24gbmF0aXZlIFdvZTMyIHN5c3RlbXMuICAqLwotI2lmIF9f
U1REQ19JU09fMTA2NDZfXyB8fCAoKGRlZmluZWQgX1dJTjMyIHx8IGRlZmlu
ZWQgX19XSU4zMl9fKSAmJiAhZGVmaW5lZCBfX0NZR1dJTl9fKQorI2lmIF9f
U1REQ19JU09fMTA2NDZfXyB8fCBkZWZpbmVkIF9XSU4zMiB8fCBkZWZpbmVk
IF9fV0lOMzJfXwogICAgICAgaWYgKHNpemVvZih3Y2hhcl90KSA9PSA0KSB7
CiAgICAgICAgIHRvX2luZGV4ID0gZWlfdWNzNGludGVybmFsOwogICAgICAg
ICBicmVhazsKQEAgLTE3NCw3ICsxNzQsNyBAQAogICAgIGlmIChhcC0+ZW5j
b2RpbmdfaW5kZXggPT0gZWlfbG9jYWxfd2NoYXJfdCkgewogICAgICAgLyog
T24gc3lzdGVtcyB3aGljaCBkZWZpbmUgX19TVERDX0lTT18xMDY0Nl9fLCB3
Y2hhcl90IGlzIFVuaWNvZGUuCiAgICAgICAgICBUaGlzIGlzIGFsc28gdGhl
IGNhc2Ugb24gbmF0aXZlIFdvZTMyIHN5c3RlbXMuICAqLwotI2lmIF9fU1RE
Q19JU09fMTA2NDZfXyB8fCAoKGRlZmluZWQgX1dJTjMyIHx8IGRlZmluZWQg
X19XSU4zMl9fKSAmJiAhZGVmaW5lZCBfX0NZR1dJTl9fKQorI2lmIF9fU1RE
Q19JU09fMTA2NDZfXyB8fCBkZWZpbmVkIF9XSU4zMiB8fCBkZWZpbmVkIF9f
V0lOMzJfXwogICAgICAgaWYgKHNpemVvZih3Y2hhcl90KSA9PSA0KSB7CiAg
ICAgICAgIGZyb21faW5kZXggPSBlaV91Y3M0aW50ZXJuYWw7CiAgICAgICAg
IGJyZWFrOwotLS0gbGliaWNvbnYtMS4xMy4xLm9yaWcvbGliY2hhcnNldC9s
aWIvbG9jYWxjaGFyc2V0LmMJMjAwOS0wNi0yMSAxMzoxNzozMy4wMDAwMDAw
MDAgKzAyMDAKKysrIGxpYmljb252LTEuMTMuMS9saWJjaGFyc2V0L2xpYi9s
b2NhbGNoYXJzZXQuYwkyMDExLTAxLTI3IDExOjUzOjMzLjIwMTg1Mjg4MyAr
MDEwMApAQCAtNTIsMTAgKzUyLDYgQEAKICMgICBpbmNsdWRlIDxsb2NhbGUu
aD4KICMgIGVuZGlmCiAjIGVuZGlmCi0jIGlmZGVmIF9fQ1lHV0lOX18KLSMg
IGRlZmluZSBXSU4zMl9MRUFOX0FORF9NRUFOCi0jICBpbmNsdWRlIDx3aW5k
b3dzLmg+Ci0jIGVuZGlmCiAjZWxpZiBkZWZpbmVkIFdJTjMyX05BVElWRQog
IyBkZWZpbmUgV0lOMzJfTEVBTl9BTkRfTUVBTgogIyBpbmNsdWRlIDx3aW5k
b3dzLmg+CkBAIC0xMTcsNyArMTEzLDcgQEAgZ2V0X2NoYXJzZXRfYWxpYXNl
cyAodm9pZCkKICAgY3AgPSBjaGFyc2V0X2FsaWFzZXM7CiAgIGlmIChjcCA9
PSBOVUxMKQogICAgIHsKLSNpZiAhKGRlZmluZWQgREFSV0lONyB8fCBkZWZp
bmVkIFZNUyB8fCBkZWZpbmVkIFdJTjMyX05BVElWRSB8fCBkZWZpbmVkIF9f
Q1lHV0lOX18pCisjaWYgIShkZWZpbmVkIERBUldJTjcgfHwgZGVmaW5lZCBW
TVMgfHwgZGVmaW5lZCBXSU4zMl9OQVRJVkUpCiAgICAgICBGSUxFICpmcDsK
ICAgICAgIGNvbnN0IGNoYXIgKmRpcjsKICAgICAgIGNvbnN0IGNoYXIgKmJh
c2UgPSAiY2hhcnNldC5hbGlhcyI7CkBAIC0yNzYsNyArMjcyLDcgQEAgZ2V0
X2NoYXJzZXRfYWxpYXNlcyAodm9pZCkKIAkgICAiREVDS09SRUFOIiAiXDAi
ICJFVUMtS1IiICJcMCI7CiAjIGVuZGlmCiAKLSMgaWYgZGVmaW5lZCBXSU4z
Ml9OQVRJVkUgfHwgZGVmaW5lZCBfX0NZR1dJTl9fCisjIGlmIGRlZmluZWQg
V0lOMzJfTkFUSVZFCiAgICAgICAvKiBUbyBhdm9pZCB0aGUgdHJvdWJsZXMg
b2YgaW5zdGFsbGluZyBhIHNlcGFyYXRlIGZpbGUgaW4gdGhlIHNhbWUKIAkg
ZGlyZWN0b3J5IGFzIHRoZSBETEwgYW5kIG9mIHJldHJpZXZpbmcgdGhlIERM
TCdzIGRpcmVjdG9yeSBhdAogCSBydW50aW1lLCBzaW1wbHkgaW5saW5lIHRo
ZSBhbGlhc2VzIGhlcmUuICAqLwpAQCAtMzMyLDU1ICszMjgsMTQgQEAgbG9j
YWxlX2NoYXJzZXQgKHZvaWQpCiAKICMgaWYgSEFWRV9MQU5HSU5GT19DT0RF
U0VUCiAKLSAgLyogTW9zdCBzeXN0ZW1zIHN1cHBvcnQgbmxfbGFuZ2luZm8g
KENPREVTRVQpIG5vd2FkYXlzLiAgKi8KLSAgY29kZXNldCA9IG5sX2xhbmdp
bmZvIChDT0RFU0VUKTsKLQotIyAgaWZkZWYgX19DWUdXSU5fXwotICAvKiBD
eWd3aW4gMjAwNiBkb2VzIG5vdCBoYXZlIGxvY2FsZXMuICBubF9sYW5naW5m
byAoQ09ERVNFVCkgYWx3YXlzCi0gICAgIHJldHVybnMgIlVTLUFTQ0lJIi4g
IEFzIGxvbmcgYXMgdGhpcyBpcyBub3QgZml4ZWQsIHJldHVybiB0aGUgc3Vm
Zml4Ci0gICAgIG9mIHRoZSBsb2NhbGUgbmFtZSBmcm9tIHRoZSBlbnZpcm9u
bWVudCB2YXJpYWJsZXMgKGlmIHByZXNlbnQpIG9yCi0gICAgIHRoZSBjb2Rl
cGFnZSBhcyBhIG51bWJlci4gICovCi0gIGlmIChjb2Rlc2V0ICE9IE5VTEwg
JiYgc3RyY21wIChjb2Rlc2V0LCAiVVMtQVNDSUkiKSA9PSAwKQotICAgIHsK
LSAgICAgIGNvbnN0IGNoYXIgKmxvY2FsZTsKLSAgICAgIHN0YXRpYyBjaGFy
IGJ1ZlsyICsgMTAgKyAxXTsKKyAgLyogTW9zdCBzeXN0ZW1zIHN1cHBvcnQg
bmxfbGFuZ2luZm8gKENPREVTRVQpIG5vd2FkYXlzLgorICAKKyAgICAgUE9T
SVggYWxsb3dzIHRoYXQgdGhlIHJldHVybmVkIHBvaW50ZXIgbWF5IHBvaW50
IHRvIGEgc3RhdGljIGFyZWEgdGhhdAorICAgICBtYXkgYmUgb3ZlcndyaXR0
ZW4gYnkgc3Vic2VxdWVudCBjYWxscyB0byBzZXRsb2NhbGUgb3IgbmxfbGFu
Z2luZm8uICovCisgIHN0YXRpYyBjaGFyIGNvZGVzZXRfYnVmWzY0XTsKIAot
ICAgICAgbG9jYWxlID0gZ2V0ZW52ICgiTENfQUxMIik7Ci0gICAgICBpZiAo
bG9jYWxlID09IE5VTEwgfHwgbG9jYWxlWzBdID09ICdcMCcpCi0JewotCSAg
bG9jYWxlID0gZ2V0ZW52ICgiTENfQ1RZUEUiKTsKLQkgIGlmIChsb2NhbGUg
PT0gTlVMTCB8fCBsb2NhbGVbMF0gPT0gJ1wwJykKLQkgICAgbG9jYWxlID0g
Z2V0ZW52ICgiTEFORyIpOwotCX0KLSAgICAgIGlmIChsb2NhbGUgIT0gTlVM
TCAmJiBsb2NhbGVbMF0gIT0gJ1wwJykKLQl7Ci0JICAvKiBJZiB0aGUgbG9j
YWxlIG5hbWUgY29udGFpbnMgYW4gZW5jb2RpbmcgYWZ0ZXIgdGhlIGRvdCwg
cmV0dXJuCi0JICAgICBpdC4gICovCi0JICBjb25zdCBjaGFyICpkb3QgPSBz
dHJjaHIgKGxvY2FsZSwgJy4nKTsKLQotCSAgaWYgKGRvdCAhPSBOVUxMKQot
CSAgICB7Ci0JICAgICAgY29uc3QgY2hhciAqbW9kaWZpZXI7Ci0KLQkgICAg
ICBkb3QrKzsKLQkgICAgICAvKiBMb29rIGZvciB0aGUgcG9zc2libGUgQC4u
LiB0cmFpbGVyIGFuZCByZW1vdmUgaXQsIGlmIGFueS4gICovCi0JICAgICAg
bW9kaWZpZXIgPSBzdHJjaHIgKGRvdCwgJ0AnKTsKLQkgICAgICBpZiAobW9k
aWZpZXIgPT0gTlVMTCkKLQkJcmV0dXJuIGRvdDsKLQkgICAgICBpZiAobW9k
aWZpZXIgLSBkb3QgPCBzaXplb2YgKGJ1ZikpCi0JCXsKLQkJICBtZW1jcHkg
KGJ1ZiwgZG90LCBtb2RpZmllciAtIGRvdCk7Ci0JCSAgYnVmIFttb2RpZmll
ciAtIGRvdF0gPSAnXDAnOwotCQkgIHJldHVybiBidWY7Ci0JCX0KLQkgICAg
fQotCX0KLQotICAgICAgLyogV29lMzIgaGFzIGEgZnVuY3Rpb24gcmV0dXJu
aW5nIHRoZSBsb2NhbGUncyBjb2RlcGFnZSBhcyBhIG51bWJlci4gICovCi0g
ICAgICBzcHJpbnRmIChidWYsICJDUCV1IiwgR2V0QUNQICgpKTsKLSAgICAg
IGNvZGVzZXQgPSBidWY7Ci0gICAgfQotIyAgZW5kaWYKKyAgY29kZXNldF9i
dWZbMF0gPSAnXDAnOworICBjb2Rlc2V0ID0gc3RybmNhdCAoY29kZXNldF9i
dWYsIG5sX2xhbmdpbmZvIChDT0RFU0VUKSwgc2l6ZW9mIChjb2Rlc2V0X2J1
ZikpOwogCiAjIGVsc2UKIAo=
--------------050209000709030203040705
Content-Type: text/plain; charset=us-ascii
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
--------------050209000709030203040705--
- Raw text -