delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2014/12/10/20:20:28

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:date:message-id:subject:from:to
:content-type; q=dns; s=default; b=b7yjsQ+RrrWcV98Zb3VyJ37zLmh01
0j+tdT+Zf97fZvsioCcDpU9wDhQoLf0e9B/rBlRvIMIYaeE8h8mxZQjlmrDYHO+d
40aJhdMu3Z/KvpT5eqMQq4P+YSI+RysiB1s+MyiCn38+dsglk42N6/YQLmIYfWJj
xMo+xtNp8BwxPA=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:mime-version:date:message-id:subject:from:to
:content-type; s=default; bh=6jR7HGdES0P9pEYdU3tc+FlRMv0=; b=Tmx
JggSso8RQbf9MXNPn5SFolpPaQEtghQan3x8L6zxh5r+p4Rc+gMpSQBD0jGQIk3T
DOEB1YdQFLxVZDAFcsQdTeRZtSi+o6f4SO8cFO6KmTo/O+ADMp75gp3kpdHAFhmT
nIwD6D6EkAQMr3UyLz4HYQ1bb/IuFBxp2OonCo24=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
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
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)
Date: Thu, 11 Dec 2014 12:20:01 +1100
Message-ID: <CAAbLfgVzxgFLRg6RZdAXACZ6U2Tn6nrdVu_Mq1uK2XM59C-L8Q@mail.gmail.com>
Subject: mksh 49-1 no longer handles Windows line endings
From: Ryan Dortmans <ryandort DOT cygwin AT gmail DOT com>
To: cygwin AT cygwin DOT com

--089e01419c0a41ca9c0509e6938d
Content-Type: text/plain; charset=UTF-8

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

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

ZGlmZiAtcnVwTiBta3NoNDkxL21rc2gvc2guaCBta3NoNDkxX2ZpeDJhL21r
c2gvc2guaA0KLS0tIG1rc2g0OTEvbWtzaC9zaC5oCTIwMTQtMDEtMTIgMDU6
MTA6MDcuMDAwMDAwMDAwICsxMTAwDQorKysgbWtzaDQ5MV9maXgyYS9ta3No
L3NoLmgJMjAxNC0xMi0wNSAxMToxMjowOC41ODc2NDc3MDAgKzExMDANCkBA
IC00MDEsOSArNDAxLDkgQEAgZXh0ZXJuIGludCBfX2NkZWNsIHNldGVnaWQo
Z2lkX3QpOw0KICNlbmRpZg0KICNlbmRpZg0KIA0KLSNpZm5kZWYgT19CSU5B
UlkNCisvLyNpZm5kZWYgT19CSU5BUlkNCiAjZGVmaW5lIE9fQklOQVJZCTAN
Ci0jZW5kaWYNCisvLyNlbmRpZg0KIA0KICNpZmRlZiBNS1NIX19OT19TWU1M
SU5LDQogI3VuZGVmIFNfSVNMTksNCg==


--089e01419c0a41ca9c0509e6938d
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
--089e01419c0a41ca9c0509e6938d--

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019