--- xdg-utils-1.0.1/scripts/xdg-mime.fixdefault 2006-11-04 04:35:23.000000000 +0100 +++ xdg-utils-1.0.1/scripts/xdg-mime 2007-02-20 14:44:11.000000000 +0100 @@ -558,10 +558,23 @@ xdg_user_dir="$xdg_user_dir/$xdg_dir_name" xdg_system_dirs="$XDG_DATA_DIRS" [ -n "$xdg_system_dirs" ] || xdg_system_dirs=/usr/local/share/:/usr/share/ + xdg_data_dirs=`echo "$xdg_user_dir:$xdg_system_dirs" | sed 's/:/ /g'` - for x in `echo "$xdg_user_dir:$xdg_system_dirs" | sed 's/:/ /g'`; do + for x in $xdg_data_dirs ; do DEBUG 2 "Checking $x/applications/defaults.list" - trader_result=`grep "$MIME=" $x/applications/defaults.list 2> /dev/null | cut -d '=' -f 2 | cut -d ';' -f 1` + trader_result=`grep "$MIME=" $x/applications/defaults.list 2> /dev/null | cut -d '=' -f 2` + if [ -n "$trader_result" ] ; then + for y in `echo "$trader_result" | sed 's/;/ /g'` ; do + unset trader_result + for z in $xdg_data_dirs ; do + if [ -f "$z/applications/$y" ] ; then + trader_result=$y + break + fi + done + [ -n "$trader_result" ] && break + done + fi if [ -n "$trader_result" ] ; then echo $trader_result exit_success