www.delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2010/03/11/23:43:20

X-Recipient: archive-cygwin AT delorie DOT com
X-SWARE-Spam-Status: No, hits=-2.5 required=5.0 tests=AWL,BAYES_00,FB_WORD1_END_DOLLAR
X-Spam-Check-By: sourceware.org
Message-ID: <469024.97629.qm@web88302.mail.re4.yahoo.com>
X-RocketYMMF: ilatypov
Date: Thu, 11 Mar 2010 20:42:57 -0800 (PST)
From: Ilguiz Latypov <ilatypov AT infradead DOT org>
Subject: Re: allow executing a path in backslash notation
To: cygwin AT cygwin DOT com
MIME-Version: 1.0
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

--0-1170871155-1268368977=:97629
Content-Type: text/plain; charset=us-ascii



On Mar 10 10:25, Corinna Vinschen wrote:
> execv (argv[1], args);

>  bash$ gcc -o exec exec.c
>  bash$ ./exec /bin/echo
>  abc
>  bash$ ./exec C:\\cygwin\\bin\\echo
>  abc
Thanks for trying a test case.  I am attaching a new test case that 
shows that the trouble was with execvp(), not exec().  Only execvp() 
calls find_exec() which fails to find a file in backslash notation,

  find_exec (path, buf, "PATH=", FE_NNF)

Another call to find_exec in spawnvpe() seems to succeed,

  find_exec (file, buf)

So, perhaps, another way to address the issue is to call find_exec()
without the 2 extra parameters.  I find it confusing that the 
function did not work despite its numerous options and its usage of 
isdrive() implying attempts to handle Windows native paths.

-- 
--0-1170871155-1268368977=:97629
Content-Type: text/plain; name="exec.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="exec.c"

CiNpbmNsdWRlIDxwcm9jZXNzLmg+ICAgIC8vIGZvciBzcGF3bnZwZSgpIChu
b3Qgc3BlY2lmaWVkIGJ5IFRoZSBPcGVuIEdyb3VwKQojaW5jbHVkZSA8dW5p
c3RkLmg+ICAgICAvLyBmb3IgZXhlY3ZwKCkKI2luY2x1ZGUgPHN0ZGlvLmg+
ICAgICAgLy8gZm9yIHByaW50ZigpCiNpbmNsdWRlIDxlcnJuby5oPiAgICAg
IC8vIGZvciBlcnJubwojaW5jbHVkZSA8c3RyaW5nLmg+ICAgICAvLyBmb3Ig
c3RyZHVwKCksIHN0cmVycm9yKCkKI2luY2x1ZGUgPHN0ZGxpYi5oPiAgICAg
Ly8gZm9yIGdldGVudigpCgppbnQKbWFpbiAoaW50IGFyZ2MsIGNvbnN0IGNo
YXIgKmFyZ3ZbXSkKewogICAgY29uc3QgY2hhciBjb25zdCAqYXJnc1szXTsK
ICAgIGNoYXIgKm11dGFibGVfYXJnc1szXTsKICAgIC8vIFNlZSBodHRwOi8v
Yy1mYXEuY29tL2Fuc2kvY29uc3RtaXNtYXRjaC5odG1sIGV4cGxhaW5pbmcg
dGhhdCBhIHByb21pc2UKICAgIC8vIG9mIGNvbnN0bmVzcyBvZiB2YWx1ZXMg
cG9pbnRlZCB0byBieSBwb2ludGVyIGVsZW1lbnRzIHJlcXVpcmVzIGNvbnN0
bmVzcwogICAgLy8gb2YgcG9pbnRlcnMgYXMgd2VsbC4gIEluIG90aGVyIHdv
cmRzLCBhIGNvbnN0IGNoYXIqKiBwYXJhbWV0ZXIgY2Fubm90CiAgICAvLyBh
Y2NlcHQgYSBjaGFyICoqIGFyZ3VtZW50LgogICAgY29uc3QgY2hhciAqZW52
cFsyXTsKICAgIGNvbnN0IGNoYXIgKnBhdGh2YWx1ZSA9IE5VTEw7CiAgICBj
aGFyICpwYXRoZW52ID0gTlVMTDsKICAgIGludCBlYzsKCiAgICBpZiAoIGFy
Z2MgPCAyICkgewogICAgICAgIHJldHVybiAyOwogICAgfQogCiAgICBhcmdz
WyAwIF0gPSBhcmd2WzFdOwogICAgYXJnc1sgMSBdID0gImFiYyI7CiAgICBh
cmdzWyAyIF0gPSBOVUxMOwoKICAgIG11dGFibGVfYXJnc1sgMCBdID0gc3Ry
ZHVwKCBhcmdzWyAwIF0gKTsKICAgIG11dGFibGVfYXJnc1sgMSBdID0gc3Ry
ZHVwKCBhcmdzWyAxIF0gKTsKICAgIG11dGFibGVfYXJnc1sgMiBdID0gTlVM
TDsKCiAgICBwYXRodmFsdWUgPSBnZXRlbnYoICJQQVRIIiApOwogICAgaWYg
KHBhdGh2YWx1ZSkgewogICAgICAgIGludCBwYXRobGVuID0gc3RybGVuKCBw
YXRodmFsdWUgKTsKICAgICAgICBwYXRoZW52ID0gbWFsbG9jKCA1ICsgcGF0
aGxlbiArIDEgKTsKICAgICAgICBpZiAoIHBhdGhlbnYgKSB7CiAgICAgICAg
ICAgIG1lbWNweSggcGF0aGVudiwgIlBBVEg9IiwgNSApOwogICAgICAgICAg
ICBtZW1jcHkoIHBhdGhlbnYgKyA1LCBwYXRodmFsdWUsIHBhdGhsZW4gKyAx
ICk7CiAgICAgICAgfQogICAgfQogICAgZW52cFsgMCBdID0gcGF0aGVudjsK
ICAgIGVudnBbIDEgXSA9IE5VTEw7CgogICAgc2V0YnVmKCBzdGRvdXQsIE5V
TEwgKTsKICAgIHNldGJ1Ziggc3RkZXJyLCBOVUxMICk7CgogICAgcHJpbnRm
KCAiU3Bhd25pbmcgJXMgd2l0aCBzZWFyY2ggaW4gJFBBVEggYW5kIGEgbGlt
aXRlZCBlbnZpcm9ubWVudC4uLlxuIiwgYXJnc1sgMCBdICk7CiAgICBlYyA9
IHNwYXdudnBlKCBfUF9XQUlULCBhcmdzWyAwIF0sIGFyZ3MsIGVudnAgKTsK
ICAgIHByaW50ZiggIkV4aXQgY29kZTogJWRcblxuIiwgZWMgKTsKCiAgICBw
cmludGYoICJMb2FkaW5nICVzIHdpdGggc2VhcmNoIGluICRQQVRIIGFuZCBp
bmhlcml0ZWQgZW52aXJvbm1lbnQuLi5cbiIsIGFyZ3NbIDAgXSApOwogICAg
Ly8gVGhlIHByb3RvdHlwZSBpbiB1bmlzdGQuaCBkaWZmZXJzIGZyb20gdGhl
IG9uZSBpbiBwcm9jZXNzLmguICBUaGUgZm9ybWVyCiAgICAvLyBkb2VzIG5v
dCBwcm9taXNlIHRvIGtlZXAgdGhlIHBvaW50ZXJzIGludGFjdC4KICAgIGV4
ZWN2cCggYXJnc1sgMCBdLCBtdXRhYmxlX2FyZ3MgKTsKICAgIGVjID0gZXJy
bm87CiAgICBwcmludGYoICJMb2FkIGVycm9yOiAlcyAoJWQpXG4iLCBzdHJl
cnJvciggZWMgKSwgZWMgKTsKICAgIHJldHVybiBlYzsKfQoK

--0-1170871155-1268368977=:97629
Content-Type: text/plain; name="exec-test-case2.txt"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="exec-test-case2.txt"

QzpcV09SSz4uXGV4ZWMuZXhlIC4uXGVjaG8uZXhlDQpTcGF3bmluZyAuLlxl
Y2hvLmV4ZSB3aXRoIHNlYXJjaCBpbiAkUEFUSCBhbmQgYSBsaW1pdGVkIGVu
dmlyb25tZW50Li4uDQphYmMNCkV4aXQgY29kZTogMA0KDQpMb2FkaW5nIC4u
XGVjaG8uZXhlIHdpdGggc2VhcmNoIGluICRQQVRIIGFuZCBpbmhlcml0ZWQg
ZW52aXJvbm1lbnQuLi4NCkxvYWQgZXJyb3I6IE5vIHN1Y2ggZmlsZSBvciBk
aXJlY3RvcnkgKDIpDQoNCkM6XFdPUks+Y29weSBcY3lnd2luXGJpblxjeWd3
aW4xLmRsbC5uZXcgXGN5Z3dpblxiaW5cY3lnd2luMS5kbGwNCk92ZXJ3cml0
ZSBcY3lnd2luXGJpblxjeWd3aW4xLmRsbD8gKFllcy9Oby9BbGwpOiB5DQog
ICAgICAgIDEgZmlsZShzKSBjb3BpZWQuDQoNCkM6XFdPUks+LlxleGVjLmV4
ZSAuLlxlY2hvLmV4ZQ0KU3Bhd25pbmcgLi5cZWNoby5leGUgd2l0aCBzZWFy
Y2ggaW4gJFBBVEggYW5kIGEgbGltaXRlZCBlbnZpcm9ubWVudC4uLg0KYWJj
DQpFeGl0IGNvZGU6IDANCg0KTG9hZGluZyAuLlxlY2hvLmV4ZSB3aXRoIHNl
YXJjaCBpbiAkUEFUSCBhbmQgaW5oZXJpdGVkIGVudmlyb25tZW50Li4uDQph
YmMNCg0KQzpcV09SSz4NCg0K


--0-1170871155-1268368977=:97629
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
--0-1170871155-1268368977=:97629--

- Raw text -


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