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]

environment variables derived from TMPDIR


In a SHELL script I prepare a temp file to pass to some non-cygwin
program:

    # TMPDIR is set to c:/temp outside of cygwin
    # which translates to /cygdrive/c/temp inside cygwin
    # prepare input
    TMPFILE=$TMPDIR/foo.$$
    cat > "$TMPFILE" <<\EOF
    some stuff
    EOF
    # call program: error: no such file /cygdrive/c/temp/foo.1234
    # filename should be c:/temp/foo.1234
    external_program "$TMPFILE"

Now TMPFILE is passed to the external program using POSIX path
notation which it does not understand.

If possible I'd like to avoid using 'cygpath' in the script since it
should run on different platforms.

Is there any way to switch off the auto-conversion of TMPDIR?  Since
Cygwin thankfully understands windows-style pathnames, I don't see the
big advantage of translating this variable to posix and back...
(BTW, TMPDIR is not yet mentioned in the manuals for auto-converted
variables like PATH and HOME).  

Alternatively, would it be a good idea to mark variables derived from
auto-converted variables to become auto-converted on export, too?
Something like the 'tainted' variables in perl?

R'

--
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]