fix: fix empty command name (#1106)
							parent
							
								
									ad99bf1801
								
							
						
					
					
						commit
						36fb9f562a
					
				| 
						 | 
				
			
			@ -2,7 +2,6 @@ package cmd
 | 
			
		|||
 | 
			
		||||
import (
 | 
			
		||||
	"fmt"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +31,7 @@ override the options.`,
 | 
			
		|||
		s := &settings.Settings{
 | 
			
		||||
			Key:        generateKey(),
 | 
			
		||||
			Signup:     mustGetBool(flags, "signup"),
 | 
			
		||||
			Shell:      strings.Split(strings.TrimSpace(mustGetString(flags, "shell")), " "),
 | 
			
		||||
			Shell:      convertCmdStrToCmdArray(mustGetString(flags, "shell")),
 | 
			
		||||
			AuthMethod: authMethod,
 | 
			
		||||
			Defaults:   defaults,
 | 
			
		||||
			Branding: settings.Branding{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,8 +1,6 @@
 | 
			
		|||
package cmd
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
	"github.com/spf13/pflag"
 | 
			
		||||
)
 | 
			
		||||
| 
						 | 
				
			
			@ -50,7 +48,7 @@ you want to change. Other options will remain unchanged.`,
 | 
			
		|||
			case "auth.method":
 | 
			
		||||
				hasAuth = true
 | 
			
		||||
			case "shell":
 | 
			
		||||
				set.Shell = strings.Split(strings.TrimSpace(mustGetString(flags, flag.Name)), " ")
 | 
			
		||||
				set.Shell = convertCmdStrToCmdArray(mustGetString(flags, flag.Name))
 | 
			
		||||
			case "branding.name":
 | 
			
		||||
				set.Branding.Name = mustGetString(flags, flag.Name)
 | 
			
		||||
			case "branding.disableExternal":
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										13
									
								
								cmd/utils.go
								
								
								
								
							
							
						
						
									
										13
									
								
								cmd/utils.go
								
								
								
								
							| 
						 | 
				
			
			@ -7,6 +7,7 @@ import (
 | 
			
		|||
	"log"
 | 
			
		||||
	"os"
 | 
			
		||||
	"path/filepath"
 | 
			
		||||
	"strings"
 | 
			
		||||
 | 
			
		||||
	"github.com/asdine/storm"
 | 
			
		||||
	"github.com/spf13/cobra"
 | 
			
		||||
| 
						 | 
				
			
			@ -178,3 +179,15 @@ func cleanUpMapValue(v interface{}) interface{} {
 | 
			
		|||
		return v
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// convertCmdStrToCmdArray checks if cmd string is blank (whitespace included)
 | 
			
		||||
// then returns empty string array, else returns the splitted word array of cmd.
 | 
			
		||||
// This is to ensure the result will never be []string{""}
 | 
			
		||||
func convertCmdStrToCmdArray(cmd string) []string {
 | 
			
		||||
	var cmdArray []string
 | 
			
		||||
	trimmedCmdStr := strings.TrimSpace(cmd)
 | 
			
		||||
	if trimmedCmdStr != "" {
 | 
			
		||||
		cmdArray = strings.Split(trimmedCmdStr, " ")
 | 
			
		||||
	}
 | 
			
		||||
	return cmdArray
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue