chiark / gitweb /
path_id: fix an harmless syntax error
[elogind.git] / extras / path_id / path_id
index f9b3d5a73fed89fe5d736e81fd8e5ce1a7e39d51..a9182af6e07ba0674bea9d8447d682ed57f5d58d 100644 (file)
@@ -220,7 +220,7 @@ handle_scsi () {
 }
 
 handle_firewire () {
-       :handle_firewire $*
+       : handle_firewire $*
        local DEV=$1
        if [ -f "$D/ieee1394_id" ] ; then
                read ieee1394_id < $D/ieee1394_id
@@ -407,30 +407,35 @@ handle_usb () {
 
 handle_device () {
        full_sysfs_path="$SYSFS$DEVPATH"
-       if [ -L $full_sysfs_path/subsystem ]; then
-               # new sysfs block layout
-               full_sysfs_path="${full_sysfs_path%/*}"
-               cd "$full_sysfs_path/subsystem";
-               subsys="`pwd -P`"
-               cd "$OPWD"
-               subsys="${subsys##*/}"
-               if [ "$subsys" = "block" ]; then
-                       # parent is "block", it's a partition, move one up
-                       full_sysfs_path="${full_sysfs_path%/*}"
-               fi
-               cd $full_sysfs_path
-       else
-               # old sysfs block layout
-               if [ ! -L $full_sysfs_path/device ] ; then
-                       if [ -f $full_sysfs_path/range ] ; then return ; fi
-                       full_sysfs_path="${full_sysfs_path%/*}"
-                       : full_sysfs_path "$full_sysfs_path"
-                       if [ ! -L $full_sysfs_path/device -o ! -f $full_sysfs_path/dev ] ; then
-                               return
+       case "$DEVPATH" in
+               /devices/*)
+                       # new sysfs layout
+                       if [ -L $full_sysfs_path/subsystem ]; then
+                               full_sysfs_path="${full_sysfs_path%/*}"
+                               cd "$full_sysfs_path/subsystem";
+                               subsys="`pwd -P`"
+                               cd "$OPWD"
+                               subsys="${subsys##*/}"
+                               if [ "$subsys" = "block" ]; then
+                                       # parent is "block", it's a partition, move one up
+                               full_sysfs_path="${full_sysfs_path%/*}"
+                               fi
+                               cd $full_sysfs_path
                        fi
-               fi
-               cd $full_sysfs_path/device
-       fi
+                       ;;
+               *)
+                       # old sysfs layout
+                       if [ ! -L $full_sysfs_path/device ] ; then
+                               if [ -f $full_sysfs_path/range ] ; then return ; fi
+                               full_sysfs_path="${full_sysfs_path%/*}"
+                               : full_sysfs_path "$full_sysfs_path"
+                               if [ ! -L $full_sysfs_path/device -o ! -f $full_sysfs_path/dev ] ; then
+                                       return
+                               fi
+                       fi
+                       cd $full_sysfs_path/device
+                       ;;
+       esac
        full_sysfs_device_path="`pwd -P`"
        cd "$OPWD"
        D=$full_sysfs_device_path