From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8941 invoked by alias); 26 Jun 2013 13:10:44 -0000 Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner@cygwin.com Mail-Followup-To: cygwin@cygwin.com Received: (qmail 8913 invoked by uid 89); 26 Jun 2013 13:10:40 -0000 X-Spam-SWARE-Status: No, score=-1.8 required=5.0 tests=AWL,BAYES_00,TW_YG autolearn=ham version=3.3.1 Received: from aquarius.hirmke.de (HELO calimero.vinschen.de) (217.91.18.234) by sourceware.org (qpsmtpd/0.84/v0.84-167-ge50287c) with ESMTP; Wed, 26 Jun 2013 13:10:40 +0000 Received: by calimero.vinschen.de (Postfix, from userid 500) id 0FBFD520063; Wed, 26 Jun 2013 15:10:38 +0200 (CEST) Date: Wed, 26 Jun 2013 14:53:00 -0000 From: Corinna Vinschen To: cygwin@cygwin.com Subject: Re: cygpath 1.7.18 problem. cypath returns mangled filename Message-ID: <20130626131038.GB6966@calimero.vinschen.de> Reply-To: cygwin@cygwin.com Mail-Followup-To: cygwin@cygwin.com References: <069901ce724c$a4232250$ec6966f0$@dyalog.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <069901ce724c$a4232250$ec6966f0$@dyalog.com> User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2013-06/txt/msg00648.txt.bz2 On Jun 26 10:07, John Daintree wrote: > Hi, > > I’ve hit a problem with cygpath. Here’s a script: > > JD0=/cygdrive/d/obj/13.2.tmp/apl/win/32/unicode/winapi/dev/opt > JD=/cygdrive/c/src/13.2.dss/svn/misc/samples/tmp > > cygpath --version > > echo ...... > echo $(cygpath -up "$JD0:$JD:$JD:$JD") > echo ...... > echo $(cygpath -up "$JD0:$JD:$JD:$JD:$JD:$JD") > echo ...... > > > Here’s its output : > > cygpath (cygwin) 1.7.18 > Path Conversion Utility > Copyright (C) 1998 - 2013 Red Hat, Inc. > This is free software; see the source for copying conditions.  There is NO > warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. > ...... > /cygdrive/d/obj/13.2.tmp/apl/win/32/unicode/winapi/dev/opt:/cygdrive/c/src/1 > 3.2.dss/svn/misc/samples/tmp:/cygdrive/c/src/13.2.dss/svn/misc/samples/tmp:/ > cygdrive/c/src/13.2.dss/svn/misc/samples/tmp > ...... > /cygdrive/c/ygdrive/d/obj/13.2.tmp/apl/win/32/unicode/winapi/dev/opt:/cygdri > ve/c/src/13.2.dss/svn/misc/samples/tmp:/cygdrive/c/src/13.2.dss/svn/misc/sam > ples/tmp:/cygdrive/c/src/13.2.dss/svn/misc/samples/tmp:/cygdrive/c/src/13.2. > dss/svn/misc/samples/tmp:/cygdrive/c/src/13.2.dss/svn/misc/samples/tmp > ...... > Note that the second call to cygpath has “mangled” the first element of the > returned path. The only difference between that 1st and 2nd calls to cygpath > is the length of the argument. > Note that changing  the separator from : to \; doesn’t help – it still > mangles the return. PEBCAK. You're not supposed to put UNIX paths into the function when using the -u flag. The path is inspected and potentially mangled on the assumption that this is a Windows path. This is necessary to support Windows paths of more than 260 chars. Having said that, I changed the behaviour of cygpath so that mangling is not performed when using the -p option since the mangling only works on single paths anyway. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat -- 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