www.delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
X-SWARE-Spam-Status: | No, hits=2.9 required=5.0 tests=AWL,BAYES_00,BOTNET,KHOP_DNSBL_BUMP,KHOP_THREADED,RCVD_IN_MSPIKE_BL,RCVD_IN_MSPIKE_L3 |
X-Spam-Check-By: | sourceware.org |
Message-ID: | <50F54C93.9090702@shaddybaddah.name> |
Date: | Tue, 15 Jan 2013 23:33:23 +1100 |
From: | Shaddy Baddah <lithium-cygwin AT shaddybaddah DOT name> |
User-Agent: | Mozilla/5.0 (X11; Linux i686; rv:10.0.5) Gecko/20120624 Icedove/10.0.5 |
MIME-Version: | 1.0 |
To: | cygwin AT cygwin DOT com |
Subject: | Re: stat() and tilde prefix (was bad bash tab completion) |
References: | <5024B4D4 DOT 6080409 AT shaddybaddah DOT name> <50F395D5 DOT 4050201 AT shaddybaddah DOT name> <20130114061747 DOT GB16739 AT ednor DOT casa DOT cgf DOT cx> <20130114100002 DOT GA22039 AT calimero DOT vinschen DOT de> <50F417F9 DOT 8040108 AT shaddybaddah DOT name> <20130114161307 DOT GB8617 AT calimero DOT vinschen DOT de> |
In-Reply-To: | <20130114161307.GB8617@calimero.vinschen.de> |
X-IsSubscribed: | yes |
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 |
Hi, On 15 Jan 2013 03:13, Corinna Vinschen wrote: >> It seems to me then that a patch to bash may be in order? I can see how >> the bash check is the right thing to do. It doesn't want the special >> tilde expansion to mask and disallow referencing of real tilde prefixed >> paths. So the stat() check is the quick win to determine that. >> >> From what I make of it, there needs to be a patch that, although can >> work generically, adds checks only required for Cygwin. And therefore >> is specific to the Cygwin package. >> >> The check would be an extension of the file_exists() function, perhaps >> called tilde_file_exists(), which determines if the tilde prefix forms >> a directory component of the path (strchr('/')?). If it does not, the >> file_exists() check is sufficient. If it does, then the check of if >> that directory exists is logically and'ed to the result of >> file_exists(). >> >> Does that sound about right? > > A check like this might be a good idea. Ultimately I would be glad to > be able to come up with more correct code in Cygwin while not getting > slower, of course. But that's wishful thinking for now. Bash, patched in the way I have described, seems to fix the tab completion issue. I will tidy up the work and publish the patch at some point soon. I may have taken a naive approach, so review comments are welcome. -- Regards, Shaddy -- 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
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |