delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2003/03/10/12:47:27

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sources.redhat.com/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
Message-Id: <5.2.0.9.2.20030310094141.02003ec8@pop3.cris.com>
X-Sender: rrschulz AT pop3 DOT cris DOT com
Date: Mon, 10 Mar 2003 09:48:05 -0800
To: cygwin AT cygwin DOT com
From: Randall R Schulz <rrschulz AT cris DOT com>
Subject: Re: cygpath "$@" in a script: bug?
In-Reply-To: <KJEOKFJJEDMIGBEEJCHCGEODNKAA.ralfhauser@gmx.ch>
Mime-Version: 1.0

Ralf,

Yes. Well, no. Cygpath isn't "chok[ing]." It's operating correctly.

It accepts one input name per line when used in filter mode. You can 
use tr or sed to insert newlines where appropriate, but it's not 
feasible to have cygpath interpret spaces as separators between input 
names. Since spaces are valid in file names, that's the only reasonable 
(reasonably general) way for it to work. (Yes, under Unix / Linux / 
etc., newlines are acceptable file name characters, too, but are rarely 
used as such.)

Randall Schulz


At 00:47 2003-03-10, Ralf Hauser wrote:
>in http://sources.redhat.com/ml/cygwin/2003-01/msg01707.html I thought to
>see how I should do this.
>The example works fine. But if I create a script that does
>the same
>
>echo "$@" | cygpath -w -f -
>
>and call it with
>
>testscript `/bin/ls /bin/ch*`
>
>I get
>
>C:\cygwin\bin\checkgid.exe \bin\chgrp.exe \bin\chmod.exe \bin\chown.exe
>\bin\chroot.exe
>
>is it possible that it chokes upon missing newlines (CR/LF)?
>Or even worse if I put in the long path:
>
>testscript `/bin/ls /cygdrive/c/cygwin/bin/ch*`
>
>cygpath: error converting "/cygdrive/c/cygwin/bin/checkgid.exe
>/cygdrive/c/cygwin/bin/chgrp.exe /cygdrive/c/cygwin/bin/chmod.exe
>/cygdrive/c/cygwin/bin/chown.exe /cygdrive/c/cygwin/bin/chroot.exe"
>
>or yet worse when I do that on my desktop with three test files a.txt,
>aa.txt and aaa.txt:
>rhauser AT PC:/<3>rhauser/Desktop>
>testscript `ls /cygdrive/c/Docume~1/rhauser/Desktop/a*.txt`
>c:\Docume~1\rhauser\Desktop\a.txt
>\cygdrive\c\Docume~1\rhauser\Desktop\aa.txt
>\cygdrive\c\Docume~1\rhauser\Desktop\aaa.txt
>
>so the first path is converted properly while number 2 and 3 are wrong?
>
>Any thoughts?
>
>     Ralf


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

- Raw text -


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