Sophie

Sophie

distrib > * > 2008.0 > x86_64 > by-pkgid > c9341fa4c0796d5b896705319ca20e96 > files > 1

xdg-utils-1.0.2-3.1mdv2008.0.src.rpm

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