From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from nihcesxwayst05.hub.nih.gov (nihcesxwayst05.hub.nih.gov [165.112.13.46]) by sourceware.org (Postfix) with ESMTPS id 6BB783858C56 for ; Sun, 26 Jun 2022 16:26:38 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6BB783858C56 X-SBRS-Extended: Low X-IronPortListener: ces-out X-IronPort-AV: E=Sophos;i="5.92,224,1650945600"; d="scan'208";a="249317502" Received: from unknown (HELO mail.nih.gov) ([156.40.79.161]) by nihcesxwayst05.hub.nih.gov with ESMTP/TLS/AES256-GCM-SHA384; 26 Jun 2022 12:26:37 -0400 Received: from nihexb3.nih.gov (156.40.79.163) by nihexb1.nih.gov (156.40.79.161) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Sun, 26 Jun 2022 12:26:37 -0400 Received: from GCC02-DM3-obe.outbound.protection.outlook.com (156.40.79.133) by nihexb3.nih.gov (156.40.79.163) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9 via Frontend Transport; Sun, 26 Jun 2022 12:26:36 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DkMVatAGUAQeENQrFAD52+tYvENsADBCYyC7h6hVMSiMfcjqZk1TNQKNtgUV1YZaIhn/PfJRPmDlK4pUIhFcdCA1OCgD2InTpTt84NdshWQgMq0YWZZid7sXKmPK5r8Y1TIZxecNueeabOaUU6e9Mt7VEZFaxy15Pdd2yAbfLL+2dalcMSoG7c+ExQLSk+WnOE0ZFU1IdkIE7BLWMLzt5C3qdY0zXLw34zOt8tcPa39W/7GP/WKFSk+NAsYTvjEKloENuq8sy0NRsTvHYc0qfSBDic71kjATvoHNK3RbKhKMwecS8w6Sfui7U84QPkID33ontg43Ad+nRPO66iycow== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=c3dUbMDXl7BWHElkSYAIAgPUbkvVcUSsOpIxFLj2kPs=; b=Pi8nGqLd7CLGPgspOKC6NqdHp+pnp/9u4tq1/VzT96TmRK1I6/rb00d3blD6bpAfANlYm+efaqn5docZ2vq90itI3cwPCTenBH6vS9b+jlNWuOhRXp+q5R3P9uwJZuSZSuTRfp9Bpvi9S/EV82VVCqwwppe/QWL1JOt09Qv0XurzeCKVpXfy6agVSL9DxJhg8HX56ez9p8vnLKQxcX0/Pxjr0jDMUCNqsTjYTBaAw+ENj/6dHQp5KpF0TxMxCegt+cqValAKSPnAtPx/EIF8ykcCaLlfytVkTLQWR+8OdZXLNgWV7dO/kNg/DbURhKNwGuvnHLF7pqxqCL9KjTujLQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ncbi.nlm.nih.gov; dmarc=pass action=none header.from=ncbi.nlm.nih.gov; dkim=pass header.d=ncbi.nlm.nih.gov; arc=none Received: from DM8PR09MB7095.namprd09.prod.outlook.com (2603:10b6:5:2e3::14) by DM6PR09MB5704.namprd09.prod.outlook.com (2603:10b6:5:266::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.17; Sun, 26 Jun 2022 16:26:35 +0000 Received: from DM8PR09MB7095.namprd09.prod.outlook.com ([fe80::282a:38f8:c3b5:8f5b]) by DM8PR09MB7095.namprd09.prod.outlook.com ([fe80::282a:38f8:c3b5:8f5b%7]) with mapi id 15.20.5373.015; Sun, 26 Jun 2022 16:26:35 +0000 From: "Lavrentiev, Anton (NIH/NLM/NCBI) [C]" To: "'cygwin@cygwin.com'" Subject: RE: Cygwin's execlp() does not work with an empty $PATH element Thread-Topic: Cygwin's execlp() does not work with an empty $PATH element Thread-Index: AdiJbrs+rXZuHXNaTrCqY66Eq3KrXAACh9EQ Date: Sun, 26 Jun 2022 16:26:35 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 189c0f8e-605c-403e-d68d-08da5790a32c x-ms-traffictypediagnostic: DM6PR09MB5704:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ZmKdIZUhNxn6ofoG+HZRFTCd8jfcf26Qti88/SGZ7D8v3lG2OajUlB7pNNX/NCs+P9EM+A8Sk1QLCbk7qNoa8Hcwwyikzk66bYg4dlJWRHR3KtERVRJsGe6doQG7NlANOsoQA1I+igZpRaVuoAMnX7agaTlEeOJ9GDiPSa70ZaKSA2TZ7jpFY7Z+8WerjnUQ16sdK5diNS4Ts3Qg76ZA+Sk0xB7t4XAaT0dMAM4jJ5SlqwG+Operh73ljk3SKLbx6yi6hlW6epr2fK5qW2WXiVROU02zIAUr1eZO620fPh/pfYjuTA17ypqu+aFKYwPpHCl4LeyJizoifF2Y12AqjKaY2if9v+NqDGZd+qriJV6zcLe/f7IbfNjWMZvpPv8smM2NaTNhqwI1PVqtl3IrJUkJG7i6OPPwTkHu97Sqv2a9Nw4n4N+FhpQqfzpAMCiLCWIza8nk5xgJVdLDJqtyxFPtbkXBA1PUbe59Z5ptQ7loy8o8tUe6LgojNFKvQOPqkpJIlFmETdfEedkdJjjgGIIGXuSGYq8QSwFzUwwFoFusHgJSqSmCYhF2VfGuOM0KsMMo8b2yxs6Iz2sQVAGVpk1wy+XOQVo1catuLz9y1fwtSbLct62R3Ce3jWEDg2XQBTMG/9ZauOjXIxI5AV7jYnfcW3NooMtJdRAGz3XPTq+8myFe3cb0KRGP9+kprm0eXnefURAGTrGmXdOesiLbd6TOOzKCrp/MPOnA1UAk1Bbv9iVuPUD6VWuwxq2KYp2wTSg0+utNVLMSG5+4xM5er0n08XHELUZOG0jRPNGo6FthFFsJWBoYr7/SiIvNGDG+UZ/eiiYkcq3Rl38kKAhat7Kbsa21J8WXg44Hnk7OmiiRnGOc6mt6nl6ED2VuiX9M x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR09MB7095.namprd09.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230016)(4636009)(366004)(64756008)(66946007)(7696005)(66556008)(66446008)(8676002)(66476007)(2940100002)(76116006)(498600001)(55016003)(8936002)(26005)(52536014)(71200400001)(38100700002)(966005)(38070700005)(6506007)(9686003)(86362001)(53546011)(33656002)(122000001)(5660300002)(45080400002)(6916009)(186003)(83380400001)(2906002)(21314003)(491001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?DXlge5kyh0pi2HyvMA6OQGugdK4hVPWt3CotB4vmaFrQ9W2ZUNR/GM0Fti1Y?= =?us-ascii?Q?hpKS+BaT6VXzMi51A5JRqD1NGnA4gSpQlMh5onsp+iIOyV+1rwY5O6vMi8pC?= =?us-ascii?Q?QrxiHn3KBo6U6BBIjOwGz8ZUTBheIXg4H193tt42hQ5JsCKURgowVtmi6lHn?= =?us-ascii?Q?IVbZjbfPEFRcjJsxqb+OP1t+Ja/1sEJcF79E98PJRVYhK07ERpcOak/5vKK8?= =?us-ascii?Q?bENBXFjWNtheiHwSwwkgdrDLUK2g2E89f2qvxjdwtddBIyiFlSrHtDL96rGl?= =?us-ascii?Q?x1Gttt/euV2MdYDJ2yemW2NTmQtWpT4sW7g3aHnTm9GbFUzA+awEBBmw0ybg?= =?us-ascii?Q?cxOJbIvwdQzUAX6r5kYJ9x4Dc1I8dVqgtdwAFbnGQjvmkgV3v5+8bEFuov6n?= =?us-ascii?Q?deLbBxT+7oI9cyoc7K26xBJx6qdJx42KoddAQXGp3aiuCJQ4UB8ZaYPpRuTg?= =?us-ascii?Q?0SgoS4SKPdhsBTgvv83vfZAB/7IPhq2c9dGwnuRdP1Ok1UJz5F6Mnk9OrDRW?= =?us-ascii?Q?yl0USBBzaM+AH+13gYFtBPzCxexq+S522VRMl8xkZzCkhuKcrDyQG40NUTtM?= =?us-ascii?Q?CDyaf/4MFjJKmMzq3+lizJHwFOezN1sF6sHjaxFZwPYYXp2udQiUwIQ/CCl9?= =?us-ascii?Q?pf/OyNF0zlN+ql31fT8jRHYpJugPhz9OCDc0OpkJMceN+vm1664BQpnECDMq?= =?us-ascii?Q?BWJ+JoBtOcmVSBcW6ZUD2IUpvXEFNyohUNMOMTfdKwXBMHE7e8SPrJ9Xfe6Y?= =?us-ascii?Q?BF2YHfNsyGmFYdnprMTHFeIaGCkZK2CXBs4EvvP16yBx1VHgd/J8mtAnG9un?= =?us-ascii?Q?9tT7hEGwFCqcyMEQT2srMF0nke0T3voOdHYKe4MeDuXckZkMNw3FxmJJEk6F?= =?us-ascii?Q?irOywsciKzeimve5d+Jc8kVGsWMsSG7Bmmo1+9uHnq6zBwSJLoLO+evJ5sZH?= =?us-ascii?Q?tACVNiLcLGlgnXHOcWcCVfDDK4VX3xcIuSumK+d2Kzl4so2tAtCRrKOgleIp?= =?us-ascii?Q?KXZdqBNxggSdWWZBFzYx4z0OK+dyaVGcfW1q+pxzDCz5vk4FH1dT6NrVDLiP?= =?us-ascii?Q?os7JHhbZi7NvW94qKYAqFoAXKVJpqO8aPgpMzZCJhUumOZnsbn9Bafp9KUvV?= =?us-ascii?Q?P2AdeEHaduohVh99Kg1vEZcnSmgzwNkBoQx413Qo5jxJimwyr09IFSku8ooW?= =?us-ascii?Q?5pEplUJcId1DdYCaqc+WDCA/a3WPnp0XLW8H1QgP09R8QIM3+YqDrJp6fRze?= =?us-ascii?Q?/fcm4t8ZNQIhEWsGeZeu5dWV92KR/BwyTRquzmQ3GlUE/NoDEfCcWMxG2kwJ?= =?us-ascii?Q?EqPUiUG0kGSvrHDCtpiTa1k2a5TGyDL555CeNz+T49NI1YtGqAYAazRDXJA+?= =?us-ascii?Q?tKz29FdF214df7gpmcyzRxyTd99ZVbO+tbpDR657vAtp63gipPPzsJduEpvu?= =?us-ascii?Q?6nT9ZRJRdRk/vYm/oDORNekssWGYv0DQcvVpwrsjZqB+5f8QVcU/oTzobdHp?= =?us-ascii?Q?spM0oI7uMkGwrXeU1il+bjF7ZxDb8yOn+/klIU6ARfvbNGPmeTpg6WKXB2d6?= =?us-ascii?Q?/AR3PNmyMHxaIigtfcc=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM8PR09MB7095.namprd09.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 189c0f8e-605c-403e-d68d-08da5790a32c X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Jun 2022 16:26:35.0410 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 14b77578-9773-42d5-8507-251ca2dc2b06 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR09MB5704 X-OriginatorOrg: ncbi.nlm.nih.gov X-Spam-Status: No, score=1.7 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, KAM_LOTSOFHASH, SPAM_BODY, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, T_SPF_HELO_PERMERROR autolearn=no autolearn_force=no version=3.4.6 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: cygwin@cygwin.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 26 Jun 2022 16:26:40 -0000 There's another discrepancy for execlp() on Cygwin. In the absence of the = PATH environment, it should consider the current directory first, then look= up somewhere else. And it does so on Linux! Not on Cygwin, though. Please take a look below: Linux: $ ./hello exec: No such file or directory $ unset PATH $ echo $PATH $ ./hello Hello Cygwin: $ ./hello exec: No such file or directory $ unset PATH $ echo $PATH $ ./hello exec: No such file or directory Anton Lavrentiev Contractor NIH/NLM/NCBI > -----Original Message----- > From: Cygwin On Behal= f Of Lavrentiev, > Anton (NIH/NLM/NCBI) [C] via Cygwin > Sent: Sunday, June 26, 2022 11:10 AM > To: 'cygwin@cygwin.com' > Subject: [EXTERNAL] Cygwin's execlp() does not work with an empty $PATH e= lement >=20 > Hi all, >=20 > An empty PATH element (":xxx" or "xxx::xxx" or "xxx:") is to be considere= d as the current > directory (from the very first days of Unix). >=20 > However, Cygwin does not seem to obey the rule. >=20 > Consider the following simple C program: >=20 > $ cat hello.c > #include > #include > #include > #include >=20 > int main(int argc, const char* argv[]) > { > if (argc < 2) { > const char* prog =3D strrchr(argv[0], '/'); > if (!prog++) > prog =3D argv[0]; > execlp(prog, prog, "Hello", NULL); // execute just by the progra= m name > perror("exec"); > return 1; > } > printf("%s\n", argv[1]); > return 0; > } >=20 > Now compare the execution on Linux and Cygwin: >=20 > Linux: >=20 > $ gcc -Wall -o hello hello.c > $ hello > bash: hello: command not found > $ ./hello > exec: No such file or directory > $ PATH=3D".:$PATH" ./hello > Hello > $ PATH=3D":$PATH" ./hello > Hello > $ PATH=3D"${PATH}:" ./hello > Hello >=20 > Cygwin: >=20 > $ gcc -Wall -o hello hello.c > $ hello > -bash: hello: command not found > $ ./hello > exec: No such file or directory > $ PATH=3D".:$PATH" ./hello > Hello > $ PATH=3D":$PATH" ./hello > exec: No such file or directory > $ PATH=3D"${PATH}:" ./hello > exec: No such file or directory >=20 > As you can see, the execution failed when an empty PATH element was added= on Cygwin > (yet it was perfectly fine on Linux). >=20 > Anton Lavrentiev > Contractor NIH/NLM/NCBI >=20 >=20 > -- > Problem reports: > https://gcc02.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fcygwi= n.com%2Fproblems.ht > ml&data=3D05%7C01%7Clavr%40ncbi.nlm.nih.gov%7C4f115d6612d84622f36e08d= a578602f6%7C14b7757 > 8977342d58507251ca2dc2b06%7C0%7C0%7C637918530342421084%7CUnknown%7CTWFpbG= Zsb3d8eyJWIjoiMC4 > wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&a= mp;sdata=3D5W%2FkRL > P2C5dOS1mAwXbXjeW3jLCNm3Kn%2BCFMJbPlgyo%3D&reserved=3D0 > FAQ: > https://gcc02.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fcygwi= n.com%2Ffaq%2F& > data=3D05%7C01%7Clavr%40ncbi.nlm.nih.gov%7C4f115d6612d84622f36e08da578602= f6%7C14b77578977342 > d58507251ca2dc2b06%7C0%7C0%7C637918530342421084%7CUnknown%7CTWFpbGZsb3d8e= yJWIjoiMC4wLjAwMD > AiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdat= a=3DvYE4PpDSlT6%2Fw > jApZyC8r1BjQULY4MmBH2nUJIXE3BQ%3D&reserved=3D0 > Documentation: > https://gcc02.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fcygwi= n.com%2Fdocs.html&a > mp;data=3D05%7C01%7Clavr%40ncbi.nlm.nih.gov%7C4f115d6612d84622f36e08da578= 602f6%7C14b77578977 > 342d58507251ca2dc2b06%7C0%7C0%7C637918530342421084%7CUnknown%7CTWFpbGZsb3= d8eyJWIjoiMC4wLjA > wMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&s= data=3DpbcpGI8Ykvb5 > UQlP%2FOT6G2ZUXloiARlZvax0NhyO2t0%3D&reserved=3D0 > Unsubscribe info: > https://gcc02.safelinks.protection.outlook.com/?url=3Dhttps%3A%2F%2Fcygwi= n.com%2Fml%2F%23uns > ubscribe- > simple&data=3D05%7C01%7Clavr%40ncbi.nlm.nih.gov%7C4f115d6612d84622f36= e08da578602f6%7C14b > 77578977342d58507251ca2dc2b06%7C0%7C0%7C637918530342421084%7CUnknown%7CTW= FpbGZsb3d8eyJWIjo > iMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%= 7C&sdata=3DDGMP > SVCqWNO6qKi6BCqKvvWxBD4x2m2vUfBCIHfI9Ts%3D&reserved=3D0