You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
71 lines
1.7 KiB
71 lines
1.7 KiB
#!/bin/sh |
|
# Copyright (C) 1999-2016 ImageMagick Studio LLC |
|
# Copyright (C) 2003 - 2008 GraphicsMagick Group |
|
# |
|
# This program is covered by multiple licenses, which are described in |
|
# LICENSE. You should have received a copy of LICENSE with this |
|
# package; otherwise see http://www.imagemagick.org/script/license.php. |
|
# |
|
# Convert the specified POSIX path to a Windows path under MinGW and Cygwin |
|
# The optional second parameter specifies the level of backslash escaping |
|
# to apply for each Windows backslash position in order to support varying |
|
# levels of variable substitutions in scripts. |
|
# |
|
# Note that Cygwin includes the 'cygpath' utility, which already provides |
|
# path translation capability. |
|
# |
|
# Written by Bob Friesenhahn, June 2002 |
|
# |
|
arg="$1" |
|
escapes=0 |
|
if test -n "$2" |
|
then |
|
escapes="$2" |
|
fi |
|
if test $escapes -gt 3 |
|
then |
|
echo "$0: escape level must in range 0 - 3" |
|
exit 1 |
|
fi |
|
result='' |
|
length=0 |
|
max_length=0 |
|
mount | sed -e 's:\\:/:g' | ( |
|
IFS="\n" |
|
while read mount_entry |
|
do |
|
win_mount_path=`echo "$mount_entry" | sed -e 's: .*::g'` |
|
unix_mount_path=`echo "$mount_entry" | sed -e 's:.* on ::;s: type .*::'` |
|
temp=`echo "$arg" | sed -e "s!^$unix_mount_path!$win_mount_path!"` |
|
if test "$temp" != "$arg" |
|
then |
|
candidate="$temp" |
|
length=${#unix_mount_path} |
|
if test $length -gt $max_length |
|
then |
|
result=$candidate |
|
max_length=$length |
|
fi |
|
fi |
|
done |
|
if test -z "$result" |
|
then |
|
echo "$0: path \"$arg\" is not mounted" |
|
exit 1 |
|
fi |
|
case $escapes in |
|
0) |
|
echo "$result" | sed -e 's:/:\\:g' |
|
;; |
|
1) |
|
echo "$result" | sed -e 's:/:\\\\:g' |
|
;; |
|
2) |
|
echo "$result" | sed -e 's:/:\\\\\\\\:g' |
|
;; |
|
3) |
|
echo "$result" | sed -e 's:/:\\\\\\\\\\\\\\\\:g' |
|
;; |
|
esac |
|
exit 0; |
|
)
|
|
|