lunarmodules / lua_cliargs

A command-line argument parsing module for Lua.
MIT License
123 stars 24 forks source link

Crash when reading numbers and/or boolean values from ini files #64

Open deining opened 4 years ago

deining commented 4 years ago

Even with #63 applied, reading from .ini files can fail:

Minimum working example:

test.ini

[database]
verbose=true
port=5432

test.lua

1 cli = require 'cliargs';
2 tbl = cli:read_defaults('test.ini', 'ini', 'database', false);

Running test.lua result in this error:

attempt to index a boolean value (local 'str')
stack traceback:
    ./cliargs/utils/trim.lua:3: in function 'cliargs.utils.trim'
    ./cliargs/config_loader.lua:99: in function 'cliargs.config_loader.from_ini'
    (...tail calls...)
    ./test.lua:2: in main chunk
    [C]: in ?

Notes:

deining commented 4 years ago

PR #63 now contains a failing test case #read_defaults_from_ini_file_group_with_cast related this issue. It is currently disabled as there is no fix available yet.