Only the first if statement (3 lines) includes the change.
The other changes to the file only make the indentation consistent.

Signed-off-by: Rok Strnisa <[email protected]>


# HG changeset patch
# User Rob Hoes <[email protected]>
# Date 1294419412 0
# Node ID ede19e107342daa6cef1ae67ece70a73eacc5c8c
# Parent  a2f59b3ad6f216c794847ab5d7af9bac77b2468f
CA-28853: CLI command returns an error on pressing Tab key --- FIXED.

Only the first if statement (3 lines) includes the change.
The other changes to the file only make the indentation consistent.

Signed-off-by: Rok Strnisa <[email protected]>

diff -r a2f59b3ad6f2 -r ede19e107342 ocaml/xe-cli/bash-completion
--- a/ocaml/xe-cli/bash-completion
+++ b/ocaml/xe-cli/bash-completion
@@ -6,19 +6,23 @@
 
 _xe()
 {
-        local IFS=$'\n,'
+       local IFS=$'\n,'
 
        local cur prev opts xe IFS
        COMPREPLY=()
+       # The following if statement is a fix for CA-28853. "cur=`_get_cword`" 
is used in newer scripts, but it somehow does not work.
+       if [[ $COMP_CWORD < 1 ]] ; then
+                       COMP_CWORD=$(( ${#comp_wor...@]} + 1))
+       fi
        cur="${COMP_WORDS[COMP_CWORD]}"
        prev="${COMP_WORDS[COMP_CWORD-1]}"
        xe=xe
-       
+
        if [[ $COMP_CWORD == 1 ]] ; then
-               opts=`${xe} help --minimal --all 2>/dev/null | sed -e 's/,/\ 
,/g' -e 's/$/\ /g'` && COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+               opts=`${xe} help --minimal --all 2>/dev/null | sed -e 's/,/\ 
,/g' -e 's/$/\ /g'` && COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
                return 0
        fi
-       
+
 # parameters are passed as param=value
 
        if echo ${COMP_WORDS[COMP_CWORD]} | grep "=" > /dev/null; then
@@ -28,7 +32,7 @@
                value=`echo ${COMP_WORDS[COMP_CWORD]} | cut -d= -f2`
 
                local vms args
-               
+
                case "$param" in
                        filename|file-name|license-file)
                                IFS=$'\n,'
@@ -44,38 +48,38 @@
                                return 0
                                ;;
 
-                       uuid)   
+                       uuid)
                                case "${COMP_WORDS[1]}" in
                                        diagnostic-vm-status) cmd=vm-list;;
                                        diagnostic-vdi-status) cmd=vdi-list;;
                                        *) cmd=`echo ${COMP_WORDS[1]} | awk -F- 
'/^host-cpu-/ || /^host-crashdump-/ { print $1 "-" $2 }
$0 !~ /^host-cpu-/ && $0 !~ /^host-crashdump-/ { print $1 }'`-list;;
                                esac
-                                IFS=$'\n,'
+                               IFS=$'\n,'
                                COMPREPLY=( $(compgen_names "$cmd" uuid 
"$value") )
                                return 1
                                ;;
                        vm)
-                                IFS=$'\n,'
-                                COMPREPLY=( $(compgen_names vm-list name-label 
"$value") )
+                               IFS=$'\n,'
+                               COMPREPLY=( $(compgen_names vm-list name-label 
"$value") )
                                return 0
                                ;;
 
                        host)
-                                IFS=$'\n,'
+                               IFS=$'\n,'
                                COMPREPLY=( $(compgen_names host-list 
name-label "$value") )
                                return 0
                                ;;
                        params)
-                                val=$(final_comma_separated_param "$value")
+                               val=$(final_comma_separated_param "$value")
                                class=`echo ${COMP_WORDS[1]} | cut -d- -f1`
                                params=`${xe} ${class}-list params=all 
2>/dev/null| cut -d: -f1 | sed -e s/\(.*\)//g -e s/^\ *//g -e s/\ *$//g`
-                                IFS=$'\n,'
+                               IFS=$'\n,'
                                COMPREPLY=( $(compgen -W "$params,all" -- 
"$val" ) )
                                return 0
                                ;;
                        template)
-                                IFS=$'\n,'
-                                COMPREPLY=( $(compgen_names template-list 
name-label "$value") )
+                               IFS=$'\n,'
+                               COMPREPLY=( $(compgen_names template-list 
name-label "$value") )
                                return 0
                                ;;
 
@@ -263,37 +267,37 @@
                elif [ "${isvcpusparams}" ]; then
                        extraargs=,$(for i in weight cap mask; do echo 
"VCPUs-params:$i="; done)
                elif [ "${vmselectors}" ]; then
-                  if [ "${param}" ] ; then
-                     extraargs=",vm=,"$(params "vm-list" | sed 's/params=//g')
-                  else
-                     extraargs=",vm="
-                  fi
+                       if [ "${param}" ] ; then
+                               extraargs=",vm=,"$(params "vm-list" | sed 
's/params=//g')
+                       else
+                               extraargs=",vm="
+                       fi
                elif [ "${hostselectors}" ]; then
-                  if [ "${param}" ] ; then
-                     extraargs=",host=,"$(params "host-list" | sed 
's/params=//g')
-                  else
-                     extraargs=",host="
-                  fi
+                       if [ "${param}" ] ; then
+                               extraargs=",host=,"$(params "host-list" | sed 
's/params=//g')
+                       else
+                               extraargs=",host="
+                       fi
                elif [ "${isvmppbackupschedule}" ]; then
-                  pfx=`echo ${isvmppbackupschedule} | cut -d ':' -f 1`
-                  COMPREPLY=( $(compgen -W 
"${pfx}:min=,${pfx}:hour=,${pfx}:days=" -- ${param}) )
-                   return 0
-                elif [ "${isvmpparchiveschedule}" ]; then
-                  pfx=`echo ${isvmpparchiveschedule} | cut -d ':' -f 1`
-                   COMPREPLY=( $(compgen -W 
"${pfx}:min=,${pfx}:hour=,${pfx}:days=" -- ${param}) )
-                   return 0
-                elif [ "${isvmpparchivetargetconfig}" ]; then
-                  pfx=`echo ${isvmpparchivetargetconfig} | cut -d ':' -f 1`
-                   COMPREPLY=( $(compgen -W 
"${pfx}:location=,${pfx}:username=,${pfx}:password=" -- ${param}) )
-                   return 0
-                elif [ "${isvmppalarmconfig}" ]; then
-                  pfx=`echo ${isvmppalarmconfig} | cut -d ':' -f 1`
-                   COMPREPLY=( $(compgen -W 
"${pfx}:smtp_server=,${pfx}:smtp_port=,${pfx}:email_address=" -- ${param}) )
-                   return 0
+                       pfx=`echo ${isvmppbackupschedule} | cut -d ':' -f 1`
+                       COMPREPLY=( $(compgen -W 
"${pfx}:min=,${pfx}:hour=,${pfx}:days=" -- ${param}) )
+                       return 0
+               elif [ "${isvmpparchiveschedule}" ]; then
+                       pfx=`echo ${isvmpparchiveschedule} | cut -d ':' -f 1`
+                       COMPREPLY=( $(compgen -W 
"${pfx}:min=,${pfx}:hour=,${pfx}:days=" -- ${param}) )
+                       return 0
+               elif [ "${isvmpparchivetargetconfig}" ]; then
+                       pfx=`echo ${isvmpparchivetargetconfig} | cut -d ':' -f 
1`
+                       COMPREPLY=( $(compgen -W 
"${pfx}:location=,${pfx}:username=,${pfx}:password=" -- ${param}) )
+                       return 0
+               elif [ "${isvmppalarmconfig}" ]; then
+                       pfx=`echo ${isvmppalarmconfig} | cut -d ':' -f 1`
+                       COMPREPLY=( $(compgen -W 
"${pfx}:smtp_server=,${pfx}:smtp_port=,${pfx}:email_address=" -- ${param}) )
+                       return 0
                else
-                  extraargs=""
+                       extraargs=""
                fi
-                IFS=$'\n,'
+               IFS=$'\n,'
                COMPREPLY=( $(compgen_params "${COMP_WORDS[1]}" "$extraargs" 
"$param") )
                return 0
        fi
@@ -304,40 +308,40 @@
 #
 final_comma_separated_param()
 {
-  if expr "$1" : ".*," >/dev/null
-  then
-      old_ifs="$IFS"
-      bits=$(echo "$1" | sed -e 's#^\(.*\),\([^,]*\)$#\1%\2#g')
-      IFS=%
-      bits=($bits)
-      echo "${bits[1]}"
-      IFS="$old_ifs"
-  else
-      echo "$1"
-  fi
+       if expr "$1" : ".*," >/dev/null
+       then
+               old_ifs="$IFS"
+               bits=$(echo "$1" | sed -e 's#^\(.*\),\([^,]*\)$#\1%\2#g')
+               IFS=%
+               bits=($bits)
+               echo "${bits[1]}"
+               IFS="$old_ifs"
+       else
+               echo "$1"
+       fi
 }
 
 compgen_names()
 {
-  local vals=$("$xe" "$1" --minimal params="$2" 2>/dev/null | sed -e 
"s,',$MAGIC_SQUOTE,g" -e "s,\",$MAGIC_DQUOTE,g")
-  compgen_escape "$vals" "$3"
+       local vals=$("$xe" "$1" --minimal params="$2" 2>/dev/null | sed -e 
"s,',$MAGIC_SQUOTE,g" -e "s,\",$MAGIC_DQUOTE,g")
+       compgen_escape "$vals" "$3"
 }
 
 compgen_escape()
 {
-  local v=$(echo "$2" | sed -e "s,',$MAGIC_SQUOTE,g" -e "s,\",$MAGIC_DQUOTE,g")
-  compgen -W "$1" -- "$v" | sed -e 's, ,\\ ,g' -e 's,(,\\(,g' -e 's,),\\),g' 
-e 's,$, ,g' -e 's,|,\\|,g' -e "s,$MAGIC_SQUOTE,\\\',g" -e 
"s,$MAGIC_DQUOTE,\\\\\",g"
+       local v=$(echo "$2" | sed -e "s,',$MAGIC_SQUOTE,g" -e 
"s,\",$MAGIC_DQUOTE,g")
+       compgen -W "$1" -- "$v" | sed -e 's, ,\\ ,g' -e 's,(,\\(,g' -e 
's,),\\),g' -e 's,$, ,g' -e 's,|,\\|,g' -e "s,$MAGIC_SQUOTE,\\\',g" -e 
"s,$MAGIC_DQUOTE,\\\\\",g"
 }
 
 params()
 {
-    "$xe" help "$1" 2>/dev/null | grep '^[^:]*params' | cut -d: -f2- | egrep 
-v "^ $" | cut -c 2- | sed -e 's/,/=,/g' -e 's/$/=/g' -e 's/:=/:/g' -e 
's/-=/-/g' -e 's/ //g'
+       "$xe" help "$1" 2>/dev/null | grep '^[^:]*params' | cut -d: -f2- | 
egrep -v "^ $" | cut -c 2- | sed -e 's/,/=,/g' -e 's/$/=/g' -e 's/:=/:/g' -e 
's/-=/-/g' -e 's/ //g'
 }
 
 compgen_params()
 {
-  local v=$(params "$1" | sed -e 's/<vm-selectors>=//g' -e 
's/<host-selectors>=//g')
-  compgen -o nospace -W "$v$2" -- "$3"
+       local v=$(params "$1" | sed -e 's/<vm-selectors>=//g' -e 
's/<host-selectors>=//g')
+       compgen -o nospace -W "$v$2" -- "$3"
 }
 
 complete -F _xe -o nospace xe
# HG changeset patch
# User Rob Hoes <[email protected]>
# Date 1294419412 0
# Node ID ede19e107342daa6cef1ae67ece70a73eacc5c8c
# Parent  a2f59b3ad6f216c794847ab5d7af9bac77b2468f
CA-28853: CLI command returns an error on pressing Tab key --- FIXED.

Only the first if statement (3 lines) includes the change.
The other changes to the file only make the indentation consistent.

Signed-off-by: Rok Strnisa <[email protected]>

diff -r a2f59b3ad6f2 -r ede19e107342 ocaml/xe-cli/bash-completion
--- a/ocaml/xe-cli/bash-completion
+++ b/ocaml/xe-cli/bash-completion
@@ -6,19 +6,23 @@
 
 _xe()
 {
-        local IFS=$'\n,'
+	local IFS=$'\n,'
 
 	local cur prev opts xe IFS
 	COMPREPLY=()
+	# The following if statement is a fix for CA-28853. "cur=`_get_cword`" is used in newer scripts, but it somehow does not work.
+	if [[ $COMP_CWORD < 1 ]] ; then
+			COMP_CWORD=$(( ${#comp_wor...@]} + 1))
+	fi
 	cur="${COMP_WORDS[COMP_CWORD]}"
 	prev="${COMP_WORDS[COMP_CWORD-1]}"
 	xe=xe
-	
+
 	if [[ $COMP_CWORD == 1 ]] ; then
-	        opts=`${xe} help --minimal --all 2>/dev/null | sed -e 's/,/\ ,/g' -e 's/$/\ /g'` && COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
+		opts=`${xe} help --minimal --all 2>/dev/null | sed -e 's/,/\ ,/g' -e 's/$/\ /g'` && COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
 		return 0
 	fi
-	
+
 # parameters are passed as param=value
 
 	if echo ${COMP_WORDS[COMP_CWORD]} | grep "=" > /dev/null; then
@@ -28,7 +32,7 @@
 		value=`echo ${COMP_WORDS[COMP_CWORD]} | cut -d= -f2`
 
 		local vms args
-		
+
 		case "$param" in
 			filename|file-name|license-file)
 				IFS=$'\n,'
@@ -44,38 +48,38 @@
 				return 0
 				;;
 
-		        uuid)   
+			uuid)
 				case "${COMP_WORDS[1]}" in
 					diagnostic-vm-status) cmd=vm-list;;
 					diagnostic-vdi-status) cmd=vdi-list;;
 					*) cmd=`echo ${COMP_WORDS[1]} | awk -F- '/^host-cpu-/ || /^host-crashdump-/ { print $1 "-" $2 }
$0 !~ /^host-cpu-/ && $0 !~ /^host-crashdump-/ { print $1 }'`-list;;
 				esac
-                                IFS=$'\n,'
+				IFS=$'\n,'
 				COMPREPLY=( $(compgen_names "$cmd" uuid "$value") )
 				return 1
 				;;
 			vm)
-                                IFS=$'\n,'
-                                COMPREPLY=( $(compgen_names vm-list name-label "$value") )
+				IFS=$'\n,'
+				COMPREPLY=( $(compgen_names vm-list name-label "$value") )
 				return 0
 				;;
 
 			host)
-                                IFS=$'\n,'
+				IFS=$'\n,'
 				COMPREPLY=( $(compgen_names host-list name-label "$value") )
 				return 0
 				;;
 			params)
-                                val=$(final_comma_separated_param "$value")
+				val=$(final_comma_separated_param "$value")
 				class=`echo ${COMP_WORDS[1]} | cut -d- -f1`
 				params=`${xe} ${class}-list params=all 2>/dev/null| cut -d: -f1 | sed -e s/\(.*\)//g -e s/^\ *//g -e s/\ *$//g`
-                                IFS=$'\n,'
+				IFS=$'\n,'
 				COMPREPLY=( $(compgen -W "$params,all" -- "$val" ) )
 				return 0
 				;;
 			template)
-                                IFS=$'\n,'
-                                COMPREPLY=( $(compgen_names template-list name-label "$value") )
+				IFS=$'\n,'
+				COMPREPLY=( $(compgen_names template-list name-label "$value") )
 				return 0
 				;;
 
@@ -263,37 +267,37 @@
 		elif [ "${isvcpusparams}" ]; then
 			extraargs=,$(for i in weight cap mask; do echo "VCPUs-params:$i="; done)
 		elif [ "${vmselectors}" ]; then
-		   if [ "${param}" ] ; then
-		      extraargs=",vm=,"$(params "vm-list" | sed 's/params=//g')
-		   else
-		      extraargs=",vm="
-		   fi
+			if [ "${param}" ] ; then
+				extraargs=",vm=,"$(params "vm-list" | sed 's/params=//g')
+			else
+				extraargs=",vm="
+			fi
 		elif [ "${hostselectors}" ]; then
-		   if [ "${param}" ] ; then
-		      extraargs=",host=,"$(params "host-list" | sed 's/params=//g')
-		   else
-		      extraargs=",host="
-		   fi
+			if [ "${param}" ] ; then
+				extraargs=",host=,"$(params "host-list" | sed 's/params=//g')
+			else
+				extraargs=",host="
+			fi
 		elif [ "${isvmppbackupschedule}" ]; then
-		   pfx=`echo ${isvmppbackupschedule} | cut -d ':' -f 1`
-		   COMPREPLY=( $(compgen -W "${pfx}:min=,${pfx}:hour=,${pfx}:days=" -- ${param}) )
-                   return 0
-                elif [ "${isvmpparchiveschedule}" ]; then
-		   pfx=`echo ${isvmpparchiveschedule} | cut -d ':' -f 1`
-                   COMPREPLY=( $(compgen -W "${pfx}:min=,${pfx}:hour=,${pfx}:days=" -- ${param}) )
-                   return 0
-                elif [ "${isvmpparchivetargetconfig}" ]; then
-		   pfx=`echo ${isvmpparchivetargetconfig} | cut -d ':' -f 1`
-                   COMPREPLY=( $(compgen -W "${pfx}:location=,${pfx}:username=,${pfx}:password=" -- ${param}) )
-                   return 0
-                elif [ "${isvmppalarmconfig}" ]; then
-		   pfx=`echo ${isvmppalarmconfig} | cut -d ':' -f 1`
-                   COMPREPLY=( $(compgen -W "${pfx}:smtp_server=,${pfx}:smtp_port=,${pfx}:email_address=" -- ${param}) )
-                   return 0
+			pfx=`echo ${isvmppbackupschedule} | cut -d ':' -f 1`
+			COMPREPLY=( $(compgen -W "${pfx}:min=,${pfx}:hour=,${pfx}:days=" -- ${param}) )
+			return 0
+		elif [ "${isvmpparchiveschedule}" ]; then
+			pfx=`echo ${isvmpparchiveschedule} | cut -d ':' -f 1`
+			COMPREPLY=( $(compgen -W "${pfx}:min=,${pfx}:hour=,${pfx}:days=" -- ${param}) )
+			return 0
+		elif [ "${isvmpparchivetargetconfig}" ]; then
+			pfx=`echo ${isvmpparchivetargetconfig} | cut -d ':' -f 1`
+			COMPREPLY=( $(compgen -W "${pfx}:location=,${pfx}:username=,${pfx}:password=" -- ${param}) )
+			return 0
+		elif [ "${isvmppalarmconfig}" ]; then
+			pfx=`echo ${isvmppalarmconfig} | cut -d ':' -f 1`
+			COMPREPLY=( $(compgen -W "${pfx}:smtp_server=,${pfx}:smtp_port=,${pfx}:email_address=" -- ${param}) )
+			return 0
 		else
-   		   extraargs=""
+			extraargs=""
 		fi
-                IFS=$'\n,'
+		IFS=$'\n,'
 		COMPREPLY=( $(compgen_params "${COMP_WORDS[1]}" "$extraargs" "$param") )
 		return 0
 	fi
@@ -304,40 +308,40 @@
 #
 final_comma_separated_param()
 {
-  if expr "$1" : ".*," >/dev/null
-  then
-      old_ifs="$IFS"
-      bits=$(echo "$1" | sed -e 's#^\(.*\),\([^,]*\)$#\1%\2#g')
-      IFS=%
-      bits=($bits)
-      echo "${bits[1]}"
-      IFS="$old_ifs"
-  else
-      echo "$1"
-  fi
+	if expr "$1" : ".*," >/dev/null
+	then
+		old_ifs="$IFS"
+		bits=$(echo "$1" | sed -e 's#^\(.*\),\([^,]*\)$#\1%\2#g')
+		IFS=%
+		bits=($bits)
+		echo "${bits[1]}"
+		IFS="$old_ifs"
+	else
+		echo "$1"
+	fi
 }
 
 compgen_names()
 {
-  local vals=$("$xe" "$1" --minimal params="$2" 2>/dev/null | sed -e "s,',$MAGIC_SQUOTE,g" -e "s,\",$MAGIC_DQUOTE,g")
-  compgen_escape "$vals" "$3"
+	local vals=$("$xe" "$1" --minimal params="$2" 2>/dev/null | sed -e "s,',$MAGIC_SQUOTE,g" -e "s,\",$MAGIC_DQUOTE,g")
+	compgen_escape "$vals" "$3"
 }
 
 compgen_escape()
 {
-  local v=$(echo "$2" | sed -e "s,',$MAGIC_SQUOTE,g" -e "s,\",$MAGIC_DQUOTE,g")
-  compgen -W "$1" -- "$v" | sed -e 's, ,\\ ,g' -e 's,(,\\(,g' -e 's,),\\),g' -e 's,$, ,g' -e 's,|,\\|,g' -e "s,$MAGIC_SQUOTE,\\\',g" -e "s,$MAGIC_DQUOTE,\\\\\",g"
+	local v=$(echo "$2" | sed -e "s,',$MAGIC_SQUOTE,g" -e "s,\",$MAGIC_DQUOTE,g")
+	compgen -W "$1" -- "$v" | sed -e 's, ,\\ ,g' -e 's,(,\\(,g' -e 's,),\\),g' -e 's,$, ,g' -e 's,|,\\|,g' -e "s,$MAGIC_SQUOTE,\\\',g" -e "s,$MAGIC_DQUOTE,\\\\\",g"
 }
 
 params()
 {
-    "$xe" help "$1" 2>/dev/null | grep '^[^:]*params' | cut -d: -f2- | egrep -v "^ $" | cut -c 2- | sed -e 's/,/=,/g' -e 's/$/=/g' -e 's/:=/:/g' -e 's/-=/-/g' -e 's/ //g'
+	"$xe" help "$1" 2>/dev/null | grep '^[^:]*params' | cut -d: -f2- | egrep -v "^ $" | cut -c 2- | sed -e 's/,/=,/g' -e 's/$/=/g' -e 's/:=/:/g' -e 's/-=/-/g' -e 's/ //g'
 }
 
 compgen_params()
 {
-  local v=$(params "$1" | sed -e 's/<vm-selectors>=//g' -e 's/<host-selectors>=//g')
-  compgen -o nospace -W "$v$2" -- "$3"
+	local v=$(params "$1" | sed -e 's/<vm-selectors>=//g' -e 's/<host-selectors>=//g')
+	compgen -o nospace -W "$v$2" -- "$3"
 }
 
 complete -F _xe -o nospace xe
_______________________________________________
xen-api mailing list
[email protected]
http://lists.xensource.com/mailman/listinfo/xen-api

Reply via email to