bash_ini_parser icon indicating copy to clipboard operation
bash_ini_parser copied to clipboard

Parsing fails if Windows style CRLF line endings are used

Open knyri opened this issue 9 years ago • 1 comments

First off: this is excellent and has saved me a lot of time. Thank you for making it and making it public.

I came across this issue when making the linux equivalent of an existing windows installer.

Works fine after converting the CRLF to LF. This is on Ubuntu 16.04.

My guess is that read only looks for LF and the trailing CR is causing it to fail the section regex test.

Example INI:

[smtp]
host=example.com
port=25
authentication=true
use_tls=true
[email protected]
username=ex
password=expass

Save it with CRLF line endings and read_ini setup.ini -p setup -b 0 will fail with

Error: Invalid line: 1: [smtp]

knyri avatar Dec 02 '16 16:12 knyri

possible fix:

dos_ini_file=$ini_file
unset $ini_file
tr -d '\r' < $dos_ini_file > $ini_file

pegasusict avatar Mar 24 '18 23:03 pegasusict