http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/flag.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/flag.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/flag.go
deleted file mode 100644
index deac3af..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/flag.go
+++ /dev/null
@@ -1,920 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-/*
-Package pflag is a drop-in replacement for Go's flag package, implementing
-POSIX/GNU-style --flags.
-
-pflag is compatible with the GNU extensions to the POSIX recommendations
-for command-line options. See
-http://www.gnu.org/software/libc/manual/html_node/Argument-Syntax.html
-
-Usage:
-
-pflag is a drop-in replacement of Go's native flag package. If you import
-pflag under the name "flag" then all code should continue to function
-with no changes.
-
-       import flag "github.com/ogier/pflag"
-
-       There is one exception to this: if you directly instantiate the Flag 
struct
-there is one more field "Shorthand" that you will need to set.
-Most code never instantiates this struct directly, and instead uses
-functions such as String(), BoolVar(), and Var(), and is therefore
-unaffected.
-
-Define flags using flag.String(), Bool(), Int(), etc.
-
-This declares an integer flag, -flagname, stored in the pointer ip, with type 
*int.
-       var ip = flag.Int("flagname", 1234, "help message for flagname")
-If you like, you can bind the flag to a variable using the Var() functions.
-       var flagvar int
-       func init() {
-               flag.IntVar(&flagvar, "flagname", 1234, "help message for 
flagname")
-       }
-Or you can create custom flags that satisfy the Value interface (with
-pointer receivers) and couple them to flag parsing by
-       flag.Var(&flagVal, "name", "help message for flagname")
-For such flags, the default value is just the initial value of the variable.
-
-After all flags are defined, call
-       flag.Parse()
-to parse the command line into the defined flags.
-
-Flags may then be used directly. If you're using the flags themselves,
-they are all pointers; if you bind to variables, they're values.
-       fmt.Println("ip has value ", *ip)
-       fmt.Println("flagvar has value ", flagvar)
-
-After parsing, the arguments after the flag are available as the
-slice flag.Args() or individually as flag.Arg(i).
-The arguments are indexed from 0 through flag.NArg()-1.
-
-The pflag package also defines some new functions that are not in flag,
-that give one-letter shorthands for flags. You can use these by appending
-'P' to the name of any function that defines a flag.
-       var ip = flag.IntP("flagname", "f", 1234, "help message")
-       var flagvar bool
-       func init() {
-               flag.BoolVarP("boolname", "b", true, "help message")
-       }
-       flag.VarP(&flagVar, "varname", "v", 1234, "help message")
-Shorthand letters can be used with single dashes on the command line.
-Boolean shorthand flags can be combined with other shorthand flags.
-
-Command line flag syntax:
-       --flag    // boolean flags only
-       --flag=x
-
-Unlike the flag package, a single dash before an option means something
-different than a double dash. Single dashes signify a series of shorthand
-letters for flags. All but the last shorthand letter must be boolean flags.
-       // boolean flags
-       -f
-       -abc
-       // non-boolean flags
-       -n 1234
-       -Ifile
-       // mixed
-       -abcs "hello"
-       -abcn1234
-
-Flag parsing stops after the terminator "--". Unlike the flag package,
-flags can be interspersed with arguments anywhere on the command line
-before this terminator.
-
-Integer flags accept 1234, 0664, 0x1234 and may be negative.
-Boolean flags (in their long form) accept 1, 0, t, f, true, false,
-TRUE, FALSE, True, False.
-Duration flags accept any input valid for time.ParseDuration.
-
-The default set of command-line flags is controlled by
-top-level functions.  The FlagSet type allows one to define
-independent sets of flags, such as to implement subcommands
-in a command-line interface. The methods of FlagSet are
-analogous to the top-level functions for the command-line
-flag set.
-*/
-package pflag
-
-import (
-       "bytes"
-       "errors"
-       "fmt"
-       "io"
-       "os"
-       "sort"
-       "strings"
-)
-
-// ErrHelp is the error returned if the flag -help is invoked but no such flag 
is defined.
-var ErrHelp = errors.New("pflag: help requested")
-
-// ErrorHandling defines how to handle flag parsing errors.
-type ErrorHandling int
-
-const (
-       // ContinueOnError will return an err from Parse() if an error is found
-       ContinueOnError ErrorHandling = iota
-       // ExitOnError will call os.Exit(2) if an error is found when parsing
-       ExitOnError
-       // PanicOnError will panic() if an error is found when parsing flags
-       PanicOnError
-)
-
-// NormalizedName is a flag name that has been normalized according to rules
-// for the FlagSet (e.g. making '-' and '_' equivalent).
-type NormalizedName string
-
-// A FlagSet represents a set of defined flags.
-type FlagSet struct {
-       // Usage is the function called when an error occurs while parsing 
flags.
-       // The field is a function (not a method) that may be changed to point 
to
-       // a custom error handler.
-       Usage func()
-
-       name              string
-       parsed            bool
-       actual            map[NormalizedName]*Flag
-       formal            map[NormalizedName]*Flag
-       shorthands        map[byte]*Flag
-       args              []string // arguments after flags
-       argsLenAtDash     int      // len(args) when a '--' was located when 
parsing, or -1 if no --
-       exitOnError       bool     // does the program exit if there's an error?
-       errorHandling     ErrorHandling
-       output            io.Writer // nil means stderr; use out() accessor
-       interspersed      bool      // allow interspersed option/non-option args
-       normalizeNameFunc func(f *FlagSet, name string) NormalizedName
-}
-
-// A Flag represents the state of a flag.
-type Flag struct {
-       Name                string              // name as it appears on 
command line
-       Shorthand           string              // one-letter abbreviated flag
-       Usage               string              // help message
-       Value               Value               // value as set
-       DefValue            string              // default value (as text); for 
usage message
-       Changed             bool                // If the user set the value 
(or if left to default)
-       NoOptDefVal         string              //default value (as text); if 
the flag is on the command line without any options
-       Deprecated          string              // If this flag is deprecated, 
this string is the new or now thing to use
-       Hidden              bool                // used by cobra.Command to 
allow flags to be hidden from help/usage text
-       ShorthandDeprecated string              // If the shorthand of this 
flag is deprecated, this string is the new or now thing to use
-       Annotations         map[string][]string // used by cobra.Command bash 
autocomple code
-}
-
-// Value is the interface to the dynamic value stored in a flag.
-// (The default value is represented as a string.)
-type Value interface {
-       String() string
-       Set(string) error
-       Type() string
-}
-
-// sortFlags returns the flags as a slice in lexicographical sorted order.
-func sortFlags(flags map[NormalizedName]*Flag) []*Flag {
-       list := make(sort.StringSlice, len(flags))
-       i := 0
-       for k := range flags {
-               list[i] = string(k)
-               i++
-       }
-       list.Sort()
-       result := make([]*Flag, len(list))
-       for i, name := range list {
-               result[i] = flags[NormalizedName(name)]
-       }
-       return result
-}
-
-// SetNormalizeFunc allows you to add a function which can translate flag 
names.
-// Flags added to the FlagSet will be translated and then when anything tries 
to
-// look up the flag that will also be translated. So it would be possible to 
create
-// a flag named "getURL" and have it translated to "geturl".  A user could 
then pass
-// "--getUrl" which may also be translated to "geturl" and everything will 
work.
-func (f *FlagSet) SetNormalizeFunc(n func(f *FlagSet, name string) 
NormalizedName) {
-       f.normalizeNameFunc = n
-       for k, v := range f.formal {
-               delete(f.formal, k)
-               nname := f.normalizeFlagName(string(k))
-               f.formal[nname] = v
-               v.Name = string(nname)
-       }
-}
-
-// GetNormalizeFunc returns the previously set NormalizeFunc of a function 
which
-// does no translation, if not set previously.
-func (f *FlagSet) GetNormalizeFunc() func(f *FlagSet, name string) 
NormalizedName {
-       if f.normalizeNameFunc != nil {
-               return f.normalizeNameFunc
-       }
-       return func(f *FlagSet, name string) NormalizedName { return 
NormalizedName(name) }
-}
-
-func (f *FlagSet) normalizeFlagName(name string) NormalizedName {
-       n := f.GetNormalizeFunc()
-       return n(f, name)
-}
-
-func (f *FlagSet) out() io.Writer {
-       if f.output == nil {
-               return os.Stderr
-       }
-       return f.output
-}
-
-// SetOutput sets the destination for usage and error messages.
-// If output is nil, os.Stderr is used.
-func (f *FlagSet) SetOutput(output io.Writer) {
-       f.output = output
-}
-
-// VisitAll visits the flags in lexicographical order, calling fn for each.
-// It visits all flags, even those not set.
-func (f *FlagSet) VisitAll(fn func(*Flag)) {
-       for _, flag := range sortFlags(f.formal) {
-               fn(flag)
-       }
-}
-
-// HasFlags returns a bool to indicate if the FlagSet has any flags definied.
-func (f *FlagSet) HasFlags() bool {
-       return len(f.formal) > 0
-}
-
-// VisitAll visits the command-line flags in lexicographical order, calling
-// fn for each.  It visits all flags, even those not set.
-func VisitAll(fn func(*Flag)) {
-       CommandLine.VisitAll(fn)
-}
-
-// Visit visits the flags in lexicographical order, calling fn for each.
-// It visits only those flags that have been set.
-func (f *FlagSet) Visit(fn func(*Flag)) {
-       for _, flag := range sortFlags(f.actual) {
-               fn(flag)
-       }
-}
-
-// Visit visits the command-line flags in lexicographical order, calling fn
-// for each.  It visits only those flags that have been set.
-func Visit(fn func(*Flag)) {
-       CommandLine.Visit(fn)
-}
-
-// Lookup returns the Flag structure of the named flag, returning nil if none 
exists.
-func (f *FlagSet) Lookup(name string) *Flag {
-       return f.lookup(f.normalizeFlagName(name))
-}
-
-// lookup returns the Flag structure of the named flag, returning nil if none 
exists.
-func (f *FlagSet) lookup(name NormalizedName) *Flag {
-       return f.formal[name]
-}
-
-// func to return a given type for a given flag name
-func (f *FlagSet) getFlagType(name string, ftype string, convFunc func(sval 
string) (interface{}, error)) (interface{}, error) {
-       flag := f.Lookup(name)
-       if flag == nil {
-               err := fmt.Errorf("flag accessed but not defined: %s", name)
-               return nil, err
-       }
-
-       if flag.Value.Type() != ftype {
-               err := fmt.Errorf("trying to get %s value of flag of type %s", 
ftype, flag.Value.Type())
-               return nil, err
-       }
-
-       sval := flag.Value.String()
-       result, err := convFunc(sval)
-       if err != nil {
-               return nil, err
-       }
-       return result, nil
-}
-
-// ArgsLenAtDash will return the length of f.Args at the moment when a -- was
-// found during arg parsing. This allows your program to know which args were
-// before the -- and which came after.
-func (f *FlagSet) ArgsLenAtDash() int {
-       return f.argsLenAtDash
-}
-
-// MarkDeprecated indicated that a flag is deprecated in your program. It will
-// continue to function but will not show up in help or usage messages. Using
-// this flag will also print the given usageMessage.
-func (f *FlagSet) MarkDeprecated(name string, usageMessage string) error {
-       flag := f.Lookup(name)
-       if flag == nil {
-               return fmt.Errorf("flag %q does not exist", name)
-       }
-       if len(usageMessage) == 0 {
-               return fmt.Errorf("deprecated message for flag %q must be set", 
name)
-       }
-       flag.Deprecated = usageMessage
-       return nil
-}
-
-// MarkShorthandDeprecated will mark the shorthand of a flag deprecated in your
-// program. It will continue to function but will not show up in help or usage
-// messages. Using this flag will also print the given usageMessage.
-func (f *FlagSet) MarkShorthandDeprecated(name string, usageMessage string) 
error {
-       flag := f.Lookup(name)
-       if flag == nil {
-               return fmt.Errorf("flag %q does not exist", name)
-       }
-       if len(usageMessage) == 0 {
-               return fmt.Errorf("deprecated message for flag %q must be set", 
name)
-       }
-       flag.ShorthandDeprecated = usageMessage
-       return nil
-}
-
-// MarkHidden sets a flag to 'hidden' in your program. It will continue to
-// function but will not show up in help or usage messages.
-func (f *FlagSet) MarkHidden(name string) error {
-       flag := f.Lookup(name)
-       if flag == nil {
-               return fmt.Errorf("flag %q does not exist", name)
-       }
-       flag.Hidden = true
-       return nil
-}
-
-// Lookup returns the Flag structure of the named command-line flag,
-// returning nil if none exists.
-func Lookup(name string) *Flag {
-       return CommandLine.Lookup(name)
-}
-
-// Set sets the value of the named flag.
-func (f *FlagSet) Set(name, value string) error {
-       normalName := f.normalizeFlagName(name)
-       flag, ok := f.formal[normalName]
-       if !ok {
-               return fmt.Errorf("no such flag -%v", name)
-       }
-       err := flag.Value.Set(value)
-       if err != nil {
-               return err
-       }
-       if f.actual == nil {
-               f.actual = make(map[NormalizedName]*Flag)
-       }
-       f.actual[normalName] = flag
-       flag.Changed = true
-       if len(flag.Deprecated) > 0 {
-               fmt.Fprintf(os.Stderr, "Flag --%s has been deprecated, %s\n", 
flag.Name, flag.Deprecated)
-       }
-       return nil
-}
-
-// SetAnnotation allows one to set arbitrary annotations on a flag in the 
FlagSet.
-// This is sometimes used by spf13/cobra programs which want to generate 
additional
-// bash completion information.
-func (f *FlagSet) SetAnnotation(name, key string, values []string) error {
-       normalName := f.normalizeFlagName(name)
-       flag, ok := f.formal[normalName]
-       if !ok {
-               return fmt.Errorf("no such flag -%v", name)
-       }
-       if flag.Annotations == nil {
-               flag.Annotations = map[string][]string{}
-       }
-       flag.Annotations[key] = values
-       return nil
-}
-
-// Changed returns true if the flag was explicitly set during Parse() and false
-// otherwise
-func (f *FlagSet) Changed(name string) bool {
-       flag := f.Lookup(name)
-       // If a flag doesn't exist, it wasn't changed....
-       if flag == nil {
-               return false
-       }
-       return flag.Changed
-}
-
-// Set sets the value of the named command-line flag.
-func Set(name, value string) error {
-       return CommandLine.Set(name, value)
-}
-
-// PrintDefaults prints, to standard error unless configured
-// otherwise, the default values of all defined flags in the set.
-func (f *FlagSet) PrintDefaults() {
-       usages := f.FlagUsages()
-       fmt.Fprintf(f.out(), "%s", usages)
-}
-
-// isZeroValue guesses whether the string represents the zero
-// value for a flag. It is not accurate but in practice works OK.
-func isZeroValue(value string) bool {
-       switch value {
-       case "false":
-               return true
-       case "<nil>":
-               return true
-       case "":
-               return true
-       case "0":
-               return true
-       }
-       return false
-}
-
-// UnquoteUsage extracts a back-quoted name from the usage
-// string for a flag and returns it and the un-quoted usage.
-// Given "a `name` to show" it returns ("name", "a name to show").
-// If there are no back quotes, the name is an educated guess of the
-// type of the flag's value, or the empty string if the flag is boolean.
-func UnquoteUsage(flag *Flag) (name string, usage string) {
-       // Look for a back-quoted name, but avoid the strings package.
-       usage = flag.Usage
-       for i := 0; i < len(usage); i++ {
-               if usage[i] == '`' {
-                       for j := i + 1; j < len(usage); j++ {
-                               if usage[j] == '`' {
-                                       name = usage[i+1 : j]
-                                       usage = usage[:i] + name + usage[j+1:]
-                                       return name, usage
-                               }
-                       }
-                       break // Only one back quote; use type name.
-               }
-       }
-       // No explicit name, so use type if we can find one.
-       name = "value"
-       switch flag.Value.(type) {
-       case boolFlag:
-               name = ""
-       case *durationValue:
-               name = "duration"
-       case *float64Value:
-               name = "float"
-       case *intValue, *int64Value:
-               name = "int"
-       case *stringValue:
-               name = "string"
-       case *uintValue, *uint64Value:
-               name = "uint"
-       }
-       return
-}
-
-// FlagUsages Returns a string containing the usage information for all flags 
in
-// the FlagSet
-func (f *FlagSet) FlagUsages() string {
-       x := new(bytes.Buffer)
-
-       lines := make([]string, 0, len(f.formal))
-
-       maxlen := 0
-       f.VisitAll(func(flag *Flag) {
-               if len(flag.Deprecated) > 0 || flag.Hidden {
-                       return
-               }
-
-               line := ""
-               if len(flag.Shorthand) > 0 && len(flag.ShorthandDeprecated) == 
0 {
-                       line = fmt.Sprintf("  -%s, --%s", flag.Shorthand, 
flag.Name)
-               } else {
-                       line = fmt.Sprintf("      --%s", flag.Name)
-               }
-
-               varname, usage := UnquoteUsage(flag)
-               if len(varname) > 0 {
-                       line += " " + varname
-               }
-               if len(flag.NoOptDefVal) > 0 {
-                       switch flag.Value.Type() {
-                       case "string":
-                               line += fmt.Sprintf("[=%q]", flag.NoOptDefVal)
-                       case "bool":
-                               if flag.NoOptDefVal != "true" {
-                                       line += fmt.Sprintf("[=%s]", 
flag.NoOptDefVal)
-                               }
-                       default:
-                               line += fmt.Sprintf("[=%s]", flag.NoOptDefVal)
-                       }
-               }
-
-               // This special character will be replaced with spacing once the
-               // correct alignment is calculated
-               line += "\x00"
-               if len(line) > maxlen {
-                       maxlen = len(line)
-               }
-
-               line += usage
-               if !isZeroValue(flag.DefValue) {
-                       if flag.Value.Type() == "string" {
-                               line += fmt.Sprintf(" (default %q)", 
flag.DefValue)
-                       } else {
-                               line += fmt.Sprintf(" (default %s)", 
flag.DefValue)
-                       }
-               }
-
-               lines = append(lines, line)
-       })
-
-       for _, line := range lines {
-               sidx := strings.Index(line, "\x00")
-               spacing := strings.Repeat(" ", maxlen-sidx)
-               fmt.Fprintln(x, line[:sidx], spacing, line[sidx+1:])
-       }
-
-       return x.String()
-}
-
-// PrintDefaults prints to standard error the default values of all defined 
command-line flags.
-func PrintDefaults() {
-       CommandLine.PrintDefaults()
-}
-
-// defaultUsage is the default function to print a usage message.
-func defaultUsage(f *FlagSet) {
-       fmt.Fprintf(f.out(), "Usage of %s:\n", f.name)
-       f.PrintDefaults()
-}
-
-// NOTE: Usage is not just defaultUsage(CommandLine)
-// because it serves (via godoc flag Usage) as the example
-// for how to write your own usage function.
-
-// Usage prints to standard error a usage message documenting all defined 
command-line flags.
-// The function is a variable that may be changed to point to a custom 
function.
-// By default it prints a simple header and calls PrintDefaults; for details 
about the
-// format of the output and how to control it, see the documentation for 
PrintDefaults.
-var Usage = func() {
-       fmt.Fprintf(os.Stderr, "Usage of %s:\n", os.Args[0])
-       PrintDefaults()
-}
-
-// NFlag returns the number of flags that have been set.
-func (f *FlagSet) NFlag() int { return len(f.actual) }
-
-// NFlag returns the number of command-line flags that have been set.
-func NFlag() int { return len(CommandLine.actual) }
-
-// Arg returns the i'th argument.  Arg(0) is the first remaining argument
-// after flags have been processed.
-func (f *FlagSet) Arg(i int) string {
-       if i < 0 || i >= len(f.args) {
-               return ""
-       }
-       return f.args[i]
-}
-
-// Arg returns the i'th command-line argument.  Arg(0) is the first remaining 
argument
-// after flags have been processed.
-func Arg(i int) string {
-       return CommandLine.Arg(i)
-}
-
-// NArg is the number of arguments remaining after flags have been processed.
-func (f *FlagSet) NArg() int { return len(f.args) }
-
-// NArg is the number of arguments remaining after flags have been processed.
-func NArg() int { return len(CommandLine.args) }
-
-// Args returns the non-flag arguments.
-func (f *FlagSet) Args() []string { return f.args }
-
-// Args returns the non-flag command-line arguments.
-func Args() []string { return CommandLine.args }
-
-// Var defines a flag with the specified name and usage string. The type and
-// value of the flag are represented by the first argument, of type Value, 
which
-// typically holds a user-defined implementation of Value. For instance, the
-// caller could create a flag that turns a comma-separated string into a slice
-// of strings by giving the slice the methods of Value; in particular, Set 
would
-// decompose the comma-separated string into the slice.
-func (f *FlagSet) Var(value Value, name string, usage string) {
-       f.VarP(value, name, "", usage)
-}
-
-// VarPF is like VarP, but returns the flag created
-func (f *FlagSet) VarPF(value Value, name, shorthand, usage string) *Flag {
-       // Remember the default value as a string; it won't change.
-       flag := &Flag{
-               Name:      name,
-               Shorthand: shorthand,
-               Usage:     usage,
-               Value:     value,
-               DefValue:  value.String(),
-       }
-       f.AddFlag(flag)
-       return flag
-}
-
-// VarP is like Var, but accepts a shorthand letter that can be used after a 
single dash.
-func (f *FlagSet) VarP(value Value, name, shorthand, usage string) {
-       _ = f.VarPF(value, name, shorthand, usage)
-}
-
-// AddFlag will add the flag to the FlagSet
-func (f *FlagSet) AddFlag(flag *Flag) {
-       // Call normalizeFlagName function only once
-       normalizedFlagName := f.normalizeFlagName(flag.Name)
-
-       _, alreadythere := f.formal[normalizedFlagName]
-       if alreadythere {
-               msg := fmt.Sprintf("%s flag redefined: %s", f.name, flag.Name)
-               fmt.Fprintln(f.out(), msg)
-               panic(msg) // Happens only if flags are declared with identical 
names
-       }
-       if f.formal == nil {
-               f.formal = make(map[NormalizedName]*Flag)
-       }
-
-       flag.Name = string(normalizedFlagName)
-       f.formal[normalizedFlagName] = flag
-
-       if len(flag.Shorthand) == 0 {
-               return
-       }
-       if len(flag.Shorthand) > 1 {
-               fmt.Fprintf(f.out(), "%s shorthand more than ASCII character: 
%s\n", f.name, flag.Shorthand)
-               panic("shorthand is more than one character")
-       }
-       if f.shorthands == nil {
-               f.shorthands = make(map[byte]*Flag)
-       }
-       c := flag.Shorthand[0]
-       old, alreadythere := f.shorthands[c]
-       if alreadythere {
-               fmt.Fprintf(f.out(), "%s shorthand reused: %q for %s already 
used for %s\n", f.name, c, flag.Name, old.Name)
-               panic("shorthand redefinition")
-       }
-       f.shorthands[c] = flag
-}
-
-// AddFlagSet adds one FlagSet to another. If a flag is already present in f
-// the flag from newSet will be ignored
-func (f *FlagSet) AddFlagSet(newSet *FlagSet) {
-       if newSet == nil {
-               return
-       }
-       newSet.VisitAll(func(flag *Flag) {
-               if f.Lookup(flag.Name) == nil {
-                       f.AddFlag(flag)
-               }
-       })
-}
-
-// Var defines a flag with the specified name and usage string. The type and
-// value of the flag are represented by the first argument, of type Value, 
which
-// typically holds a user-defined implementation of Value. For instance, the
-// caller could create a flag that turns a comma-separated string into a slice
-// of strings by giving the slice the methods of Value; in particular, Set 
would
-// decompose the comma-separated string into the slice.
-func Var(value Value, name string, usage string) {
-       CommandLine.VarP(value, name, "", usage)
-}
-
-// VarP is like Var, but accepts a shorthand letter that can be used after a 
single dash.
-func VarP(value Value, name, shorthand, usage string) {
-       CommandLine.VarP(value, name, shorthand, usage)
-}
-
-// failf prints to standard error a formatted error and usage message and
-// returns the error.
-func (f *FlagSet) failf(format string, a ...interface{}) error {
-       err := fmt.Errorf(format, a...)
-       fmt.Fprintln(f.out(), err)
-       f.usage()
-       return err
-}
-
-// usage calls the Usage method for the flag set, or the usage function if
-// the flag set is CommandLine.
-func (f *FlagSet) usage() {
-       if f == CommandLine {
-               Usage()
-       } else if f.Usage == nil {
-               defaultUsage(f)
-       } else {
-               f.Usage()
-       }
-}
-
-func (f *FlagSet) setFlag(flag *Flag, value string, origArg string) error {
-       if err := flag.Value.Set(value); err != nil {
-               return f.failf("invalid argument %q for %s: %v", value, 
origArg, err)
-       }
-       // mark as visited for Visit()
-       if f.actual == nil {
-               f.actual = make(map[NormalizedName]*Flag)
-       }
-       f.actual[f.normalizeFlagName(flag.Name)] = flag
-       flag.Changed = true
-       if len(flag.Deprecated) > 0 {
-               fmt.Fprintf(os.Stderr, "Flag --%s has been deprecated, %s\n", 
flag.Name, flag.Deprecated)
-       }
-       if len(flag.ShorthandDeprecated) > 0 && containsShorthand(origArg, 
flag.Shorthand) {
-               fmt.Fprintf(os.Stderr, "Flag shorthand -%s has been deprecated, 
%s\n", flag.Shorthand, flag.ShorthandDeprecated)
-       }
-       return nil
-}
-
-func containsShorthand(arg, shorthand string) bool {
-       // filter out flags --<flag_name>
-       if strings.HasPrefix(arg, "-") {
-               return false
-       }
-       arg = strings.SplitN(arg, "=", 2)[0]
-       return strings.Contains(arg, shorthand)
-}
-
-func (f *FlagSet) parseLongArg(s string, args []string) (a []string, err 
error) {
-       a = args
-       name := s[2:]
-       if len(name) == 0 || name[0] == '-' || name[0] == '=' {
-               err = f.failf("bad flag syntax: %s", s)
-               return
-       }
-       split := strings.SplitN(name, "=", 2)
-       name = split[0]
-       flag, alreadythere := f.formal[f.normalizeFlagName(name)]
-       if !alreadythere {
-               if name == "help" { // special case for nice help message.
-                       f.usage()
-                       return a, ErrHelp
-               }
-               err = f.failf("unknown flag: --%s", name)
-               return
-       }
-       var value string
-       if len(split) == 2 {
-               // '--flag=arg'
-               value = split[1]
-       } else if len(flag.NoOptDefVal) > 0 {
-               // '--flag' (arg was optional)
-               value = flag.NoOptDefVal
-       } else if len(a) > 0 {
-               // '--flag arg'
-               value = a[0]
-               a = a[1:]
-       } else {
-               // '--flag' (arg was required)
-               err = f.failf("flag needs an argument: %s", s)
-               return
-       }
-       err = f.setFlag(flag, value, s)
-       return
-}
-
-func (f *FlagSet) parseSingleShortArg(shorthands string, args []string) 
(outShorts string, outArgs []string, err error) {
-       outArgs = args
-       outShorts = shorthands[1:]
-       c := shorthands[0]
-
-       flag, alreadythere := f.shorthands[c]
-       if !alreadythere {
-               if c == 'h' { // special case for nice help message.
-                       f.usage()
-                       err = ErrHelp
-                       return
-               }
-               //TODO continue on error
-               err = f.failf("unknown shorthand flag: %q in -%s", c, 
shorthands)
-               return
-       }
-       var value string
-       if len(shorthands) > 2 && shorthands[1] == '=' {
-               value = shorthands[2:]
-               outShorts = ""
-       } else if len(flag.NoOptDefVal) > 0 {
-               value = flag.NoOptDefVal
-       } else if len(shorthands) > 1 {
-               value = shorthands[1:]
-               outShorts = ""
-       } else if len(args) > 0 {
-               value = args[0]
-               outArgs = args[1:]
-       } else {
-               err = f.failf("flag needs an argument: %q in -%s", c, 
shorthands)
-               return
-       }
-       err = f.setFlag(flag, value, shorthands)
-       return
-}
-
-func (f *FlagSet) parseShortArg(s string, args []string) (a []string, err 
error) {
-       a = args
-       shorthands := s[1:]
-
-       for len(shorthands) > 0 {
-               shorthands, a, err = f.parseSingleShortArg(shorthands, args)
-               if err != nil {
-                       return
-               }
-       }
-
-       return
-}
-
-func (f *FlagSet) parseArgs(args []string) (err error) {
-       for len(args) > 0 {
-               s := args[0]
-               args = args[1:]
-               if len(s) == 0 || s[0] != '-' || len(s) == 1 {
-                       if !f.interspersed {
-                               f.args = append(f.args, s)
-                               f.args = append(f.args, args...)
-                               return nil
-                       }
-                       f.args = append(f.args, s)
-                       continue
-               }
-
-               if s[1] == '-' {
-                       if len(s) == 2 { // "--" terminates the flags
-                               f.argsLenAtDash = len(f.args)
-                               f.args = append(f.args, args...)
-                               break
-                       }
-                       args, err = f.parseLongArg(s, args)
-               } else {
-                       args, err = f.parseShortArg(s, args)
-               }
-               if err != nil {
-                       return
-               }
-       }
-       return
-}
-
-// Parse parses flag definitions from the argument list, which should not
-// include the command name.  Must be called after all flags in the FlagSet
-// are defined and before flags are accessed by the program.
-// The return value will be ErrHelp if -help was set but not defined.
-func (f *FlagSet) Parse(arguments []string) error {
-       f.parsed = true
-       f.args = make([]string, 0, len(arguments))
-       err := f.parseArgs(arguments)
-       if err != nil {
-               switch f.errorHandling {
-               case ContinueOnError:
-                       return err
-               case ExitOnError:
-                       os.Exit(2)
-               case PanicOnError:
-                       panic(err)
-               }
-       }
-       return nil
-}
-
-// Parsed reports whether f.Parse has been called.
-func (f *FlagSet) Parsed() bool {
-       return f.parsed
-}
-
-// Parse parses the command-line flags from os.Args[1:].  Must be called
-// after all flags are defined and before flags are accessed by the program.
-func Parse() {
-       // Ignore errors; CommandLine is set for ExitOnError.
-       CommandLine.Parse(os.Args[1:])
-}
-
-// SetInterspersed sets whether to support interspersed option/non-option 
arguments.
-func SetInterspersed(interspersed bool) {
-       CommandLine.SetInterspersed(interspersed)
-}
-
-// Parsed returns true if the command-line flags have been parsed.
-func Parsed() bool {
-       return CommandLine.Parsed()
-}
-
-// CommandLine is the default set of command-line flags, parsed from os.Args.
-var CommandLine = NewFlagSet(os.Args[0], ExitOnError)
-
-// NewFlagSet returns a new, empty flag set with the specified name and
-// error handling property.
-func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet {
-       f := &FlagSet{
-               name:          name,
-               errorHandling: errorHandling,
-               argsLenAtDash: -1,
-               interspersed:  true,
-       }
-       return f
-}
-
-// SetInterspersed sets whether to support interspersed option/non-option 
arguments.
-func (f *FlagSet) SetInterspersed(interspersed bool) {
-       f.interspersed = interspersed
-}
-
-// Init sets the name and error handling property for a flag set.
-// By default, the zero FlagSet uses an empty name and the
-// ContinueOnError error handling policy.
-func (f *FlagSet) Init(name string, errorHandling ErrorHandling) {
-       f.name = name
-       f.errorHandling = errorHandling
-       f.argsLenAtDash = -1
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/flag_test.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/flag_test.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/flag_test.go
deleted file mode 100644
index 0ae2e4f..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/flag_test.go
+++ /dev/null
@@ -1,913 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pflag
-
-import (
-       "bytes"
-       "fmt"
-       "io"
-       "io/ioutil"
-       "net"
-       "os"
-       "reflect"
-       "sort"
-       "strings"
-       "testing"
-       "time"
-)
-
-var (
-       testBool                     = Bool("test_bool", false, "bool value")
-       testInt                      = Int("test_int", 0, "int value")
-       testInt64                    = Int64("test_int64", 0, "int64 value")
-       testUint                     = Uint("test_uint", 0, "uint value")
-       testUint64                   = Uint64("test_uint64", 0, "uint64 value")
-       testString                   = String("test_string", "0", "string 
value")
-       testFloat                    = Float64("test_float64", 0, "float64 
value")
-       testDuration                 = Duration("test_duration", 0, 
"time.Duration value")
-       testOptionalInt              = Int("test_optional_int", 0, "optional 
int value")
-       normalizeFlagNameInvocations = 0
-)
-
-func boolString(s string) string {
-       if s == "0" {
-               return "false"
-       }
-       return "true"
-}
-
-func TestEverything(t *testing.T) {
-       m := make(map[string]*Flag)
-       desired := "0"
-       visitor := func(f *Flag) {
-               if len(f.Name) > 5 && f.Name[0:5] == "test_" {
-                       m[f.Name] = f
-                       ok := false
-                       switch {
-                       case f.Value.String() == desired:
-                               ok = true
-                       case f.Name == "test_bool" && f.Value.String() == 
boolString(desired):
-                               ok = true
-                       case f.Name == "test_duration" && f.Value.String() == 
desired+"s":
-                               ok = true
-                       }
-                       if !ok {
-                               t.Error("Visit: bad value", f.Value.String(), 
"for", f.Name)
-                       }
-               }
-       }
-       VisitAll(visitor)
-       if len(m) != 9 {
-               t.Error("VisitAll misses some flags")
-               for k, v := range m {
-                       t.Log(k, *v)
-               }
-       }
-       m = make(map[string]*Flag)
-       Visit(visitor)
-       if len(m) != 0 {
-               t.Errorf("Visit sees unset flags")
-               for k, v := range m {
-                       t.Log(k, *v)
-               }
-       }
-       // Now set all flags
-       Set("test_bool", "true")
-       Set("test_int", "1")
-       Set("test_int64", "1")
-       Set("test_uint", "1")
-       Set("test_uint64", "1")
-       Set("test_string", "1")
-       Set("test_float64", "1")
-       Set("test_duration", "1s")
-       Set("test_optional_int", "1")
-       desired = "1"
-       Visit(visitor)
-       if len(m) != 9 {
-               t.Error("Visit fails after set")
-               for k, v := range m {
-                       t.Log(k, *v)
-               }
-       }
-       // Now test they're visited in sort order.
-       var flagNames []string
-       Visit(func(f *Flag) { flagNames = append(flagNames, f.Name) })
-       if !sort.StringsAreSorted(flagNames) {
-               t.Errorf("flag names not sorted: %v", flagNames)
-       }
-}
-
-func TestUsage(t *testing.T) {
-       called := false
-       ResetForTesting(func() { called = true })
-       if GetCommandLine().Parse([]string{"--x"}) == nil {
-               t.Error("parse did not fail for unknown flag")
-       }
-       if !called {
-               t.Error("did not call Usage for unknown flag")
-       }
-}
-
-func TestAddFlagSet(t *testing.T) {
-       oldSet := NewFlagSet("old", ContinueOnError)
-       newSet := NewFlagSet("new", ContinueOnError)
-
-       oldSet.String("flag1", "flag1", "flag1")
-       oldSet.String("flag2", "flag2", "flag2")
-
-       newSet.String("flag2", "flag2", "flag2")
-       newSet.String("flag3", "flag3", "flag3")
-
-       oldSet.AddFlagSet(newSet)
-
-       if len(oldSet.formal) != 3 {
-               t.Errorf("Unexpected result adding a FlagSet to a FlagSet %v", 
oldSet)
-       }
-}
-
-func TestAnnotation(t *testing.T) {
-       f := NewFlagSet("shorthand", ContinueOnError)
-
-       if err := f.SetAnnotation("missing-flag", "key", nil); err == nil {
-               t.Errorf("Expected error setting annotation on non-existent 
flag")
-       }
-
-       f.StringP("stringa", "a", "", "string value")
-       if err := f.SetAnnotation("stringa", "key", nil); err != nil {
-               t.Errorf("Unexpected error setting new nil annotation: %v", err)
-       }
-       if annotation := f.Lookup("stringa").Annotations["key"]; annotation != 
nil {
-               t.Errorf("Unexpected annotation: %v", annotation)
-       }
-
-       f.StringP("stringb", "b", "", "string2 value")
-       if err := f.SetAnnotation("stringb", "key", []string{"value1"}); err != 
nil {
-               t.Errorf("Unexpected error setting new annotation: %v", err)
-       }
-       if annotation := f.Lookup("stringb").Annotations["key"]; 
!reflect.DeepEqual(annotation, []string{"value1"}) {
-               t.Errorf("Unexpected annotation: %v", annotation)
-       }
-
-       if err := f.SetAnnotation("stringb", "key", []string{"value2"}); err != 
nil {
-               t.Errorf("Unexpected error updating annotation: %v", err)
-       }
-       if annotation := f.Lookup("stringb").Annotations["key"]; 
!reflect.DeepEqual(annotation, []string{"value2"}) {
-               t.Errorf("Unexpected annotation: %v", annotation)
-       }
-}
-
-func testParse(f *FlagSet, t *testing.T) {
-       if f.Parsed() {
-               t.Error("f.Parse() = true before Parse")
-       }
-       boolFlag := f.Bool("bool", false, "bool value")
-       bool2Flag := f.Bool("bool2", false, "bool2 value")
-       bool3Flag := f.Bool("bool3", false, "bool3 value")
-       intFlag := f.Int("int", 0, "int value")
-       int8Flag := f.Int8("int8", 0, "int value")
-       int32Flag := f.Int32("int32", 0, "int value")
-       int64Flag := f.Int64("int64", 0, "int64 value")
-       uintFlag := f.Uint("uint", 0, "uint value")
-       uint8Flag := f.Uint8("uint8", 0, "uint value")
-       uint16Flag := f.Uint16("uint16", 0, "uint value")
-       uint32Flag := f.Uint32("uint32", 0, "uint value")
-       uint64Flag := f.Uint64("uint64", 0, "uint64 value")
-       stringFlag := f.String("string", "0", "string value")
-       float32Flag := f.Float32("float32", 0, "float32 value")
-       float64Flag := f.Float64("float64", 0, "float64 value")
-       ipFlag := f.IP("ip", net.ParseIP("127.0.0.1"), "ip value")
-       maskFlag := f.IPMask("mask", ParseIPv4Mask("0.0.0.0"), "mask value")
-       durationFlag := f.Duration("duration", 5*time.Second, "time.Duration 
value")
-       optionalIntNoValueFlag := f.Int("optional-int-no-value", 0, "int value")
-       f.Lookup("optional-int-no-value").NoOptDefVal = "9"
-       optionalIntWithValueFlag := f.Int("optional-int-with-value", 0, "int 
value")
-       f.Lookup("optional-int-no-value").NoOptDefVal = "9"
-       extra := "one-extra-argument"
-       args := []string{
-               "--bool",
-               "--bool2=true",
-               "--bool3=false",
-               "--int=22",
-               "--int8=-8",
-               "--int32=-32",
-               "--int64=0x23",
-               "--uint", "24",
-               "--uint8=8",
-               "--uint16=16",
-               "--uint32=32",
-               "--uint64=25",
-               "--string=hello",
-               "--float32=-172e12",
-               "--float64=2718e28",
-               "--ip=10.11.12.13",
-               "--mask=255.255.255.0",
-               "--duration=2m",
-               "--optional-int-no-value",
-               "--optional-int-with-value=42",
-               extra,
-       }
-       if err := f.Parse(args); err != nil {
-               t.Fatal(err)
-       }
-       if !f.Parsed() {
-               t.Error("f.Parse() = false after Parse")
-       }
-       if *boolFlag != true {
-               t.Error("bool flag should be true, is ", *boolFlag)
-       }
-       if v, err := f.GetBool("bool"); err != nil || v != *boolFlag {
-               t.Error("GetBool does not work.")
-       }
-       if *bool2Flag != true {
-               t.Error("bool2 flag should be true, is ", *bool2Flag)
-       }
-       if *bool3Flag != false {
-               t.Error("bool3 flag should be false, is ", *bool2Flag)
-       }
-       if *intFlag != 22 {
-               t.Error("int flag should be 22, is ", *intFlag)
-       }
-       if v, err := f.GetInt("int"); err != nil || v != *intFlag {
-               t.Error("GetInt does not work.")
-       }
-       if *int8Flag != -8 {
-               t.Error("int8 flag should be 0x23, is ", *int8Flag)
-       }
-       if v, err := f.GetInt8("int8"); err != nil || v != *int8Flag {
-               t.Error("GetInt8 does not work.")
-       }
-       if *int32Flag != -32 {
-               t.Error("int32 flag should be 0x23, is ", *int32Flag)
-       }
-       if v, err := f.GetInt32("int32"); err != nil || v != *int32Flag {
-               t.Error("GetInt32 does not work.")
-       }
-       if *int64Flag != 0x23 {
-               t.Error("int64 flag should be 0x23, is ", *int64Flag)
-       }
-       if v, err := f.GetInt64("int64"); err != nil || v != *int64Flag {
-               t.Error("GetInt64 does not work.")
-       }
-       if *uintFlag != 24 {
-               t.Error("uint flag should be 24, is ", *uintFlag)
-       }
-       if v, err := f.GetUint("uint"); err != nil || v != *uintFlag {
-               t.Error("GetUint does not work.")
-       }
-       if *uint8Flag != 8 {
-               t.Error("uint8 flag should be 8, is ", *uint8Flag)
-       }
-       if v, err := f.GetUint8("uint8"); err != nil || v != *uint8Flag {
-               t.Error("GetUint8 does not work.")
-       }
-       if *uint16Flag != 16 {
-               t.Error("uint16 flag should be 16, is ", *uint16Flag)
-       }
-       if v, err := f.GetUint16("uint16"); err != nil || v != *uint16Flag {
-               t.Error("GetUint16 does not work.")
-       }
-       if *uint32Flag != 32 {
-               t.Error("uint32 flag should be 32, is ", *uint32Flag)
-       }
-       if v, err := f.GetUint32("uint32"); err != nil || v != *uint32Flag {
-               t.Error("GetUint32 does not work.")
-       }
-       if *uint64Flag != 25 {
-               t.Error("uint64 flag should be 25, is ", *uint64Flag)
-       }
-       if v, err := f.GetUint64("uint64"); err != nil || v != *uint64Flag {
-               t.Error("GetUint64 does not work.")
-       }
-       if *stringFlag != "hello" {
-               t.Error("string flag should be `hello`, is ", *stringFlag)
-       }
-       if v, err := f.GetString("string"); err != nil || v != *stringFlag {
-               t.Error("GetString does not work.")
-       }
-       if *float32Flag != -172e12 {
-               t.Error("float32 flag should be -172e12, is ", *float32Flag)
-       }
-       if v, err := f.GetFloat32("float32"); err != nil || v != *float32Flag {
-               t.Errorf("GetFloat32 returned %v but float32Flag was %v", v, 
*float32Flag)
-       }
-       if *float64Flag != 2718e28 {
-               t.Error("float64 flag should be 2718e28, is ", *float64Flag)
-       }
-       if v, err := f.GetFloat64("float64"); err != nil || v != *float64Flag {
-               t.Errorf("GetFloat64 returned %v but float64Flag was %v", v, 
*float64Flag)
-       }
-       if !(*ipFlag).Equal(net.ParseIP("10.11.12.13")) {
-               t.Error("ip flag should be 10.11.12.13, is ", *ipFlag)
-       }
-       if v, err := f.GetIP("ip"); err != nil || !v.Equal(*ipFlag) {
-               t.Errorf("GetIP returned %v but ipFlag was %v", v, *ipFlag)
-       }
-       if (*maskFlag).String() != ParseIPv4Mask("255.255.255.0").String() {
-               t.Error("mask flag should be 255.255.255.0, is ", 
(*maskFlag).String())
-       }
-       if v, err := f.GetIPv4Mask("mask"); err != nil || v.String() != 
(*maskFlag).String() {
-               t.Errorf("GetIP returned %v maskFlag was %v error was %v", v, 
*maskFlag, err)
-       }
-       if *durationFlag != 2*time.Minute {
-               t.Error("duration flag should be 2m, is ", *durationFlag)
-       }
-       if v, err := f.GetDuration("duration"); err != nil || v != 
*durationFlag {
-               t.Error("GetDuration does not work.")
-       }
-       if _, err := f.GetInt("duration"); err == nil {
-               t.Error("GetInt parsed a time.Duration?!?!")
-       }
-       if *optionalIntNoValueFlag != 9 {
-               t.Error("optional int flag should be the default value, is ", 
*optionalIntNoValueFlag)
-       }
-       if *optionalIntWithValueFlag != 42 {
-               t.Error("optional int flag should be 42, is ", 
*optionalIntWithValueFlag)
-       }
-       if len(f.Args()) != 1 {
-               t.Error("expected one argument, got", len(f.Args()))
-       } else if f.Args()[0] != extra {
-               t.Errorf("expected argument %q got %q", extra, f.Args()[0])
-       }
-}
-
-func TestShorthand(t *testing.T) {
-       f := NewFlagSet("shorthand", ContinueOnError)
-       if f.Parsed() {
-               t.Error("f.Parse() = true before Parse")
-       }
-       boolaFlag := f.BoolP("boola", "a", false, "bool value")
-       boolbFlag := f.BoolP("boolb", "b", false, "bool2 value")
-       boolcFlag := f.BoolP("boolc", "c", false, "bool3 value")
-       booldFlag := f.BoolP("boold", "d", false, "bool4 value")
-       stringaFlag := f.StringP("stringa", "s", "0", "string value")
-       stringzFlag := f.StringP("stringz", "z", "0", "string value")
-       extra := "interspersed-argument"
-       notaflag := "--i-look-like-a-flag"
-       args := []string{
-               "-ab",
-               extra,
-               "-cs",
-               "hello",
-               "-z=something",
-               "-d=true",
-               "--",
-               notaflag,
-       }
-       f.SetOutput(ioutil.Discard)
-       if err := f.Parse(args); err != nil {
-               t.Error("expected no error, got ", err)
-       }
-       if !f.Parsed() {
-               t.Error("f.Parse() = false after Parse")
-       }
-       if *boolaFlag != true {
-               t.Error("boola flag should be true, is ", *boolaFlag)
-       }
-       if *boolbFlag != true {
-               t.Error("boolb flag should be true, is ", *boolbFlag)
-       }
-       if *boolcFlag != true {
-               t.Error("boolc flag should be true, is ", *boolcFlag)
-       }
-       if *booldFlag != true {
-               t.Error("boold flag should be true, is ", *booldFlag)
-       }
-       if *stringaFlag != "hello" {
-               t.Error("stringa flag should be `hello`, is ", *stringaFlag)
-       }
-       if *stringzFlag != "something" {
-               t.Error("stringz flag should be `something`, is ", *stringzFlag)
-       }
-       if len(f.Args()) != 2 {
-               t.Error("expected one argument, got", len(f.Args()))
-       } else if f.Args()[0] != extra {
-               t.Errorf("expected argument %q got %q", extra, f.Args()[0])
-       } else if f.Args()[1] != notaflag {
-               t.Errorf("expected argument %q got %q", notaflag, f.Args()[1])
-       }
-       if f.ArgsLenAtDash() != 1 {
-               t.Errorf("expected argsLenAtDash %d got %d", f.ArgsLenAtDash(), 
1)
-       }
-}
-
-func TestParse(t *testing.T) {
-       ResetForTesting(func() { t.Error("bad parse") })
-       testParse(GetCommandLine(), t)
-}
-
-func TestFlagSetParse(t *testing.T) {
-       testParse(NewFlagSet("test", ContinueOnError), t)
-}
-
-func TestChangedHelper(t *testing.T) {
-       f := NewFlagSet("changedtest", ContinueOnError)
-       _ = f.Bool("changed", false, "changed bool")
-       _ = f.Bool("settrue", true, "true to true")
-       _ = f.Bool("setfalse", false, "false to false")
-       _ = f.Bool("unchanged", false, "unchanged bool")
-
-       args := []string{"--changed", "--settrue", "--setfalse=false"}
-       if err := f.Parse(args); err != nil {
-               t.Error("f.Parse() = false after Parse")
-       }
-       if !f.Changed("changed") {
-               t.Errorf("--changed wasn't changed!")
-       }
-       if !f.Changed("settrue") {
-               t.Errorf("--settrue wasn't changed!")
-       }
-       if !f.Changed("setfalse") {
-               t.Errorf("--setfalse wasn't changed!")
-       }
-       if f.Changed("unchanged") {
-               t.Errorf("--unchanged was changed!")
-       }
-       if f.Changed("invalid") {
-               t.Errorf("--invalid was changed!")
-       }
-       if f.ArgsLenAtDash() != -1 {
-               t.Errorf("Expected argsLenAtDash: %d but got %d", -1, 
f.ArgsLenAtDash())
-       }
-}
-
-func replaceSeparators(name string, from []string, to string) string {
-       result := name
-       for _, sep := range from {
-               result = strings.Replace(result, sep, to, -1)
-       }
-       // Type convert to indicate normalization has been done.
-       return result
-}
-
-func wordSepNormalizeFunc(f *FlagSet, name string) NormalizedName {
-       seps := []string{"-", "_"}
-       name = replaceSeparators(name, seps, ".")
-       normalizeFlagNameInvocations++
-
-       return NormalizedName(name)
-}
-
-func testWordSepNormalizedNames(args []string, t *testing.T) {
-       f := NewFlagSet("normalized", ContinueOnError)
-       if f.Parsed() {
-               t.Error("f.Parse() = true before Parse")
-       }
-       withDashFlag := f.Bool("with-dash-flag", false, "bool value")
-       // Set this after some flags have been added and before others.
-       f.SetNormalizeFunc(wordSepNormalizeFunc)
-       withUnderFlag := f.Bool("with_under_flag", false, "bool value")
-       withBothFlag := f.Bool("with-both_flag", false, "bool value")
-       if err := f.Parse(args); err != nil {
-               t.Fatal(err)
-       }
-       if !f.Parsed() {
-               t.Error("f.Parse() = false after Parse")
-       }
-       if *withDashFlag != true {
-               t.Error("withDashFlag flag should be true, is ", *withDashFlag)
-       }
-       if *withUnderFlag != true {
-               t.Error("withUnderFlag flag should be true, is ", 
*withUnderFlag)
-       }
-       if *withBothFlag != true {
-               t.Error("withBothFlag flag should be true, is ", *withBothFlag)
-       }
-}
-
-func TestWordSepNormalizedNames(t *testing.T) {
-       args := []string{
-               "--with-dash-flag",
-               "--with-under-flag",
-               "--with-both-flag",
-       }
-       testWordSepNormalizedNames(args, t)
-
-       args = []string{
-               "--with_dash_flag",
-               "--with_under_flag",
-               "--with_both_flag",
-       }
-       testWordSepNormalizedNames(args, t)
-
-       args = []string{
-               "--with-dash_flag",
-               "--with-under_flag",
-               "--with-both_flag",
-       }
-       testWordSepNormalizedNames(args, t)
-}
-
-func aliasAndWordSepFlagNames(f *FlagSet, name string) NormalizedName {
-       seps := []string{"-", "_"}
-
-       oldName := replaceSeparators("old-valid_flag", seps, ".")
-       newName := replaceSeparators("valid-flag", seps, ".")
-
-       name = replaceSeparators(name, seps, ".")
-       switch name {
-       case oldName:
-               name = newName
-               break
-       }
-
-       return NormalizedName(name)
-}
-
-func TestCustomNormalizedNames(t *testing.T) {
-       f := NewFlagSet("normalized", ContinueOnError)
-       if f.Parsed() {
-               t.Error("f.Parse() = true before Parse")
-       }
-
-       validFlag := f.Bool("valid-flag", false, "bool value")
-       f.SetNormalizeFunc(aliasAndWordSepFlagNames)
-       someOtherFlag := f.Bool("some-other-flag", false, "bool value")
-
-       args := []string{"--old_valid_flag", "--some-other_flag"}
-       if err := f.Parse(args); err != nil {
-               t.Fatal(err)
-       }
-
-       if *validFlag != true {
-               t.Errorf("validFlag is %v even though we set the alias 
--old_valid_falg", *validFlag)
-       }
-       if *someOtherFlag != true {
-               t.Error("someOtherFlag should be true, is ", *someOtherFlag)
-       }
-}
-
-// Every flag we add, the name (displayed also in usage) should normalized
-func TestNormalizationFuncShouldChangeFlagName(t *testing.T) {
-       // Test normalization after addition
-       f := NewFlagSet("normalized", ContinueOnError)
-
-       f.Bool("valid_flag", false, "bool value")
-       if f.Lookup("valid_flag").Name != "valid_flag" {
-               t.Error("The new flag should have the name 'valid_flag' instead 
of ", f.Lookup("valid_flag").Name)
-       }
-
-       f.SetNormalizeFunc(wordSepNormalizeFunc)
-       if f.Lookup("valid_flag").Name != "valid.flag" {
-               t.Error("The new flag should have the name 'valid.flag' instead 
of ", f.Lookup("valid_flag").Name)
-       }
-
-       // Test normalization before addition
-       f = NewFlagSet("normalized", ContinueOnError)
-       f.SetNormalizeFunc(wordSepNormalizeFunc)
-
-       f.Bool("valid_flag", false, "bool value")
-       if f.Lookup("valid_flag").Name != "valid.flag" {
-               t.Error("The new flag should have the name 'valid.flag' instead 
of ", f.Lookup("valid_flag").Name)
-       }
-}
-
-// Declare a user-defined flag type.
-type flagVar []string
-
-func (f *flagVar) String() string {
-       return fmt.Sprint([]string(*f))
-}
-
-func (f *flagVar) Set(value string) error {
-       *f = append(*f, value)
-       return nil
-}
-
-func (f *flagVar) Type() string {
-       return "flagVar"
-}
-
-func TestUserDefined(t *testing.T) {
-       var flags FlagSet
-       flags.Init("test", ContinueOnError)
-       var v flagVar
-       flags.VarP(&v, "v", "v", "usage")
-       if err := flags.Parse([]string{"--v=1", "-v2", "-v", "3"}); err != nil {
-               t.Error(err)
-       }
-       if len(v) != 3 {
-               t.Fatal("expected 3 args; got ", len(v))
-       }
-       expect := "[1 2 3]"
-       if v.String() != expect {
-               t.Errorf("expected value %q got %q", expect, v.String())
-       }
-}
-
-func TestSetOutput(t *testing.T) {
-       var flags FlagSet
-       var buf bytes.Buffer
-       flags.SetOutput(&buf)
-       flags.Init("test", ContinueOnError)
-       flags.Parse([]string{"--unknown"})
-       if out := buf.String(); !strings.Contains(out, "--unknown") {
-               t.Logf("expected output mentioning unknown; got %q", out)
-       }
-}
-
-// This tests that one can reset the flags. This still works but not well, and 
is
-// superseded by FlagSet.
-func TestChangingArgs(t *testing.T) {
-       ResetForTesting(func() { t.Fatal("bad parse") })
-       oldArgs := os.Args
-       defer func() { os.Args = oldArgs }()
-       os.Args = []string{"cmd", "--before", "subcmd"}
-       before := Bool("before", false, "")
-       if err := GetCommandLine().Parse(os.Args[1:]); err != nil {
-               t.Fatal(err)
-       }
-       cmd := Arg(0)
-       os.Args = []string{"subcmd", "--after", "args"}
-       after := Bool("after", false, "")
-       Parse()
-       args := Args()
-
-       if !*before || cmd != "subcmd" || !*after || len(args) != 1 || args[0] 
!= "args" {
-               t.Fatalf("expected true subcmd true [args] got %v %v %v %v", 
*before, cmd, *after, args)
-       }
-}
-
-// Test that -help invokes the usage message and returns ErrHelp.
-func TestHelp(t *testing.T) {
-       var helpCalled = false
-       fs := NewFlagSet("help test", ContinueOnError)
-       fs.Usage = func() { helpCalled = true }
-       var flag bool
-       fs.BoolVar(&flag, "flag", false, "regular flag")
-       // Regular flag invocation should work
-       err := fs.Parse([]string{"--flag=true"})
-       if err != nil {
-               t.Fatal("expected no error; got ", err)
-       }
-       if !flag {
-               t.Error("flag was not set by --flag")
-       }
-       if helpCalled {
-               t.Error("help called for regular flag")
-               helpCalled = false // reset for next test
-       }
-       // Help flag should work as expected.
-       err = fs.Parse([]string{"--help"})
-       if err == nil {
-               t.Fatal("error expected")
-       }
-       if err != ErrHelp {
-               t.Fatal("expected ErrHelp; got ", err)
-       }
-       if !helpCalled {
-               t.Fatal("help was not called")
-       }
-       // If we define a help flag, that should override.
-       var help bool
-       fs.BoolVar(&help, "help", false, "help flag")
-       helpCalled = false
-       err = fs.Parse([]string{"--help"})
-       if err != nil {
-               t.Fatal("expected no error for defined --help; got ", err)
-       }
-       if helpCalled {
-               t.Fatal("help was called; should not have been for defined help 
flag")
-       }
-}
-
-func TestNoInterspersed(t *testing.T) {
-       f := NewFlagSet("test", ContinueOnError)
-       f.SetInterspersed(false)
-       f.Bool("true", true, "always true")
-       f.Bool("false", false, "always false")
-       err := f.Parse([]string{"--true", "break", "--false"})
-       if err != nil {
-               t.Fatal("expected no error; got ", err)
-       }
-       args := f.Args()
-       if len(args) != 2 || args[0] != "break" || args[1] != "--false" {
-               t.Fatal("expected interspersed options/non-options to fail")
-       }
-}
-
-func TestTermination(t *testing.T) {
-       f := NewFlagSet("termination", ContinueOnError)
-       boolFlag := f.BoolP("bool", "l", false, "bool value")
-       if f.Parsed() {
-               t.Error("f.Parse() = true before Parse")
-       }
-       arg1 := "ls"
-       arg2 := "-l"
-       args := []string{
-               "--",
-               arg1,
-               arg2,
-       }
-       f.SetOutput(ioutil.Discard)
-       if err := f.Parse(args); err != nil {
-               t.Fatal("expected no error; got ", err)
-       }
-       if !f.Parsed() {
-               t.Error("f.Parse() = false after Parse")
-       }
-       if *boolFlag {
-               t.Error("expected boolFlag=false, got true")
-       }
-       if len(f.Args()) != 2 {
-               t.Errorf("expected 2 arguments, got %d: %v", len(f.Args()), 
f.Args())
-       }
-       if f.Args()[0] != arg1 {
-               t.Errorf("expected argument %q got %q", arg1, f.Args()[0])
-       }
-       if f.Args()[1] != arg2 {
-               t.Errorf("expected argument %q got %q", arg2, f.Args()[1])
-       }
-       if f.ArgsLenAtDash() != 0 {
-               t.Errorf("expected argsLenAtDash %d got %d", 0, 
f.ArgsLenAtDash())
-       }
-}
-
-func TestDeprecatedFlagInDocs(t *testing.T) {
-       f := NewFlagSet("bob", ContinueOnError)
-       f.Bool("badflag", true, "always true")
-       f.MarkDeprecated("badflag", "use --good-flag instead")
-
-       out := new(bytes.Buffer)
-       f.SetOutput(out)
-       f.PrintDefaults()
-
-       if strings.Contains(out.String(), "badflag") {
-               t.Errorf("found deprecated flag in usage!")
-       }
-}
-
-func TestDeprecatedFlagShorthandInDocs(t *testing.T) {
-       f := NewFlagSet("bob", ContinueOnError)
-       name := "noshorthandflag"
-       f.BoolP(name, "n", true, "always true")
-       f.MarkShorthandDeprecated("noshorthandflag", fmt.Sprintf("use --%s 
instead", name))
-
-       out := new(bytes.Buffer)
-       f.SetOutput(out)
-       f.PrintDefaults()
-
-       if strings.Contains(out.String(), "-n,") {
-               t.Errorf("found deprecated flag shorthand in usage!")
-       }
-}
-
-func parseReturnStderr(t *testing.T, f *FlagSet, args []string) (string, 
error) {
-       oldStderr := os.Stderr
-       r, w, _ := os.Pipe()
-       os.Stderr = w
-
-       err := f.Parse(args)
-
-       outC := make(chan string)
-       // copy the output in a separate goroutine so printing can't block 
indefinitely
-       go func() {
-               var buf bytes.Buffer
-               io.Copy(&buf, r)
-               outC <- buf.String()
-       }()
-
-       w.Close()
-       os.Stderr = oldStderr
-       out := <-outC
-
-       return out, err
-}
-
-func TestDeprecatedFlagUsage(t *testing.T) {
-       f := NewFlagSet("bob", ContinueOnError)
-       f.Bool("badflag", true, "always true")
-       usageMsg := "use --good-flag instead"
-       f.MarkDeprecated("badflag", usageMsg)
-
-       args := []string{"--badflag"}
-       out, err := parseReturnStderr(t, f, args)
-       if err != nil {
-               t.Fatal("expected no error; got ", err)
-       }
-
-       if !strings.Contains(out, usageMsg) {
-               t.Errorf("usageMsg not printed when using a deprecated flag!")
-       }
-}
-
-func TestDeprecatedFlagShorthandUsage(t *testing.T) {
-       f := NewFlagSet("bob", ContinueOnError)
-       name := "noshorthandflag"
-       f.BoolP(name, "n", true, "always true")
-       usageMsg := fmt.Sprintf("use --%s instead", name)
-       f.MarkShorthandDeprecated(name, usageMsg)
-
-       args := []string{"-n"}
-       out, err := parseReturnStderr(t, f, args)
-       if err != nil {
-               t.Fatal("expected no error; got ", err)
-       }
-
-       if !strings.Contains(out, usageMsg) {
-               t.Errorf("usageMsg not printed when using a deprecated flag!")
-       }
-}
-
-func TestDeprecatedFlagUsageNormalized(t *testing.T) {
-       f := NewFlagSet("bob", ContinueOnError)
-       f.Bool("bad-double_flag", true, "always true")
-       f.SetNormalizeFunc(wordSepNormalizeFunc)
-       usageMsg := "use --good-flag instead"
-       f.MarkDeprecated("bad_double-flag", usageMsg)
-
-       args := []string{"--bad_double_flag"}
-       out, err := parseReturnStderr(t, f, args)
-       if err != nil {
-               t.Fatal("expected no error; got ", err)
-       }
-
-       if !strings.Contains(out, usageMsg) {
-               t.Errorf("usageMsg not printed when using a deprecated flag!")
-       }
-}
-
-// Name normalization function should be called only once on flag addition
-func TestMultipleNormalizeFlagNameInvocations(t *testing.T) {
-       normalizeFlagNameInvocations = 0
-
-       f := NewFlagSet("normalized", ContinueOnError)
-       f.SetNormalizeFunc(wordSepNormalizeFunc)
-       f.Bool("with_under_flag", false, "bool value")
-
-       if normalizeFlagNameInvocations != 1 {
-               t.Fatal("Expected normalizeFlagNameInvocations to be 1; got ", 
normalizeFlagNameInvocations)
-       }
-}
-
-//
-func TestHiddenFlagInUsage(t *testing.T) {
-       f := NewFlagSet("bob", ContinueOnError)
-       f.Bool("secretFlag", true, "shhh")
-       f.MarkHidden("secretFlag")
-
-       out := new(bytes.Buffer)
-       f.SetOutput(out)
-       f.PrintDefaults()
-
-       if strings.Contains(out.String(), "secretFlag") {
-               t.Errorf("found hidden flag in usage!")
-       }
-}
-
-//
-func TestHiddenFlagUsage(t *testing.T) {
-       f := NewFlagSet("bob", ContinueOnError)
-       f.Bool("secretFlag", true, "shhh")
-       f.MarkHidden("secretFlag")
-
-       args := []string{"--secretFlag"}
-       out, err := parseReturnStderr(t, f, args)
-       if err != nil {
-               t.Fatal("expected no error; got ", err)
-       }
-
-       if strings.Contains(out, "shhh") {
-               t.Errorf("usage message printed when using a hidden flag!")
-       }
-}
-
-const defaultOutput = `      --A                    for bootstrapping, allow 
'any' type
-      --Alongflagname        disable bounds checking
-  -C, --CCC                  a boolean defaulting to true (default true)
-      --D path               set relative path for local imports
-      --F number             a non-zero number (default 2.7)
-      --G float              a float that defaults to zero
-      --N int                a non-zero int (default 27)
-      --ND1 string[="bar"]   a string with NoOptDefVal (default "foo")
-      --ND2 num[=4321]       a num with NoOptDefVal (default 1234)
-      --Z int                an int that defaults to zero
-      --maxT timeout         set timeout for dial
-`
-
-func TestPrintDefaults(t *testing.T) {
-       fs := NewFlagSet("print defaults test", ContinueOnError)
-       var buf bytes.Buffer
-       fs.SetOutput(&buf)
-       fs.Bool("A", false, "for bootstrapping, allow 'any' type")
-       fs.Bool("Alongflagname", false, "disable bounds checking")
-       fs.BoolP("CCC", "C", true, "a boolean defaulting to true")
-       fs.String("D", "", "set relative `path` for local imports")
-       fs.Float64("F", 2.7, "a non-zero `number`")
-       fs.Float64("G", 0, "a float that defaults to zero")
-       fs.Int("N", 27, "a non-zero int")
-       fs.Int("Z", 0, "an int that defaults to zero")
-       fs.Duration("maxT", 0, "set `timeout` for dial")
-       fs.String("ND1", "foo", "a string with NoOptDefVal")
-       fs.Lookup("ND1").NoOptDefVal = "bar"
-       fs.Int("ND2", 1234, "a `num` with NoOptDefVal")
-       fs.Lookup("ND2").NoOptDefVal = "4321"
-       fs.PrintDefaults()
-       got := buf.String()
-       if got != defaultOutput {
-               fmt.Println("\n" + got)
-               fmt.Println("\n" + defaultOutput)
-               t.Errorf("got %q want %q\n", got, defaultOutput)
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/float32.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/float32.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/float32.go
deleted file mode 100644
index 7683fae..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/float32.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package pflag
-
-import (
-       "fmt"
-       "strconv"
-)
-
-// -- float32 Value
-type float32Value float32
-
-func newFloat32Value(val float32, p *float32) *float32Value {
-       *p = val
-       return (*float32Value)(p)
-}
-
-func (f *float32Value) Set(s string) error {
-       v, err := strconv.ParseFloat(s, 32)
-       *f = float32Value(v)
-       return err
-}
-
-func (f *float32Value) Type() string {
-       return "float32"
-}
-
-func (f *float32Value) String() string { return fmt.Sprintf("%v", *f) }
-
-func float32Conv(sval string) (interface{}, error) {
-       v, err := strconv.ParseFloat(sval, 32)
-       if err != nil {
-               return 0, err
-       }
-       return float32(v), nil
-}
-
-// GetFloat32 return the float32 value of a flag with the given name
-func (f *FlagSet) GetFloat32(name string) (float32, error) {
-       val, err := f.getFlagType(name, "float32", float32Conv)
-       if err != nil {
-               return 0, err
-       }
-       return val.(float32), nil
-}
-
-// Float32Var defines a float32 flag with specified name, default value, and 
usage string.
-// The argument p points to a float32 variable in which to store the value of 
the flag.
-func (f *FlagSet) Float32Var(p *float32, name string, value float32, usage 
string) {
-       f.VarP(newFloat32Value(value, p), name, "", usage)
-}
-
-// Float32VarP is like Float32Var, but accepts a shorthand letter that can be 
used after a single dash.
-func (f *FlagSet) Float32VarP(p *float32, name, shorthand string, value 
float32, usage string) {
-       f.VarP(newFloat32Value(value, p), name, shorthand, usage)
-}
-
-// Float32Var defines a float32 flag with specified name, default value, and 
usage string.
-// The argument p points to a float32 variable in which to store the value of 
the flag.
-func Float32Var(p *float32, name string, value float32, usage string) {
-       CommandLine.VarP(newFloat32Value(value, p), name, "", usage)
-}
-
-// Float32VarP is like Float32Var, but accepts a shorthand letter that can be 
used after a single dash.
-func Float32VarP(p *float32, name, shorthand string, value float32, usage 
string) {
-       CommandLine.VarP(newFloat32Value(value, p), name, shorthand, usage)
-}
-
-// Float32 defines a float32 flag with specified name, default value, and 
usage string.
-// The return value is the address of a float32 variable that stores the value 
of the flag.
-func (f *FlagSet) Float32(name string, value float32, usage string) *float32 {
-       p := new(float32)
-       f.Float32VarP(p, name, "", value, usage)
-       return p
-}
-
-// Float32P is like Float32, but accepts a shorthand letter that can be used 
after a single dash.
-func (f *FlagSet) Float32P(name, shorthand string, value float32, usage 
string) *float32 {
-       p := new(float32)
-       f.Float32VarP(p, name, shorthand, value, usage)
-       return p
-}
-
-// Float32 defines a float32 flag with specified name, default value, and 
usage string.
-// The return value is the address of a float32 variable that stores the value 
of the flag.
-func Float32(name string, value float32, usage string) *float32 {
-       return CommandLine.Float32P(name, "", value, usage)
-}
-
-// Float32P is like Float32, but accepts a shorthand letter that can be used 
after a single dash.
-func Float32P(name, shorthand string, value float32, usage string) *float32 {
-       return CommandLine.Float32P(name, shorthand, value, usage)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/float64.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/float64.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/float64.go
deleted file mode 100644
index 50fbf8c..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/float64.go
+++ /dev/null
@@ -1,87 +0,0 @@
-package pflag
-
-import (
-       "fmt"
-       "strconv"
-)
-
-// -- float64 Value
-type float64Value float64
-
-func newFloat64Value(val float64, p *float64) *float64Value {
-       *p = val
-       return (*float64Value)(p)
-}
-
-func (f *float64Value) Set(s string) error {
-       v, err := strconv.ParseFloat(s, 64)
-       *f = float64Value(v)
-       return err
-}
-
-func (f *float64Value) Type() string {
-       return "float64"
-}
-
-func (f *float64Value) String() string { return fmt.Sprintf("%v", *f) }
-
-func float64Conv(sval string) (interface{}, error) {
-       return strconv.ParseFloat(sval, 64)
-}
-
-// GetFloat64 return the float64 value of a flag with the given name
-func (f *FlagSet) GetFloat64(name string) (float64, error) {
-       val, err := f.getFlagType(name, "float64", float64Conv)
-       if err != nil {
-               return 0, err
-       }
-       return val.(float64), nil
-}
-
-// Float64Var defines a float64 flag with specified name, default value, and 
usage string.
-// The argument p points to a float64 variable in which to store the value of 
the flag.
-func (f *FlagSet) Float64Var(p *float64, name string, value float64, usage 
string) {
-       f.VarP(newFloat64Value(value, p), name, "", usage)
-}
-
-// Float64VarP is like Float64Var, but accepts a shorthand letter that can be 
used after a single dash.
-func (f *FlagSet) Float64VarP(p *float64, name, shorthand string, value 
float64, usage string) {
-       f.VarP(newFloat64Value(value, p), name, shorthand, usage)
-}
-
-// Float64Var defines a float64 flag with specified name, default value, and 
usage string.
-// The argument p points to a float64 variable in which to store the value of 
the flag.
-func Float64Var(p *float64, name string, value float64, usage string) {
-       CommandLine.VarP(newFloat64Value(value, p), name, "", usage)
-}
-
-// Float64VarP is like Float64Var, but accepts a shorthand letter that can be 
used after a single dash.
-func Float64VarP(p *float64, name, shorthand string, value float64, usage 
string) {
-       CommandLine.VarP(newFloat64Value(value, p), name, shorthand, usage)
-}
-
-// Float64 defines a float64 flag with specified name, default value, and 
usage string.
-// The return value is the address of a float64 variable that stores the value 
of the flag.
-func (f *FlagSet) Float64(name string, value float64, usage string) *float64 {
-       p := new(float64)
-       f.Float64VarP(p, name, "", value, usage)
-       return p
-}
-
-// Float64P is like Float64, but accepts a shorthand letter that can be used 
after a single dash.
-func (f *FlagSet) Float64P(name, shorthand string, value float64, usage 
string) *float64 {
-       p := new(float64)
-       f.Float64VarP(p, name, shorthand, value, usage)
-       return p
-}
-
-// Float64 defines a float64 flag with specified name, default value, and 
usage string.
-// The return value is the address of a float64 variable that stores the value 
of the flag.
-func Float64(name string, value float64, usage string) *float64 {
-       return CommandLine.Float64P(name, "", value, usage)
-}
-
-// Float64P is like Float64, but accepts a shorthand letter that can be used 
after a single dash.
-func Float64P(name, shorthand string, value float64, usage string) *float64 {
-       return CommandLine.Float64P(name, shorthand, value, usage)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/golangflag.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/golangflag.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/golangflag.go
deleted file mode 100644
index b056147..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/golangflag.go
+++ /dev/null
@@ -1,104 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pflag
-
-import (
-       goflag "flag"
-       "fmt"
-       "reflect"
-       "strings"
-)
-
-var _ = fmt.Print
-
-// flagValueWrapper implements pflag.Value around a flag.Value.  The main
-// difference here is the addition of the Type method that returns a string
-// name of the type.  As this is generally unknown, we approximate that with
-// reflection.
-type flagValueWrapper struct {
-       inner    goflag.Value
-       flagType string
-}
-
-// We are just copying the boolFlag interface out of goflag as that is what
-// they use to decide if a flag should get "true" when no arg is given.
-type goBoolFlag interface {
-       goflag.Value
-       IsBoolFlag() bool
-}
-
-func wrapFlagValue(v goflag.Value) Value {
-       // If the flag.Value happens to also be a pflag.Value, just use it 
directly.
-       if pv, ok := v.(Value); ok {
-               return pv
-       }
-
-       pv := &flagValueWrapper{
-               inner: v,
-       }
-
-       t := reflect.TypeOf(v)
-       if t.Kind() == reflect.Interface || t.Kind() == reflect.Ptr {
-               t = t.Elem()
-       }
-
-       pv.flagType = strings.TrimSuffix(t.Name(), "Value")
-       return pv
-}
-
-func (v *flagValueWrapper) String() string {
-       return v.inner.String()
-}
-
-func (v *flagValueWrapper) Set(s string) error {
-       return v.inner.Set(s)
-}
-
-func (v *flagValueWrapper) Type() string {
-       return v.flagType
-}
-
-// PFlagFromGoFlag will return a *pflag.Flag given a *flag.Flag
-// If the *flag.Flag.Name was a single character (ex: `v`) it will be 
accessiblei
-// with both `-v` and `--v` in flags. If the golang flag was more than a single
-// character (ex: `verbose`) it will only be accessible via `--verbose`
-func PFlagFromGoFlag(goflag *goflag.Flag) *Flag {
-       // Remember the default value as a string; it won't change.
-       flag := &Flag{
-               Name:  goflag.Name,
-               Usage: goflag.Usage,
-               Value: wrapFlagValue(goflag.Value),
-               // Looks like golang flags don't set DefValue correctly  :-(
-               //DefValue: goflag.DefValue,
-               DefValue: goflag.Value.String(),
-       }
-       // Ex: if the golang flag was -v, allow both -v and --v to work
-       if len(flag.Name) == 1 {
-               flag.Shorthand = flag.Name
-       }
-       if fv, ok := goflag.Value.(goBoolFlag); ok && fv.IsBoolFlag() {
-               flag.NoOptDefVal = "true"
-       }
-       return flag
-}
-
-// AddGoFlag will add the given *flag.Flag to the pflag.FlagSet
-func (f *FlagSet) AddGoFlag(goflag *goflag.Flag) {
-       if f.Lookup(goflag.Name) != nil {
-               return
-       }
-       newflag := PFlagFromGoFlag(goflag)
-       f.AddFlag(newflag)
-}
-
-// AddGoFlagSet will add the given *flag.FlagSet to the pflag.FlagSet
-func (f *FlagSet) AddGoFlagSet(newSet *goflag.FlagSet) {
-       if newSet == nil {
-               return
-       }
-       newSet.VisitAll(func(goflag *goflag.Flag) {
-               f.AddGoFlag(goflag)
-       })
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/golangflag_test.go
----------------------------------------------------------------------
diff --git 
a/newt/Godeps/_workspace/src/github.com/spf13/pflag/golangflag_test.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/golangflag_test.go
deleted file mode 100644
index 77e2d7d..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/golangflag_test.go
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2009 The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-package pflag
-
-import (
-       goflag "flag"
-       "testing"
-)
-
-func TestGoflags(t *testing.T) {
-       goflag.String("stringFlag", "stringFlag", "stringFlag")
-       goflag.Bool("boolFlag", false, "boolFlag")
-
-       f := NewFlagSet("test", ContinueOnError)
-
-       f.AddGoFlagSet(goflag.CommandLine)
-       err := f.Parse([]string{"--stringFlag=bob", "--boolFlag"})
-       if err != nil {
-               t.Fatal("expected no error; get", err)
-       }
-
-       getString, err := f.GetString("stringFlag")
-       if err != nil {
-               t.Fatal("expected no error; get", err)
-       }
-       if getString != "bob" {
-               t.Fatalf("expected getString=bob but got getString=%s", 
getString)
-       }
-
-       getBool, err := f.GetBool("boolFlag")
-       if err != nil {
-               t.Fatal("expected no error; get", err)
-       }
-       if getBool != true {
-               t.Fatalf("expected getBool=true but got getBool=%v", getBool)
-       }
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/int.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/int.go
deleted file mode 100644
index b656036..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int.go
+++ /dev/null
@@ -1,87 +0,0 @@
-package pflag
-
-import (
-       "fmt"
-       "strconv"
-)
-
-// -- int Value
-type intValue int
-
-func newIntValue(val int, p *int) *intValue {
-       *p = val
-       return (*intValue)(p)
-}
-
-func (i *intValue) Set(s string) error {
-       v, err := strconv.ParseInt(s, 0, 64)
-       *i = intValue(v)
-       return err
-}
-
-func (i *intValue) Type() string {
-       return "int"
-}
-
-func (i *intValue) String() string { return fmt.Sprintf("%v", *i) }
-
-func intConv(sval string) (interface{}, error) {
-       return strconv.Atoi(sval)
-}
-
-// GetInt return the int value of a flag with the given name
-func (f *FlagSet) GetInt(name string) (int, error) {
-       val, err := f.getFlagType(name, "int", intConv)
-       if err != nil {
-               return 0, err
-       }
-       return val.(int), nil
-}
-
-// IntVar defines an int flag with specified name, default value, and usage 
string.
-// The argument p points to an int variable in which to store the value of the 
flag.
-func (f *FlagSet) IntVar(p *int, name string, value int, usage string) {
-       f.VarP(newIntValue(value, p), name, "", usage)
-}
-
-// IntVarP is like IntVar, but accepts a shorthand letter that can be used 
after a single dash.
-func (f *FlagSet) IntVarP(p *int, name, shorthand string, value int, usage 
string) {
-       f.VarP(newIntValue(value, p), name, shorthand, usage)
-}
-
-// IntVar defines an int flag with specified name, default value, and usage 
string.
-// The argument p points to an int variable in which to store the value of the 
flag.
-func IntVar(p *int, name string, value int, usage string) {
-       CommandLine.VarP(newIntValue(value, p), name, "", usage)
-}
-
-// IntVarP is like IntVar, but accepts a shorthand letter that can be used 
after a single dash.
-func IntVarP(p *int, name, shorthand string, value int, usage string) {
-       CommandLine.VarP(newIntValue(value, p), name, shorthand, usage)
-}
-
-// Int defines an int flag with specified name, default value, and usage 
string.
-// The return value is the address of an int variable that stores the value of 
the flag.
-func (f *FlagSet) Int(name string, value int, usage string) *int {
-       p := new(int)
-       f.IntVarP(p, name, "", value, usage)
-       return p
-}
-
-// IntP is like Int, but accepts a shorthand letter that can be used after a 
single dash.
-func (f *FlagSet) IntP(name, shorthand string, value int, usage string) *int {
-       p := new(int)
-       f.IntVarP(p, name, shorthand, value, usage)
-       return p
-}
-
-// Int defines an int flag with specified name, default value, and usage 
string.
-// The return value is the address of an int variable that stores the value of 
the flag.
-func Int(name string, value int, usage string) *int {
-       return CommandLine.IntP(name, "", value, usage)
-}
-
-// IntP is like Int, but accepts a shorthand letter that can be used after a 
single dash.
-func IntP(name, shorthand string, value int, usage string) *int {
-       return CommandLine.IntP(name, shorthand, value, usage)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/int32.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int32.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/int32.go
deleted file mode 100644
index 41659a9..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int32.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package pflag
-
-import (
-       "fmt"
-       "strconv"
-)
-
-// -- int32 Value
-type int32Value int32
-
-func newInt32Value(val int32, p *int32) *int32Value {
-       *p = val
-       return (*int32Value)(p)
-}
-
-func (i *int32Value) Set(s string) error {
-       v, err := strconv.ParseInt(s, 0, 32)
-       *i = int32Value(v)
-       return err
-}
-
-func (i *int32Value) Type() string {
-       return "int32"
-}
-
-func (i *int32Value) String() string { return fmt.Sprintf("%v", *i) }
-
-func int32Conv(sval string) (interface{}, error) {
-       v, err := strconv.ParseInt(sval, 0, 32)
-       if err != nil {
-               return 0, err
-       }
-       return int32(v), nil
-}
-
-// GetInt32 return the int32 value of a flag with the given name
-func (f *FlagSet) GetInt32(name string) (int32, error) {
-       val, err := f.getFlagType(name, "int32", int32Conv)
-       if err != nil {
-               return 0, err
-       }
-       return val.(int32), nil
-}
-
-// Int32Var defines an int32 flag with specified name, default value, and 
usage string.
-// The argument p points to an int32 variable in which to store the value of 
the flag.
-func (f *FlagSet) Int32Var(p *int32, name string, value int32, usage string) {
-       f.VarP(newInt32Value(value, p), name, "", usage)
-}
-
-// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used 
after a single dash.
-func (f *FlagSet) Int32VarP(p *int32, name, shorthand string, value int32, 
usage string) {
-       f.VarP(newInt32Value(value, p), name, shorthand, usage)
-}
-
-// Int32Var defines an int32 flag with specified name, default value, and 
usage string.
-// The argument p points to an int32 variable in which to store the value of 
the flag.
-func Int32Var(p *int32, name string, value int32, usage string) {
-       CommandLine.VarP(newInt32Value(value, p), name, "", usage)
-}
-
-// Int32VarP is like Int32Var, but accepts a shorthand letter that can be used 
after a single dash.
-func Int32VarP(p *int32, name, shorthand string, value int32, usage string) {
-       CommandLine.VarP(newInt32Value(value, p), name, shorthand, usage)
-}
-
-// Int32 defines an int32 flag with specified name, default value, and usage 
string.
-// The return value is the address of an int32 variable that stores the value 
of the flag.
-func (f *FlagSet) Int32(name string, value int32, usage string) *int32 {
-       p := new(int32)
-       f.Int32VarP(p, name, "", value, usage)
-       return p
-}
-
-// Int32P is like Int32, but accepts a shorthand letter that can be used after 
a single dash.
-func (f *FlagSet) Int32P(name, shorthand string, value int32, usage string) 
*int32 {
-       p := new(int32)
-       f.Int32VarP(p, name, shorthand, value, usage)
-       return p
-}
-
-// Int32 defines an int32 flag with specified name, default value, and usage 
string.
-// The return value is the address of an int32 variable that stores the value 
of the flag.
-func Int32(name string, value int32, usage string) *int32 {
-       return CommandLine.Int32P(name, "", value, usage)
-}
-
-// Int32P is like Int32, but accepts a shorthand letter that can be used after 
a single dash.
-func Int32P(name, shorthand string, value int32, usage string) *int32 {
-       return CommandLine.Int32P(name, shorthand, value, usage)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/int64.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int64.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/int64.go
deleted file mode 100644
index 6e67e38..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int64.go
+++ /dev/null
@@ -1,87 +0,0 @@
-package pflag
-
-import (
-       "fmt"
-       "strconv"
-)
-
-// -- int64 Value
-type int64Value int64
-
-func newInt64Value(val int64, p *int64) *int64Value {
-       *p = val
-       return (*int64Value)(p)
-}
-
-func (i *int64Value) Set(s string) error {
-       v, err := strconv.ParseInt(s, 0, 64)
-       *i = int64Value(v)
-       return err
-}
-
-func (i *int64Value) Type() string {
-       return "int64"
-}
-
-func (i *int64Value) String() string { return fmt.Sprintf("%v", *i) }
-
-func int64Conv(sval string) (interface{}, error) {
-       return strconv.ParseInt(sval, 0, 64)
-}
-
-// GetInt64 return the int64 value of a flag with the given name
-func (f *FlagSet) GetInt64(name string) (int64, error) {
-       val, err := f.getFlagType(name, "int64", int64Conv)
-       if err != nil {
-               return 0, err
-       }
-       return val.(int64), nil
-}
-
-// Int64Var defines an int64 flag with specified name, default value, and 
usage string.
-// The argument p points to an int64 variable in which to store the value of 
the flag.
-func (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string) {
-       f.VarP(newInt64Value(value, p), name, "", usage)
-}
-
-// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used 
after a single dash.
-func (f *FlagSet) Int64VarP(p *int64, name, shorthand string, value int64, 
usage string) {
-       f.VarP(newInt64Value(value, p), name, shorthand, usage)
-}
-
-// Int64Var defines an int64 flag with specified name, default value, and 
usage string.
-// The argument p points to an int64 variable in which to store the value of 
the flag.
-func Int64Var(p *int64, name string, value int64, usage string) {
-       CommandLine.VarP(newInt64Value(value, p), name, "", usage)
-}
-
-// Int64VarP is like Int64Var, but accepts a shorthand letter that can be used 
after a single dash.
-func Int64VarP(p *int64, name, shorthand string, value int64, usage string) {
-       CommandLine.VarP(newInt64Value(value, p), name, shorthand, usage)
-}
-
-// Int64 defines an int64 flag with specified name, default value, and usage 
string.
-// The return value is the address of an int64 variable that stores the value 
of the flag.
-func (f *FlagSet) Int64(name string, value int64, usage string) *int64 {
-       p := new(int64)
-       f.Int64VarP(p, name, "", value, usage)
-       return p
-}
-
-// Int64P is like Int64, but accepts a shorthand letter that can be used after 
a single dash.
-func (f *FlagSet) Int64P(name, shorthand string, value int64, usage string) 
*int64 {
-       p := new(int64)
-       f.Int64VarP(p, name, shorthand, value, usage)
-       return p
-}
-
-// Int64 defines an int64 flag with specified name, default value, and usage 
string.
-// The return value is the address of an int64 variable that stores the value 
of the flag.
-func Int64(name string, value int64, usage string) *int64 {
-       return CommandLine.Int64P(name, "", value, usage)
-}
-
-// Int64P is like Int64, but accepts a shorthand letter that can be used after 
a single dash.
-func Int64P(name, shorthand string, value int64, usage string) *int64 {
-       return CommandLine.Int64P(name, shorthand, value, usage)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/int8.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int8.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/int8.go
deleted file mode 100644
index 400db21..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int8.go
+++ /dev/null
@@ -1,91 +0,0 @@
-package pflag
-
-import (
-       "fmt"
-       "strconv"
-)
-
-// -- int8 Value
-type int8Value int8
-
-func newInt8Value(val int8, p *int8) *int8Value {
-       *p = val
-       return (*int8Value)(p)
-}
-
-func (i *int8Value) Set(s string) error {
-       v, err := strconv.ParseInt(s, 0, 8)
-       *i = int8Value(v)
-       return err
-}
-
-func (i *int8Value) Type() string {
-       return "int8"
-}
-
-func (i *int8Value) String() string { return fmt.Sprintf("%v", *i) }
-
-func int8Conv(sval string) (interface{}, error) {
-       v, err := strconv.ParseInt(sval, 0, 8)
-       if err != nil {
-               return 0, err
-       }
-       return int8(v), nil
-}
-
-// GetInt8 return the int8 value of a flag with the given name
-func (f *FlagSet) GetInt8(name string) (int8, error) {
-       val, err := f.getFlagType(name, "int8", int8Conv)
-       if err != nil {
-               return 0, err
-       }
-       return val.(int8), nil
-}
-
-// Int8Var defines an int8 flag with specified name, default value, and usage 
string.
-// The argument p points to an int8 variable in which to store the value of 
the flag.
-func (f *FlagSet) Int8Var(p *int8, name string, value int8, usage string) {
-       f.VarP(newInt8Value(value, p), name, "", usage)
-}
-
-// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used 
after a single dash.
-func (f *FlagSet) Int8VarP(p *int8, name, shorthand string, value int8, usage 
string) {
-       f.VarP(newInt8Value(value, p), name, shorthand, usage)
-}
-
-// Int8Var defines an int8 flag with specified name, default value, and usage 
string.
-// The argument p points to an int8 variable in which to store the value of 
the flag.
-func Int8Var(p *int8, name string, value int8, usage string) {
-       CommandLine.VarP(newInt8Value(value, p), name, "", usage)
-}
-
-// Int8VarP is like Int8Var, but accepts a shorthand letter that can be used 
after a single dash.
-func Int8VarP(p *int8, name, shorthand string, value int8, usage string) {
-       CommandLine.VarP(newInt8Value(value, p), name, shorthand, usage)
-}
-
-// Int8 defines an int8 flag with specified name, default value, and usage 
string.
-// The return value is the address of an int8 variable that stores the value 
of the flag.
-func (f *FlagSet) Int8(name string, value int8, usage string) *int8 {
-       p := new(int8)
-       f.Int8VarP(p, name, "", value, usage)
-       return p
-}
-
-// Int8P is like Int8, but accepts a shorthand letter that can be used after a 
single dash.
-func (f *FlagSet) Int8P(name, shorthand string, value int8, usage string) 
*int8 {
-       p := new(int8)
-       f.Int8VarP(p, name, shorthand, value, usage)
-       return p
-}
-
-// Int8 defines an int8 flag with specified name, default value, and usage 
string.
-// The return value is the address of an int8 variable that stores the value 
of the flag.
-func Int8(name string, value int8, usage string) *int8 {
-       return CommandLine.Int8P(name, "", value, usage)
-}
-
-// Int8P is like Int8, but accepts a shorthand letter that can be used after a 
single dash.
-func Int8P(name, shorthand string, value int8, usage string) *int8 {
-       return CommandLine.Int8P(name, shorthand, value, usage)
-}

http://git-wip-us.apache.org/repos/asf/incubator-mynewt-newt/blob/b002dd0c/newt/Godeps/_workspace/src/github.com/spf13/pflag/int_slice.go
----------------------------------------------------------------------
diff --git a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int_slice.go 
b/newt/Godeps/_workspace/src/github.com/spf13/pflag/int_slice.go
deleted file mode 100644
index 1e7c9ed..0000000
--- a/newt/Godeps/_workspace/src/github.com/spf13/pflag/int_slice.go
+++ /dev/null
@@ -1,128 +0,0 @@
-package pflag
-
-import (
-       "fmt"
-       "strconv"
-       "strings"
-)
-
-// -- intSlice Value
-type intSliceValue struct {
-       value   *[]int
-       changed bool
-}
-
-func newIntSliceValue(val []int, p *[]int) *intSliceValue {
-       isv := new(intSliceValue)
-       isv.value = p
-       *isv.value = val
-       return isv
-}
-
-func (s *intSliceValue) Set(val string) error {
-       ss := strings.Split(val, ",")
-       out := make([]int, len(ss))
-       for i, d := range ss {
-               var err error
-               out[i], err = strconv.Atoi(d)
-               if err != nil {
-                       return err
-               }
-
-       }
-       if !s.changed {
-               *s.value = out
-       } else {
-               *s.value = append(*s.value, out...)
-       }
-       s.changed = true
-       return nil
-}
-
-func (s *intSliceValue) Type() string {
-       return "intSlice"
-}
-
-func (s *intSliceValue) String() string {
-       out := make([]string, len(*s.value))
-       for i, d := range *s.value {
-               out[i] = fmt.Sprintf("%d", d)
-       }
-       return "[" + strings.Join(out, ",") + "]"
-}
-
-func intSliceConv(val string) (interface{}, error) {
-       val = strings.Trim(val, "[]")
-       // Empty string would cause a slice with one (empty) entry
-       if len(val) == 0 {
-               return []int{}, nil
-       }
-       ss := strings.Split(val, ",")
-       out := make([]int, len(ss))
-       for i, d := range ss {
-               var err error
-               out[i], err = strconv.Atoi(d)
-               if err != nil {
-                       return nil, err
-               }
-
-       }
-       return out, nil
-}
-
-// GetIntSlice return the []int value of a flag with the given name
-func (f *FlagSet) GetIntSlice(name string) ([]int, error) {
-       val, err := f.getFlagType(name, "intSlice", intSliceConv)
-       if err != nil {
-               return []int{}, err
-       }
-       return val.([]int), nil
-}
-
-// IntSliceVar defines a intSlice flag with specified name, default value, and 
usage string.
-// The argument p points to a []int variable in which to store the value of 
the flag.
-func (f *FlagSet) IntSliceVar(p *[]int, name string, value []int, usage 
string) {
-       f.VarP(newIntSliceValue(value, p), name, "", usage)
-}
-
-// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can 
be used after a single dash.
-func (f *FlagSet) IntSliceVarP(p *[]int, name, shorthand string, value []int, 
usage string) {
-       f.VarP(newIntSliceValue(value, p), name, shorthand, usage)
-}
-
-// IntSliceVar defines a int[] flag with specified name, default value, and 
usage string.
-// The argument p points to a int[] variable in which to store the value of 
the flag.
-func IntSliceVar(p *[]int, name string, value []int, usage string) {
-       CommandLine.VarP(newIntSliceValue(value, p), name, "", usage)
-}
-
-// IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can 
be used after a single dash.
-func IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string) 
{
-       CommandLine.VarP(newIntSliceValue(value, p), name, shorthand, usage)
-}
-
-// IntSlice defines a []int flag with specified name, default value, and usage 
string.
-// The return value is the address of a []int variable that stores the value 
of the flag.
-func (f *FlagSet) IntSlice(name string, value []int, usage string) *[]int {
-       p := []int{}
-       f.IntSliceVarP(&p, name, "", value, usage)
-       return &p
-}
-
-// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used 
after a single dash.
-func (f *FlagSet) IntSliceP(name, shorthand string, value []int, usage string) 
*[]int {
-       p := []int{}
-       f.IntSliceVarP(&p, name, shorthand, value, usage)
-       return &p
-}
-
-// IntSlice defines a []int flag with specified name, default value, and usage 
string.
-// The return value is the address of a []int variable that stores the value 
of the flag.
-func IntSlice(name string, value []int, usage string) *[]int {
-       return CommandLine.IntSliceP(name, "", value, usage)
-}
-
-// IntSliceP is like IntSlice, but accepts a shorthand letter that can be used 
after a single dash.
-func IntSliceP(name, shorthand string, value []int, usage string) *[]int {
-       return CommandLine.IntSliceP(name, shorthand, value, usage)
-}


Reply via email to