Two return code consistency fix.
[live-boot-grml.git] / scripts / live
index d7c2347..56c0a14 100755 (executable)
@@ -944,7 +944,7 @@ try_snap ()
        snap_mount="${2}"
        snap_type="${3}"
 
-       if [ ! -z "${snapdata}" ]
+       if [ -n "${snapdata}" ] && [ ! -b "${snapdata}" ]
        then
                log_success_msg "found snapshot: ${snapdata}"
                snapdev="$(echo ${snapdata} | cut -f1 -d ' ')"
@@ -1402,6 +1402,25 @@ find_livefs ()
 
        # first look at the one specified in the command line
        case "${LIVE_MEDIA}" in
+               removable-usb)
+                       for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)")
+                       do
+                               if [ "$(cat ${sysblock}/removable)" = "1" ]
+                               then
+                                       if readlink ${sysblock}/device | grep -q usb
+                                       then
+                                               for dev in $(subdevices "${sysblock}")
+                                               do
+                                                       if check_dev "${dev}"
+                                                       then
+                                                               return 0
+                                                       fi
+                                               done
+                                       fi
+                               fi
+                       done
+                       ;;
+
                removable)
                        for sysblock in $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|dm-|fd)")
                        do