This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: cygpath 1.7.18 problem. cypath returns mangled filename
- From: Corinna Vinschen <corinna-cygwin at cygwin dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 26 Jun 2013 15:10:38 +0200
- Subject: Re: cygpath 1.7.18 problem. cypath returns mangled filename
- References: <069901ce724c$a4232250$ec6966f0$ at dyalog dot com>
- Reply-to: cygwin at cygwin dot com
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