Skip to content

Commit e553f16

Browse files
[expr] Add support for empty values
1 parent 8d08985 commit e553f16

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

newt/syscfg/eval.go

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -327,15 +327,22 @@ func (cfg *Cfg) evalEntry(entry CfgEntry) (CfgEntry, error) {
327327

328328
entry.EvalOrigValue = entry.Value
329329

330-
node, _ := parser.ParseExpr(entry.Value)
331-
newVal, err := cfg.exprEvalNode(node)
332-
if err != nil {
333-
entry.EvalState = CFG_EVAL_STATE_FAILED
334-
entry.EvalError = err
335-
cfg.Settings[entry.Name] = entry
336-
cfg.InvalidExpressions[entry.Name] = struct{}{}
337-
err = util.FmtNewtError("")
338-
return entry, err
330+
var newVal interface{}
331+
332+
if len(entry.Value) > 0 {
333+
var err error
334+
node, _ := parser.ParseExpr(entry.Value)
335+
newVal, err = cfg.exprEvalNode(node, &entry)
336+
if err != nil {
337+
entry.EvalState = CFG_EVAL_STATE_FAILED
338+
entry.EvalError = err
339+
cfg.Settings[entry.Name] = entry
340+
cfg.InvalidExpressions[entry.Name] = struct{}{}
341+
err = util.FmtNewtError("")
342+
return entry, err
343+
}
344+
} else {
345+
newVal = ""
339346
}
340347

341348
switch val := newVal.(type) {

0 commit comments

Comments
 (0)