From a197741416048719a39f0de49b2bc5daa9db8ed0 Mon Sep 17 00:00:00 2001
From: Gautier Pelloux-Prayer
 <gautier.pelloux-prayer@belledonne-communications.com>
Date: Tue, 25 Nov 2014 16:59:08 +0100
Subject: [PATCH] Fix completions script when suites have spaces

---
 tester/liblinphone_completion | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/tester/liblinphone_completion b/tester/liblinphone_completion
index a168563330..c58cc42c1e 100644
--- a/tester/liblinphone_completion
+++ b/tester/liblinphone_completion
@@ -72,20 +72,20 @@ _liblinphone_complete() {
 		if [ $latest_is_empty = 0 ] && ! grep -q -- '^--' <<< "$latest_arg"; then
 			# echo "yes!$prev_arg $has_not_set_suite"
 			if [ "$prev_arg" = "--test" ] && [ $has_not_set_suite = 0 ]; then
-				suite_name=$(echo $@ | sed -nE 's/.*--suite ([^ ]*) .*/\1/p')
-				completions="$($program --list-tests "$suite_name" | grep "^$latest_arg")"
+				suite_name=$(echo $@ | sed -nE 's/.*--suite (.*) (--.*)$/\1/p' |sed "s@\\\\@@g")
+				completions="$($program --list-tests $suite_name | grep "^$latest_arg")"
 			elif [ "$prev_arg" = "--suite" ] || [ "$prev_arg" = "--list-tests" ]; then
 				completions="$($program --list-suites)"
 			fi
 		elif [ "$latest_arg" = "--test" ]; then
 			if [ $has_not_set_suite = 0 ]; then
-				suite_name=$(echo $@ | sed -nE 's/.*--suite (.*) .*/\1/p')
-				completions="$($program --list-tests "$suite_name")"
+				suite_name=$(echo $@ | sed -nE 's/.*--suite (.*) (--.*)$/\1/p' |sed "s@\\\\@@g")
+				completions="$($program --list-tests $suite_name)"
 			fi
 		elif [ "$latest_arg" = "--suite" ] || [ "$latest_arg" = "--list-tests" ]; then
 			completions="$($program --list-suites)"
 		# we are waiting for a custom value, so do not hint anything
-		elif grep -q -- "^$latest_arg$" <<< "$command_requiring_argument"; then
+		elif [[ ! -z "$latest_arg" ]] && grep -q -- "^$latest_arg$" <<< "$command_requiring_argument"; then
 			completions=""
 		else
 			completions="$available_tasks"
-- 
GitLab