internal/flags: fix --miner.gasprice default listing (#28932)

This commit is contained in:
Daniel Liu 2024-11-25 16:39:29 +08:00
parent ac611170d1
commit a6192a5980

View file

@ -256,7 +256,8 @@ type BigFlag struct {
Hidden bool
HasBeenSet bool
Value *big.Int
Value *big.Int
defaultValue *big.Int
Aliases []string
EnvVars []string
@ -269,6 +270,10 @@ func (f *BigFlag) IsSet() bool { return f.HasBeenSet }
func (f *BigFlag) String() string { return cli.FlagStringer(f) }
func (f *BigFlag) Apply(set *flag.FlagSet) error {
// Set default value so that environment wont be able to overwrite it
if f.Value != nil {
f.defaultValue = new(big.Int).Set(f.Value)
}
for _, envVar := range f.EnvVars {
envVar = strings.TrimSpace(envVar)
if value, found := syscall.Getenv(envVar); found {
@ -283,7 +288,6 @@ func (f *BigFlag) Apply(set *flag.FlagSet) error {
f.Value = new(big.Int)
set.Var((*bigValue)(f.Value), name, f.Usage)
})
return nil
}
@ -310,7 +314,7 @@ func (f *BigFlag) GetDefaultText() string {
if f.DefaultText != "" {
return f.DefaultText
}
return f.GetValue()
return f.defaultValue.String()
}
// bigValue turns *big.Int into a flag.Value