ini-tools.sh: Now not passing inifile as global variable any longer

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2016-11-02 09:49:34 +00:00
commit 0b3332cc56
3 changed files with 63 additions and 28 deletions

View file

@ -1,18 +1,21 @@
ini_section()
{
local sec="$1"
local inifile="$1"
local sec="$2"
cat "$inifile" |
cut -d\# -f1 |
tr -s '\n' '\n' |
sed -n "/\[$sec\]/,/\[/ p" |
grep -v '\['
grep -v '\[' |
sed '/^ *$/ d'
}
ini_value()
{
local path=$1
local sec=`echo $1 | sed 's/\.[^.]\+$//'`
local key=`echo $1 | sed 's/.*\.//'`
local inifile="$1"
local path="$2"
local sec=`echo "$path" | sed 's/\.[^.]\+$//'`
local key=`echo "$path" | sed 's/.*\.//'`
# echo "path=>$path<"
# echo "sec=>$sec<"
@ -27,9 +30,20 @@ ini_value()
/^ *$key *=/ !d
s/^ *$key *= *//
s/ *$//
/^ *$/ d
"
}
ini_has_section()
{
ini_section $@ | grep -q .
}
ini_has_value()
{
ini_value $@ | grep -q .
}
ini_escape()
{
cat | sed '
@ -37,3 +51,4 @@ ini_escape()
s/`/\\\`/g
'
}