Sophie

Sophie

distrib > Mageia > 6 > armv7hl > media > core-updates-src > by-pkgid > ba6278c51171d78979ada46ab21e6491 > files > 1

util-linux-2.28.2-2.1.mga6.src.rpm

From 75f03badd7ed9f1dd951863d75e756883d3acc55 Mon Sep 17 00:00:00 2001
From: Karel Zak <kzak@redhat.com>
Date: Thu, 16 Nov 2017 16:27:32 +0100
Subject: [PATCH] bash-completion: (umount) use findmnt, escape a space in
 paths

 # mount /dev/sdc1 /mnt/test/foo\ bar
 # umount <tab>

has to return "/mnt/test/foo\ bar".

Changes:

 * don't use mount | awk output, we have findmnt
 * force compgen use \n as entries separator

Addresses: https://github.com/karelzak/util-linux/issues/539
Signed-off-by: Karel Zak <kzak@redhat.com>
---
 bash-completion/umount | 9 +++++----
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/bash-completion/umount b/bash-completion/umount
index d76cb9fff..98c90d61a 100644
--- a/bash-completion/umount
+++ b/bash-completion/umount
@@ -40,9 +40,10 @@ _umount_module()
 			return 0
 			;;
 	esac
-	local DEVS_MPOINTS
-	DEVS_MPOINTS="$(mount | awk '{print $1, $3}')"
-	COMPREPLY=( $(compgen -W "$DEVS_MPOINTS" -- $cur) )
-	return 0
+
+	local oldifs=$IFS
+	IFS=$'\n'
+	COMPREPLY=( $( compgen -W '$(findmnt -lno TARGET | sed "s/\([[:blank:]]\)/\\\\\1/g")' -- "$cur" ) )
+	IFS=$oldifs
 }
 complete -F _umount_module umount
-- 
2.14.3