From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32172 invoked by alias); 11 Dec 2014 01:20:11 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 32153 invoked by uid 89); 11 Dec 2014 01:20:05 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-wi0-f195.google.com Received: from mail-wi0-f195.google.com (HELO mail-wi0-f195.google.com) (209.85.212.195) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-SHA encrypted) ESMTPS; Thu, 11 Dec 2014 01:20:04 +0000 Received: by mail-wi0-f195.google.com with SMTP id h11so1901845wiw.10 for ; Wed, 10 Dec 2014 17:20:01 -0800 (PST) MIME-Version: 1.0 X-Received: by 10.180.108.235 with SMTP id hn11mr10842664wib.14.1418260801235; Wed, 10 Dec 2014 17:20:01 -0800 (PST) Received: by 10.216.170.200 with HTTP; Wed, 10 Dec 2014 17:20:01 -0800 (PST) Date: Thu, 11 Dec 2014 01:20:00 -0000 Message-ID: Subject: mksh 49-1 no longer handles Windows line endings From: Ryan Dortmans To: cygwin@cygwin.com Content-Type: multipart/mixed; boundary=089e01419c0a41ca9c0509e6938d X-SW-Source: 2014-12/txt/msg00165.txt.bz2 --089e01419c0a41ca9c0509e6938d Content-Type: text/plain; charset=UTF-8 Content-length: 1458 Hi, The latest version of mksh no longer handles Windows line endings in ksh scripts when in a text-mode file system. To reproduce: $ mount -o text c:/textmode /textmode (or use an existing text-mode mount) $ echo -e "\necho \"test\"\n" > /textmode/test.ksh $ ksh /textmode/test.ksh : not foundsh[1]: test : not foundsh[3]: $ d2u /textmode/test.ksh dos2unix: converting file /textmode/test.ksh to Unix format... $ ksh /textmode/test.ksh test Reverting to 48b-1 and retesting gives the correct behaviour regardless of whether it has dos or unix line endings. I have investigated the differences in the source code of the two versions and found that 49-1 added O_BINARY flag to all of the open calls. I took these flags out and was able to confirm that it fixes the issue. I have attached two patches that do the same thing. One removes the flag, the other commented out the #ifdef O_BINARY line in the header so that #define O_BINARY 0 is always defined. These aren't intended as actual patches to mksh, merely examples of how to fix the issue. The mksh changelog (https://www.mirbsd.org/mksh.htm#clog), indicates why this change was made: [tg] Add O_BINARY to all open(2) calls for OS/2 kLIBC support The website also indicates that "No workarounds for .exe suffixes or other platform-specific quirks have been or will be added." So I doubt I could get this fixed upstream. Could the maintainer please take a look at this? Cheers, Ryan Dortmans --089e01419c0a41ca9c0509e6938d Content-Type: application/octet-stream; name="mksh491_fix1.patch" Content-Disposition: attachment; filename="mksh491_fix1.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i3jfnjy20 Content-length: 5584 ZGlmZiAtcnVwTiBta3NoNDkxL21rc2gvZXhlYy5jIG1rc2g0OTFfZml4MWEv bWtzaC9leGVjLmMNCi0tLSBta3NoNDkxL21rc2gvZXhlYy5jCTIwMTQtMDEt MTIgMDM6MjY6NTIuMDAwMDAwMDAwICsxMTAwDQorKysgbWtzaDQ5MV9maXgx YS9ta3NoL2V4ZWMuYwkyMDE0LTEyLTA1IDEwOjE4OjUzLjM2Mjg5MTMwMCAr MTEwMA0KQEAgLTg2NSw3ICs4NjUsNyBAQCBzY3JpcHRleGVjKHN0cnVjdCBv cCAqdHAsIGNvbnN0IGNoYXIgKiphDQogCSp0cC0+YXJncy0tID0gdHAtPnN0 cjsNCiANCiAjaWZuZGVmIE1LU0hfU01BTEwNCi0JaWYgKChmZCA9IG9wZW4o dHAtPnN0ciwgT19SRE9OTFkgfCBPX0JJTkFSWSkpID49IDApIHsNCisJaWYg KChmZCA9IG9wZW4odHAtPnN0ciwgT19SRE9OTFkpKSA+PSAwKSB7DQogCQkv KiByZWFkIGZpcnN0IE1BWElOVEVSUCBvY3RldHMgZnJvbSBmaWxlICovDQog CQlpZiAocmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSkgPD0gMCkNCiAJCQkv KiByZWFkIGVycm9yIC0+IG5vIGdvb2QgKi8NCkBAIC0xMzcwLDcgKzEzNzAs NyBAQCBpb3NldHVwKHN0cnVjdCBpb3dvcmQgKmlvcCwgc3RydWN0IHRibCAq DQogCQkJd2FybmluZ2YodHJ1ZSwgIiVzOiAlcyIsIGNwLCAicmVzdHJpY3Rl ZCIpOw0KIAkJCXJldHVybiAoLTEpOw0KIAkJfQ0KLQkJdSA9IG9wZW4oY3As IGZsYWdzIHwgT19CSU5BUlksIDA2NjYpOw0KKwkJdSA9IG9wZW4oY3AsIGZs YWdzLCAwNjY2KTsNCiAJfQ0KIAlpZiAodSA8IDApIHsNCiAJCS8qIGhlcmVp bigpIG1heSBhbHJlYWR5IGhhdmUgcHJpbnRlZCBtZXNzYWdlICovDQpAQCAt MTUwMyw3ICsxNTAzLDcgQEAgaGVyZWluKHN0cnVjdCBpb3dvcmQgKmlvcCwg Y2hhciAqKnJlc2J1Zg0KIAkgKiBzbyB0ZW1wIGRvZXNuJ3QgZ2V0IHJlbW92 ZWQgdG9vIHNvb24pLg0KIAkgKi8NCiAJaCA9IG1ha2V0ZW1wKEFURU1QLCBU VF9IRVJFRE9DX0VYUCwgJmUtPnRlbXBzKTsNCi0JaWYgKCEoc2hmID0gaC0+ c2hmKSB8fCAoZmQgPSBvcGVuKGgtPnRmZm4sIE9fUkRPTkxZIHwgT19CSU5B UlksIDApKSA8IDApIHsNCisJaWYgKCEoc2hmID0gaC0+c2hmKSB8fCAoZmQg PSBvcGVuKGgtPnRmZm4sIE9fUkRPTkxZLCAwKSkgPCAwKSB7DQogCQlpID0g ZXJybm87DQogCQl3YXJuaW5nZih0cnVlLCAiY2FuJ3QgJXMgdGVtcG9yYXJ5 IGZpbGUgJXM6ICVzIiwNCiAJCSAgICAhc2hmID8gImNyZWF0ZSIgOiAib3Bl biIsIGgtPnRmZm4sIGNzdHJlcnJvcihpKSk7DQpkaWZmIC1ydXBOIG1rc2g0 OTEvbWtzaC9mdW5jcy5jIG1rc2g0OTFfZml4MWEvbWtzaC9mdW5jcy5jDQot LS0gbWtzaDQ5MS9ta3NoL2Z1bmNzLmMJMjAxNC0wMS0wNiAwNjoyMDo1Ni4w MDAwMDAwMDAgKzExMDANCisrKyBta3NoNDkxX2ZpeDFhL21rc2gvZnVuY3Mu YwkyMDE0LTEyLTA1IDEwOjE4OjIyLjQzMzEyMjIwMCArMTEwMA0KQEAgLTM2 MTAsNyArMzYxMCw3IEBAIGNfY2F0KGNvbnN0IGNoYXIgKip3cCkNCiAJCQlm biA9ICp3cCsrOw0KIAkJCWlmIChmblswXSA9PSAnLScgJiYgZm5bMV0gPT0g J1wwJykNCiAJCQkJZmQgPSBTVERJTl9GSUxFTk87DQotCQkJZWxzZSBpZiAo KGZkID0gb3BlbihmbiwgT19SRE9OTFkgfCBPX0JJTkFSWSkpIDwgMCkgew0K KwkJCWVsc2UgaWYgKChmZCA9IG9wZW4oZm4sIE9fUkRPTkxZKSkgPCAwKSB7 DQogCQkJCWVubyA9IGVycm5vOw0KIAkJCQliaV9lcnJvcmYoIiVzOiAlcyIs IGZuLCBjc3RyZXJyb3IoZW5vKSk7DQogCQkJCXJ2ID0gMTsNCmRpZmYgLXJ1 cE4gbWtzaDQ5MS9ta3NoL2hpc3RyYXAuYyBta3NoNDkxX2ZpeDFhL21rc2gv aGlzdHJhcC5jDQotLS0gbWtzaDQ5MS9ta3NoL2hpc3RyYXAuYwkyMDEzLTEw LTA5IDIyOjU5OjUzLjAwMDAwMDAwMCArMTEwMA0KKysrIG1rc2g0OTFfZml4 MWEvbWtzaC9oaXN0cmFwLmMJMjAxNC0xMi0wNSAxMDoxOTozOC4yNDM0NTgz MDAgKzExMDANCkBAIC03MjAsOCArNzIwLDcgQEAgaGlzdF9pbml0KFNvdXJj ZSAqcykNCiANCiAgcmV0cnk6DQogCS8qIHdlIGhhdmUgYSBmaWxlIGFuZCBh cmUgaW50ZXJhY3RpdmUgKi8NCi0JaWYgKChmZCA9IG9wZW4oaG5hbWUsIE9f UkRXUiB8IE9fQ1JFQVQgfCBPX0FQUEVORCB8IE9fQklOQVJZLA0KLQkgICAg MDYwMCkpIDwgMCkNCisJaWYgKChmZCA9IG9wZW4oaG5hbWUsIE9fUkRXUiB8 IE9fQ1JFQVQgfCBPX0FQUEVORCwgMDYwMCkpIDwgMCkNCiAJCXJldHVybjsN CiANCiAJaGlzdGZkID0gc2F2ZWZkKGZkKTsNCkBAIC03NTcsNyArNzU2LDcg QEAgaGlzdF9pbml0KFNvdXJjZSAqcykNCiAJCQkvKiBjcmVhdGUgdGVtcG9y YXJ5IGZpbGUgKi8NCiAJCQluaG5hbWUgPSBzaGZfc21wcmludGYoIiVzLiVk IiwgaG5hbWUsIChpbnQpcHJvY3BpZCk7DQogCQkJaWYgKChmZCA9IG9wZW4o bmhuYW1lLCBPX1JEV1IgfCBPX0NSRUFUIHwgT19UUlVOQyB8DQotCQkJICAg IE9fRVhDTCB8IE9fQklOQVJZLCAwNjAwKSkgPCAwKSB7DQorCQkJICAgIE9f RVhDTCwgMDYwMCkpIDwgMCkgew0KIAkJCQkvKiBqdXN0IGRvbid0IHRydW5j YXRlIHRoZW4sIG1laC4gKi8NCiAJCQkJZ290byBoaXN0X3RydW5jX2RvbnQ7 DQogCQkJfQ0KZGlmZiAtcnVwTiBta3NoNDkxL21rc2gvbWFpbi5jIG1rc2g0 OTFfZml4MWEvbWtzaC9tYWluLmMNCi0tLSBta3NoNDkxL21rc2gvbWFpbi5j CTIwMTQtMDEtMTIgMDU6MTA6MDUuMDAwMDAwMDAwICsxMTAwDQorKysgbWtz aDQ5MV9maXgxYS9ta3NoL21haW4uYwkyMDE0LTEyLTA1IDEwOjIwOjA1LjY1 ODAyNjMwMCArMTEwMA0KQEAgLTE2NDQsOCArMTY0NCw3IEBAIG1ha2V0ZW1w KEFyZWEgKmFwLCBUZW1wX3R5cGUgdHlwZSwgc3RydWMNCiAJfSB3aGlsZSAo bGVuIDwgNSk7DQogDQogCS8qIGN5Y2xpY2FsbHkgYXR0ZW1wdCB0byBvcGVu IGEgdGVtcG9yYXJ5IGZpbGUgKi8NCi0Jd2hpbGUgKChpID0gb3Blbih0cC0+ dGZmbiwgT19DUkVBVCB8IE9fRVhDTCB8IE9fUkRXUiB8IE9fQklOQVJZLA0K LQkgICAgMDYwMCkpIDwgMCkgew0KKwl3aGlsZSAoKGkgPSBvcGVuKHRwLT50 ZmZuLCBPX0NSRUFUIHwgT19FWENMIHwgT19SRFdSLCAwNjAwKSkgPCAwKSB7 DQogCQlpZiAoZXJybm8gIT0gRUVYSVNUKQ0KIAkJCWdvdG8gbWFrZXRlbXBf b3V0Ow0KIAkJLyogY291bnQgZG93biBmcm9tIHogdG8gYSB0aGVuIGZyb20g OSB0byAwICovDQpkaWZmIC1ydXBOIG1rc2g0OTEvbWtzaC9taXNjLmMgbWtz aDQ5MV9maXgxYS9ta3NoL21pc2MuYw0KLS0tIG1rc2g0OTEvbWtzaC9taXNj LmMJMjAxNC0wMS0wNiAwODo1Nzo1Mi4wMDAwMDAwMDAgKzExMDANCisrKyBt a3NoNDkxX2ZpeDFhL21rc2gvbWlzYy5jCTIwMTQtMTItMDUgMTA6MjA6MzUu MDQ4NzA3NDAwICsxMTAwDQpAQCAtMTk5Niw5ICsxOTk2LDkgQEAgY2h2dChj b25zdCBHZXRvcHQgKmdvKQ0KICNlbmRpZg0KIAkgICAgfQ0KIAl9DQotCWlm ICgoZmQgPSBvcGVuKGR2LCBPX1JEV1IgfCBPX0JJTkFSWSkpIDwgMCkgew0K KwlpZiAoKGZkID0gb3BlbihkdiwgT19SRFdSKSkgPCAwKSB7DQogCQlzbGVl cCgxKTsNCi0JCWlmICgoZmQgPSBvcGVuKGR2LCBPX1JEV1IgfCBPX0JJTkFS WSkpIDwgMCkgew0KKwkJaWYgKChmZCA9IG9wZW4oZHYsIE9fUkRXUikpIDwg MCkgew0KIAkJCWVycm9yZigiJXM6ICVzICVzIiwgImNodnQiLCAiY2FuJ3Qg b3BlbiIsIGR2KTsNCiAJCX0NCiAJfQ0KZGlmZiAtcnVwTiBta3NoNDkxL21r c2gvc2hmLmMgbWtzaDQ5MV9maXgxYS9ta3NoL3NoZi5jDQotLS0gbWtzaDQ5 MS9ta3NoL3NoZi5jCTIwMTMtMTAtMDkgMjI6NTk6NTUuMDAwMDAwMDAwICsx MTAwDQorKysgbWtzaDQ5MV9maXgxYS9ta3NoL3NoZi5jCTIwMTQtMTItMDUg MTA6MjE6MTEuNjI4Nzk5NjAwICsxMTAwDQpAQCAtNjIsNyArNjIsNyBAQCBz aGZfb3Blbihjb25zdCBjaGFyICpuYW1lLCBpbnQgb2ZsYWdzLCBpDQogCXNo Zi0+ZmxhZ3MgPSBTSEZfQUxMT0NTOw0KIAkvKiBSZXN0IGZpbGxlZCBpbiBi eSByZW9wZW4uICovDQogDQotCWZkID0gb3BlbihuYW1lLCBvZmxhZ3MgfCBP X0JJTkFSWSwgbW9kZSk7DQorCWZkID0gb3BlbihuYW1lLCBvZmxhZ3MsIG1v ZGUpOw0KIAlpZiAoZmQgPCAwKSB7DQogCQllbm8gPSBlcnJubzsNCiAJCWFm cmVlKHNoZiwgc2hmLT5hcmVhcCk7DQo= --089e01419c0a41ca9c0509e6938d Content-Type: application/octet-stream; name="mksh491_fix2.patch" Content-Disposition: attachment; filename="mksh491_fix2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i3jfnjyz1 Content-length: 521 ZGlmZiAtcnVwTiBta3NoNDkxL21rc2gvc2guaCBta3NoNDkxX2ZpeDJhL21r c2gvc2guaA0KLS0tIG1rc2g0OTEvbWtzaC9zaC5oCTIwMTQtMDEtMTIgMDU6 MTA6MDcuMDAwMDAwMDAwICsxMTAwDQorKysgbWtzaDQ5MV9maXgyYS9ta3No L3NoLmgJMjAxNC0xMi0wNSAxMToxMjowOC41ODc2NDc3MDAgKzExMDANCkBA IC00MDEsOSArNDAxLDkgQEAgZXh0ZXJuIGludCBfX2NkZWNsIHNldGVnaWQo Z2lkX3QpOw0KICNlbmRpZg0KICNlbmRpZg0KIA0KLSNpZm5kZWYgT19CSU5B UlkNCisvLyNpZm5kZWYgT19CSU5BUlkNCiAjZGVmaW5lIE9fQklOQVJZCTAN Ci0jZW5kaWYNCisvLyNlbmRpZg0KIA0KICNpZmRlZiBNS1NIX19OT19TWU1M SU5LDQogI3VuZGVmIFNfSVNMTksNCg== --089e01419c0a41ca9c0509e6938d Content-Type: text/plain; charset=us-ascii Content-length: 218 -- 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 --089e01419c0a41ca9c0509e6938d--