From ce6447a9657d065b61dad2faffd49ec590fac683 Mon Sep 17 00:00:00 2001 From: spf13 Date: Tue, 3 Sep 2013 19:17:58 -0400 Subject: [PATCH] Properly swallowing flag error messages --- cobra.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/cobra.go b/cobra.go index 295d8329..64b47a8c 100644 --- a/cobra.go +++ b/cobra.go @@ -210,6 +210,9 @@ func (c *Command) HasParent() bool { func (c *Command) Flags() *flag.FlagSet { if c.flags == nil { c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } c.flags.SetOutput(c.flagErrorBuf) } return c.flags @@ -219,6 +222,9 @@ func (c *Command) Flags() *flag.FlagSet { func (c *Command) PersistentFlags() *flag.FlagSet { if c.pflags == nil { c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) + if c.flagErrorBuf == nil { + c.flagErrorBuf = new(bytes.Buffer) + } c.pflags.SetOutput(c.flagErrorBuf) } return c.flags @@ -226,6 +232,7 @@ func (c *Command) PersistentFlags() *flag.FlagSet { // Intended for use in testing func (c *Command) ResetFlags() { + c.flagErrorBuf = new(bytes.Buffer) c.flags = flag.NewFlagSet(c.Name(), flag.ContinueOnError) c.flags.SetOutput(c.flagErrorBuf) c.pflags = flag.NewFlagSet(c.Name(), flag.ContinueOnError)