#!/bin/sh # # Stupid wrapper to avoid win32 dospath/cygdrive issues # prog=$1 shift if test -z "$prog"; then exit 0 fi mountpoint=$CYGDRIVE_MOUNT if test -z "$mountpoint"; then mountpoint=`mount -p` if test -z "$mountpoint"; then print "Cannot determine cygwin mount points. Exiting" exit 1 fi fi mountpoint=${mountpoint#*/} mountpoint=/${mountpoint%%[!A-Za-z0-9_]*} mountpoint=${mountpoint%/} args="" up="" if test "${prog}" = "-up"; then up=1 prog=${1} shift fi process=1 for i in "${@}" do if test "${i}" = "-wrap"; then process=1 else if test "${i}" = "-nowrap"; then process= else if test -n "${process}"; then if test -n "${up}"; then pathname=${i#-I[a-zA-Z]:/} if ! test "${pathname}" = "${i}"; then no_i=${i#-I} driveletter=${no_i%%:*} i=-I${mountpoint}/${driveletter}/${pathname} fi else eval 'leader=${i%%'${mountpoint}'/[a-zA-Z]/*}' if ! test "${leader}" = "${i}"; then eval 'pathname=${i#'${leader}${mountpoint}'/[a-zA-Z]/}' eval 'no_mountpoint=${i#'${leader}${mountpoint}'/}' driveletter=${no_mountpoint%%/*} i=${leader}${driveletter}:/${pathname} fi fi fi args="${args} ${i}" fi fi done exec $prog $args