delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin-developers/2002/07/04/16:26:42

Mailing-List: contact cygwin-developers-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-developers-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin-developers/>
List-Post: <mailto:cygwin-developers AT cygwin DOT com>
List-Help: <mailto:cygwin-developers-help AT cygwin DOT com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-developers-owner AT cygwin DOT com
Delivered-To: mailing list cygwin-developers AT cygwin DOT com
Message-ID: <04f701c22399$5f15fc40$6132bc3e@BABEL>
From: "Conrad Scott" <Conrad DOT Scott AT dsl DOT pipex DOT com>
To: <cygwin-developers AT cygwin DOT com>
Subject: symlink_info & suffix_scan
Date: Thu, 4 Jul 2002 21:28:34 +0100
MIME-Version: 1.0
X-Priority: 3
X-MSMail-Priority: Normal
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000

I don't fully understand what this code is doing but I've managed
to convince myself that it's not doing the right thing :-)

In path.cc, symlink_info::check() constructs a suffix_scan object
and then calls the suffix_scan::next() method repeatedly.  If you
stat(2) a non-existent file *without a suffix* (e.g. ls -L
nonexistent), the suffix_scan object gives the following results:

path = nonexistent,         lnk_match() = false
path = nonexistent.exe,     lnk_match() = false
path = nonexistent.exe,     lnk_match() = true
path = nonexistent.exe.lnk, lnk_match() = true
path = nonexistent.lnk,     lnk_match() = true

The issue is that it gives the path "nonexistent.exe" twice, once
with and once without lnk_match() being true.  AFAICT it should
either give "nonexistent.exe" once (without lnk_match() being
true) or it should *also* give "nonexistent" *with* lnk_match()
true.

Actually, I'm pretty sure that lnk_match() should only be true for
Windows shortcuts (i.e. for files of the form "*.lnk") and so
"nonexistent.exe" should only be given once.

I realise that this is probably not a high priority issue and
unlikely to be causing a problem, but since I stumbled over it (in
pursuit of something else entirely) I thought I'd bring it to the
attention of someone who might have more of a clue than me.

Cheers,

// Conrad



- Raw text -


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