This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Can cygwin be configured to always use mixed path output types?


Igor Pechtchanski wrote:
Dan,

My message was meant to say that Cygwin will accept Windows-style paths as
input (the comment about path.cc was to make sure mixed-style paths were
also accepted).  If you want Cygwin to *generate* Win32-style paths,
that's unlikely to happen.  In fact, I can tell you right now that Cygwin
is not going to be changed for better interoperability with either MKS or
SFU.

The best solution for you might be to create aliases (or exported
functions) for each of the necessary commands that would invoke 'cygpath'
on the output of the corresponding command (something like

pwd() {
  cygpath -m "`command pwd`"
}
export pwd

might do it).  Hope this helps,
	Igor

On Thu, 29 Jan 2004, Cohen Dan wrote:


Hi Igor et al.,

Here is what I am seeing the cygwin command prompt:

$ pwd
/cygdrive/c/temp

Here is what I would like to see:

$ pwd
c:/temp

I am fairly new to cygwin and am not entirely certain about the solution
you are proposing.. (For example, what do you mean by "check the latest
version of winsup/cygwin/path.cc."?)

In any case, If there is no solution to this, then I know my course of
action and would only ask in the future that cygwin environment and
tools support the two modes (Even if that means losing some symbolic
link and Cygwin mounting capabilities).

If I am wrong, I would appreciate an example of how to set this up..
Thank you in advance.

Dan


--- Igor Pechtchanski <pechtcha@cs.nyu.edu> wrote:


On Thu, 29 Jan 2004, Cohen Dan wrote:


Hi,

I have a project that requires me to use both cygwin and MKS.. MKS
primarily uses paths like "c:/temp" and cygwin has the path
"/cygdrive/c/temp".  I know I can use cygpath (cygpath -m
/cygdrive/c/temp) to convert the cygwin path to "c:/temp" but that
solution will be very time consuming to implement in the very large
application I need to convert. I was wondering if there was a way to
configure cygwin to work with the mixed path mode instead of using
cygpath in my scripts.

Thanks in advance.
Dan

FWIW, Cygwin's file manipulation routines will understand the regular Win32-style paths (make sure to quote the backslashes in your shell). Programs that don't attempt to manipulate the paths themselves should work just fine with Windows paths. I believe (though I'm not as sure of it) that a 'single-letter-followed-by-a-colon-followed-by-a-slash' pattern is also used to indicate a Windows path and the DLL acts accordingly (i.e., mixed mode should also work). If you want to make sure, look in the latest version of winsup/cygwin/path.cc.

Of course, if some program does attempt to process the path itself
(e.g., walk through directories, etc), all bets are off.  Also note
that you will lose the benefit of Cygwin mounts and symlinks if you
stick to Windows paths.
     Igor


Or, if you want to keep your cygwin space unix-y and only have windows-style paths when mucking around under /cygdrive (one line)(requires sed):

alias pwd='pwd | sed "-es/^\/cygdrive\//:/" -eTz "-e s/\(:\)\(.\)/\2\1/" -e:a "-es/\//\\\/" -eta -e:z'

Hope That's Of Use


-- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]