X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Message-ID: <6910a60804130953m45fee4f1i81200abb65edd6fc@mail.gmail.com> Date: Sun, 13 Apr 2008 18:53:21 +0200 From: "Reini Urban" To: pp Subject: cygwin-1.7 utf8 path support (exp) Cc: cygwin AT cygwin DOT com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_3890_29428570.1208105602371" X-Google-Sender-Auth: f490f9f27401367a X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com ------=_Part_3890_29428570.1208105602371 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Attached patch is for interested developers which want to try out the upcoming cygwin-1.7 for utf8 path conversion support. It uses now the wide char api with MAX_PATH of 32KB length. Do not apply yet. The cygwin 1.7 gcc suite is not yet stable enough to finish perl compilation for me so I couldn't test it. Maybe someone else is more lucky. -- Reini Urban http://phpwiki.org/ http://murbreak.at/ ------=_Part_3890_29428570.1208105602371 Content-Type: text/x-diff; name=cyg-1.7-paths-utf8.patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_fezup2d6 Content-Disposition: attachment; filename=cyg-1.7-paths-utf8.patch ZGlmZiAtYnUgcGVybC1jdXJyZW50L2N5Z3dpbi9jeWd3aW4uYy5vcmlnIHBl cmwtY3VycmVudC9jeWd3aW4vY3lnd2luLmMKLS0tIHBlcmwtY3VycmVudC9j eWd3aW4vY3lnd2luLmMub3JpZwkyMDA3LTEyLTIyIDIyOjM4OjQ2LjAwMDAw MDAwMCArMDEwMAorKysgcGVybC1jdXJyZW50L2N5Z3dpbi9jeWd3aW4uYwky MDA4LTA0LTEzIDE0OjI0OjE2Ljg3NTAwMDAwMCArMDIwMApAQCAtMTAsOSAr MTAsMTMgQEAKICNpbmNsdWRlIDx1bmlzdGQuaD4KICNpbmNsdWRlIDxwcm9j ZXNzLmg+CiAjaW5jbHVkZSA8c3lzL2N5Z3dpbi5oPgorI2luY2x1ZGUgPGN5 Z3dpbi92ZXJzaW9uLmg+CiAjaW5jbHVkZSA8bW50ZW50Lmg+CiAjaW5jbHVk ZSA8YWxsb2NhLmg+CiAjaW5jbHVkZSA8ZGxmY24uaD4KKyNpZiAoQ1lHV0lO X1ZFUlNJT05fQVBJX01JTk9SID49IDE4MSkKKyNpbmNsdWRlIDx3Y2hhci5o PgorI2VuZGlmCiAKIC8qCiAgKiBwcF9zeXN0ZW0oKSBpbXBsZW1lbnRlZCB2 aWEgc3Bhd24oKQpAQCAtMTkxLDcgKzE5NSwxMiBAQAogCiAgICAgcGlkID0g KHBpZF90KVN2SVYoU1QoMCkpOwogCi0gICAgaWYgKChSRVRWQUwgPSBjeWd3 aW4zMl93aW5waWRfdG9fcGlkKHBpZCkpID4gMCkgeworI2lmIChDWUdXSU5f VkVSU0lPTl9BUElfTUlOT1IgPj0gMTgxKQorICAgIFJFVFZBTCA9IGN5Z3dp bl93aW5waWRfdG9fcGlkKHBpZCk7CisjZWxzZQorICAgIFJFVFZBTCA9IGN5 Z3dpbjMyX3dpbnBpZF90b19waWQocGlkKTsKKyNlbmRpZgorICAgIGlmIChS RVRWQUwgPiAwKSB7CiAgICAgICAgIFhTcHJlUFVTSDsgUFVTSGkoKElWKVJF VFZBTCk7CiAgICAgICAgIFhTUkVUVVJOKDEpOwogICAgIH0KQEAgLTIwNSw2 ICsyMTQsNyBAQAogICAgIFNUUkxFTiBsZW47CiAgICAgaW50IGVycjsKICAg ICBjaGFyICpwYXRobmFtZSwgKmJ1ZjsKKyAgICBpbnQgaXN1dGY4ID0gMDsK IAogICAgIGlmIChpdGVtcyA8IDEgfHwgaXRlbXMgPiAyKQogICAgICAgICBQ ZXJsX2Nyb2FrKGFUSFhfICJVc2FnZTogQ3lnd2luOjp3aW5fdG9fcG9zaXhf cGF0aChwYXRobmFtZSwgW2Fic29sdXRlXSkiKTsKQEAgLTIxNSwxNCArMjI1 LDU4IEBACiAKICAgICBpZiAoIWxlbikKIAlQZXJsX2Nyb2FrKGFUSFhfICJj YW4ndCBjb252ZXJ0IGVtcHR5IHBhdGgiKTsKLSAgICBidWYgPSAoY2hhciAq KSBzYWZlbWFsbG9jIChsZW4gKyAyNjAgKyAxMDAxKTsKKyAgICBpc3V0Zjgg PSBTdlVURjgoU1QoMCkpOwogCisjaWYgKENZR1dJTl9WRVJTSU9OX0FQSV9N SU5PUiA+PSAxODEpCisgICAgLyogQ2hlY2sgdXRmOCBmbGFnIGFuZCB1c2Ug d2lkZSBhcGkgdGhlbi4KKyAgICAgICBTaXplIGNhbGN1bGF0aW9uOiBPbiBv dmVyZmxvdyBsZXQgY3lnd2luX2NvbnZfcGF0aCBjYWxjdWxhdGUgdGhlIGZp bmFsIHNpemUuCisgICAgICovCisgICAgaWYgKGlzdXRmOCkgeworCWludCB3 aGF0ID0gYWJzb2x1dGVfZmxhZyA/IENDUF9XSU5fV19UT19QT1NJWCA6IEND UF9XSU5fV19UT19QT1NJWCB8IENDUF9SRUxBVElWRTsKKwlpbnQgd2xlbiA9 IHNpemVvZih3Y2hhcl90KSoobGVuICsgMjYwICsgMTAwMSk7CisJd2NoYXJf dCAqd3BhdGggPSAod2NoYXJfdCAqKSBzYWZlbWFsbG9jKHNpemVvZih3Y2hh cl90KSpsZW4pOworCXdjaGFyX3QgKndidWYgPSAod2NoYXJfdCAqKSBzYWZl bWFsbG9jKHdsZW4pOworCXNldF9sb2NhbGUoTENfQ1RZUEUsICJ1dGY4Iik7 CisJaWYgKCFJTl9CWVRFUykgeworCSAgICBtYnN0YXRlX3QgbWJzOworCSAg ICAvKiB1dGY4X3RvX3V2dW5pKHBhdGhuYW1lLCB3cGF0aCkgb3IgRW5jb2Rp bmc6Ol91dGY4X3RvX2J5dGVzKHN2LCAiVUNTLTJCRSIpOyAqLworCSAgICB3 bGVuID0gbWJzcnRvd2NzKHdwYXRoLCAoY29uc3QgY2hhcioqKSZwYXRobmFt ZSwgd2xlbiwgJm1icyk7CisJICAgIGlmICh3bGVuID4gMCkKKwkJZXJyID0g Y3lnd2luX2NvbnZfcGF0aCh3aGF0LCB3cGF0aCwgd2J1Ziwgd2xlbik7CisJ fSBlbHNlIHsgLyogdXNlIGJ5dGVzOyBhc3N1bWUgYWxyZWFkeSB1Y3MtMiBl bmNvZGVkIGJ5dGVzdHJlYW0gKi8KKwkgICAgZXJyID0gY3lnd2luX2NvbnZf cGF0aCh3aGF0LCBwYXRobmFtZSwgd2J1Ziwgd2xlbik7CisJfQorCWlmIChl cnIgPT0gRU5PU1BDKSB7IC8qIG91ciBzcGFjZSBhc3N1bXB0aW9uIHdhcyB3 cm9uZywgbm90IGVub3VnaCBzcGFjZSAqLworCSAgICBpbnQgbmV3bGVuID0g Y3lnd2luX2NvbnZfcGF0aCh3aGF0LCB3cGF0aCwgd2J1ZiwgMCk7CisJICAg IHdidWYgPSAod2NoYXJfdCAqKSByZWFsbG9jKCZ3YnVmLCBuZXdsZW4pOwor CSAgICBlcnIgPSBjeWd3aW5fY29udl9wYXRoKHdoYXQsIHdwYXRoLCB3YnVm LCBuZXdsZW4pOworCSAgICB3bGVuID0gbmV3bGVuOworCX0KKwkvKiB1dnVu aV90b191dGY4KGJ1ZiwgY2hyKSBvciBFbmNvZGluZzo6X2J5dGVzX3RvX3V0 Zjgoc3YsICJVQ1MtMkJFIik7ICovCisJd2xlbiA9IHdjc3J0b21icyhOVUxM LCAoY29uc3Qgd2NoYXJfdCAqKikmd2J1Ziwgd2xlbiwgTlVMTCk7CisJYnVm ID0gKGNoYXIgKikgc2FmZW1hbGxvYyh3bGVuKzEpOworCXdjc3J0b21icyhi dWYsIChjb25zdCB3Y2hhcl90ICoqKSZ3YnVmLCB3bGVuLCBOVUxMKTsKKyAg ICB9IGVsc2UgeworCWludCB3aGF0ID0gYWJzb2x1dGVfZmxhZyA/IENDUF9X SU5fQV9UT19QT1NJWCA6IENDUF9XSU5fQV9UT19QT1NJWCB8IENDUF9SRUxB VElWRTsKKwlidWYgPSAoY2hhciAqKSBzYWZlbWFsbG9jIChsZW4gKyAyNjAg KyAxMDAxKTsKKwllcnIgPSBjeWd3aW5fY29udl9wYXRoKHdoYXQsIHBhdGhu YW1lLCBidWYsIGxlbiArIDI2MCArIDEwMDEpOworCWlmIChlcnIgPT0gRU5P U1BDKSB7IC8qIG91ciBzcGFjZSBhc3N1bXB0aW9uIHdhcyB3cm9uZywgbm90 IGVub3VnaCBzcGFjZSAqLworCSAgICBpbnQgbmV3bGVuID0gY3lnd2luX2Nv bnZfcGF0aCh3aGF0LCBwYXRobmFtZSwgYnVmLCAwKTsKKwkgICAgYnVmID0g KGNoYXIgKikgcmVhbGxvYygmYnVmLCBuZXdsZW4pOworCSAgICBlcnIgPSBj eWd3aW5fY29udl9wYXRoKHdoYXQsIHBhdGhuYW1lLCBidWYsIG5ld2xlbik7 CisJfQorICAgIH0KKyNlbHNlCiAgICAgaWYgKGFic29sdXRlX2ZsYWcpCiAJ ZXJyID0gY3lnd2luX2NvbnZfdG9fZnVsbF9wb3NpeF9wYXRoKHBhdGhuYW1l LCBidWYpOwogICAgIGVsc2UKIAllcnIgPSBjeWd3aW5fY29udl90b19wb3Np eF9wYXRoKHBhdGhuYW1lLCBidWYpOworI2VuZGlmCiAgICAgaWYgKCFlcnIp IHsKIAlTVCgwKSA9IHN2XzJtb3J0YWwobmV3U1ZwdihidWYsIDApKTsKKwlp ZiAoaXN1dGY4KSB7CisJICAgIFN2VVRGOF9vbihTVCgwKSk7CisJfQogCXNh ZmVmcmVlKGJ1Zik7CiAgICAgICAgWFNSRVRVUk4oMSk7CiAgICAgfSBlbHNl IHsKQEAgLTIzOCwyNCArMjkyLDcxIEBACiAgICAgU1RSTEVOIGxlbjsKICAg ICBpbnQgZXJyOwogICAgIGNoYXIgKnBhdGhuYW1lLCAqYnVmOworICAgIGlu dCBpc3V0ZjggPSAwOwogCiAgICAgaWYgKGl0ZW1zIDwgMSB8fCBpdGVtcyA+ IDIpCiAgICAgICAgIFBlcmxfY3JvYWsoYVRIWF8gIlVzYWdlOiBDeWd3aW46 OnBvc2l4X3RvX3dpbl9wYXRoKHBhdGhuYW1lLCBbYWJzb2x1dGVdKSIpOwog Ci0gICAgcGF0aG5hbWUgPSBTdlBWKFNUKDApLCBsZW4pOworICAgIHBhdGhu YW1lID0gU3ZQVngoU1QoMCksIGxlbik7CiAgICAgaWYgKGl0ZW1zID09IDIp CiAJYWJzb2x1dGVfZmxhZyA9IFN2VFJVRShTVCgxKSk7CiAKICAgICBpZiAo IWxlbikKIAlQZXJsX2Nyb2FrKGFUSFhfICJjYW4ndCBjb252ZXJ0IGVtcHR5 IHBhdGgiKTsKKyAgICBpc3V0ZjggPSBTdlVURjgoU1QoMCkpOworI2lmIChD WUdXSU5fVkVSU0lPTl9BUElfTUlOT1IgPj0gMTgxKQorICAgIC8qIENoZWNr IHV0ZjggZmxhZyBhbmQgdXNlIHdpZGUgYXBpIHRoZW4uCisgICAgICAgU2l6 ZSBjYWxjdWxhdGlvbjogT24gb3ZlcmZsb3cgbGV0IGN5Z3dpbl9jb252X3Bh dGggY2FsY3VsYXRlIHRoZSBmaW5hbCBzaXplLgorICAgICAqLworICAgIGlm IChpc3V0ZjgpIHsKKwlpbnQgd2hhdCA9IGFic29sdXRlX2ZsYWcgPyBDQ1Bf UE9TSVhfVE9fV0lOX1cgOiBDQ1BfUE9TSVhfVE9fV0lOX1cgfCBDQ1BfUkVM QVRJVkU7CisJaW50IHdsZW4gPSBzaXplb2Yod2NoYXJfdCkqKGxlbiArIDI2 MCArIDEwMDEpOworCXdjaGFyX3QgKndwYXRoID0gKHdjaGFyX3QgKikgc2Fm ZW1hbGxvYyhzaXplb2Yod2NoYXJfdCkqbGVuKTsKKwl3Y2hhcl90ICp3YnVm ID0gKHdjaGFyX3QgKikgc2FmZW1hbGxvYyh3bGVuKTsKKwlzZXRfbG9jYWxl KExDX0NUWVBFLCAidXRmOCIpOworCWlmICghSU5fQllURVMpIHsKKwkgICAg bWJzdGF0ZV90IG1iczsKKwkgICAgLyogdXRmOF90b191dnVuaShwYXRobmFt ZSwgd3BhdGgpIG9yIEVuY29kaW5nOjpfdXRmOF90b19ieXRlcyhzdiwgIlVD Uy0yQkUiKTsgKi8KKwkgICAgd2xlbiA9IG1ic3J0b3djcyh3cGF0aCwgKGNv bnN0IGNoYXIqKikmcGF0aG5hbWUsIHdsZW4sICZtYnMpOworCSAgICBpZiAo d2xlbiA+IDApCisJCWVyciA9IGN5Z3dpbl9jb252X3BhdGgod2hhdCwgd3Bh dGgsIHdidWYsIHdsZW4pOworCX0gZWxzZSB7IC8qIHVzZSBieXRlczsgYXNz dW1lIGFscmVhZHkgdWNzLTIgZW5jb2RlZCBieXRlc3RyZWFtICovCisJICAg IGVyciA9IGN5Z3dpbl9jb252X3BhdGgod2hhdCwgcGF0aG5hbWUsIHdidWYs IHdsZW4pOworCX0KKwlpZiAoZXJyID09IEVOT1NQQykgeyAvKiBvdXIgc3Bh Y2UgYXNzdW1wdGlvbiB3YXMgd3JvbmcsIG5vdCBlbm91Z2ggc3BhY2UgKi8K KwkgICAgaW50IG5ld2xlbiA9IGN5Z3dpbl9jb252X3BhdGgod2hhdCwgd3Bh dGgsIHdidWYsIDApOworCSAgICB3YnVmID0gKHdjaGFyX3QgKikgcmVhbGxv Yygmd2J1ZiwgbmV3bGVuKTsKKwkgICAgZXJyID0gY3lnd2luX2NvbnZfcGF0 aCh3aGF0LCB3cGF0aCwgd2J1ZiwgbmV3bGVuKTsKKwkgICAgd2xlbiA9IG5l d2xlbjsKKwl9CisJLyogdXZ1bmlfdG9fdXRmOChidWYsIGNocikgb3IgRW5j b2Rpbmc6Ol9ieXRlc190b191dGY4KHN2LCAiVUNTLTJCRSIpOyAqLworCXds ZW4gPSB3Y3NydG9tYnMoTlVMTCwgKGNvbnN0IHdjaGFyX3QgKiopJndidWYs IHdsZW4sIE5VTEwpOworCWJ1ZiA9IChjaGFyICopIHNhZmVtYWxsb2Mod2xl bisxKTsKKwl3Y3NydG9tYnMoYnVmLCAoY29uc3Qgd2NoYXJfdCAqKikmd2J1 Ziwgd2xlbiwgTlVMTCk7CisgICAgfSBlbHNlIHsKKwlpbnQgd2hhdCA9IGFi c29sdXRlX2ZsYWcgPyBDQ1BfUE9TSVhfVE9fV0lOX0EgOiBDQ1BfUE9TSVhf VE9fV0lOX0EgfCBDQ1BfUkVMQVRJVkU7CisJYnVmID0gKGNoYXIgKikgc2Fm ZW1hbGxvYyhsZW4gKyAyNjAgKyAxMDAxKTsKKwllcnIgPSBjeWd3aW5fY29u dl9wYXRoKHdoYXQsIHBhdGhuYW1lLCBidWYsIGxlbiArIDI2MCArIDEwMDEp OworCWlmIChlcnIgPT0gRU5PU1BDKSB7IC8qIG91ciBzcGFjZSBhc3N1bXB0 aW9uIHdhcyB3cm9uZywgbm90IGVub3VnaCBzcGFjZSAqLworCSAgICBpbnQg bmV3bGVuID0gY3lnd2luX2NvbnZfcGF0aCh3aGF0LCBwYXRobmFtZSwgYnVm LCAwKTsKKwkgICAgYnVmID0gKGNoYXIgKikgcmVhbGxvYygmYnVmLCBuZXds ZW4pOworCSAgICBlcnIgPSBjeWd3aW5fY29udl9wYXRoKHdoYXQsIHBhdGhu YW1lLCBidWYsIG5ld2xlbik7CisJfQorICAgIH0KKyNlbHNlCisgICAgaWYg KGlzdXRmOCkKKwlQZXJsX3dhcm4oYVRIWF8gImNhbid0IGNvbnZlcnQgdXRm OCBwYXRoIik7CiAgICAgYnVmID0gKGNoYXIgKikgc2FmZW1hbGxvYyhsZW4g KyAyNjAgKyAxMDAxKTsKLQogICAgIGlmIChhYnNvbHV0ZV9mbGFnKQogCWVy ciA9IGN5Z3dpbl9jb252X3RvX2Z1bGxfd2luMzJfcGF0aChwYXRobmFtZSwg YnVmKTsKICAgICBlbHNlCiAJZXJyID0gY3lnd2luX2NvbnZfdG9fd2luMzJf cGF0aChwYXRobmFtZSwgYnVmKTsKKyNlbmRpZgogICAgIGlmICghZXJyKSB7 CiAJU1QoMCkgPSBzdl8ybW9ydGFsKG5ld1NWcHYoYnVmLCAwKSk7CisJaWYg KGlzdXRmOCkgeworCSAgICBTdlVURjhfb24oU1QoMCkpOworCX0KIAlzYWZl ZnJlZShidWYpOwogICAgICAgIFhTUkVUVVJOKDEpOwogICAgIH0gZWxzZSB7 Cg== ------=_Part_3890_29428570.1208105602371 Content-Type: text/plain; charset=us-ascii -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/ ------=_Part_3890_29428570.1208105602371--