dracut-functions: remove double slashes, for symlink conversion
authorHarald Hoyer <harald@redhat.com>
Mon, 25 Jul 2011 12:28:55 +0000 (14:28 +0200)
committerHarald Hoyer <harald@redhat.com>
Mon, 25 Jul 2011 12:28:55 +0000 (14:28 +0200)
remove double slashes for symlink conversion from absolute to relative

dracut-functions

index a261ddd..61e10e8 100755 (executable)
@@ -82,6 +82,13 @@ print_vars() {
     done
 }
 
+normalize_path() {
+    p=$1
+    while [[ ${p#*//*} != $p ]]; do
+        p=${p/\/\///}
+    done
+    echo $p
+}
 
 convert_abs_rel() {
     local __current __absolute __abssize __cursize __i __level __newpath
@@ -92,11 +99,12 @@ convert_abs_rel() {
         echo "."
         return
     fi
-
+    __current=$(normalize_path "$1")
+    __absolute=$(normalize_path "$2")
     IFS="/"
 
-    __current=($1)
-    __absolute=($2)
+    __current=($__current)
+    __absolute=($__absolute)
 
     __abssize=${#__absolute[@]}
     __cursize=${#__current[@]}