#!/usr/bin/env bash
#  Copyright (c) 2016 TeraByte, Inc. - All Rights Reserved.
#  Licensed for use subject to BSD-3 license text.
# Usage: $(MakeAnyCase String)
function MakeAnyCase()
{
	awk -F '""'  '{ for (i=0; ++i <= length($0);) printf "[%s%s]", toupper(substr($0, i, 1)), tolower(substr($0, i, 1)) }' <<< "$1"
}
# Usage: $(ReadIniValue FileName, SectionName, ValueName)
function ReadIniValue()
{
	if [ ! -e "$1" ]; then 
		exit
	fi
	secsch=$(MakeAnyCase "$2")
	valsch=$(MakeAnyCase "$3")
	sed -n -e '/^\['"$secsch"'\]/,/^\[.*\]/ s|^[ \t]*\('"$valsch"'[ \t]*=[ \t]*\)\(.*$\)|\2|p' "$1"
}
# Usage: WriteIniValue FileName, SectionName, ValueName, Value
function WriteIniValue()
{
	if [ ! -e "$1" ]; then 
		touch "$1"
	fi
	secsch=$(MakeAnyCase "$2")
	valsch=$(MakeAnyCase "$3")

	# check that section exists
	check=$(sed -n -e '/^\['"$secsch"'\]/,/^\[.*\]/{p;q}' "$1")
	if [ "$check" = "" ]; then
		echo "[$2]" >> "$1"
		echo "$3=$4" >> "$1"
	else
		check=$(sed -n -e '/^\['"$secsch"'\]/,/^\[.*\]/ s|^[ \t]*\('"$valsch"'[ \t]*=[ \t]*\)\(.*$\)|\1|p' "$1")
		if [ "$check" = "" ]; then
			sed -i 's|^\(\['"$secsch"'\].*$\)|\1'"\n$3"'='"$4"'|' "$1"
		else
			sed -i -e '/^\['"$secsch"'\]/,/^\[.*\]/ s|^[ \t]*\('"$valsch"'[ \t]*=[ \t]*\)\(.*$\)|\1'"$4"'|' "$1"
		fi
	fi
}



