#!/bin/bash
#
# This file is sourced by other sdm scripts
#
function readparams() {
    #
    # Restores the global variables from /etc/sdm/cparams
    #
    local rpifun value cf="$SDMPT/etc/sdm/cparams" snolq
    if [ -f $cf ]
    then
	while IFS=":" read -r rpifun value
	do
	    if [[ ! $rpifun =~ ^\ *# && -n $rpifun ]] # skip comment and malformed lines
            then
		# Cant' use stripquotes, it's in sdm-cparse, and can't source it w/o processing this first ($sdmdir)
		#value="${value%%\#*}"    # Del EOL comments
		value="${value%"${value##*[^[:blank:]]}"}"  # Del trailing spaces/tabs
		snolq="${value#\"}"        # Get string without open quote
		if [ "$snolq" != "$value" ] # if lq was there, then update string and also del close quote
		then
		    value=$snolq
		    value="${value%\"}"
		fi
		snolq="${value#\'}"        # Get string without open quote
		if [ "$snolq" != "$value" ] # Ditto double quote comment
		then
		    value=$snolq
		    value="${value%\'}"
		fi
		printf -v "$rpifun" "%s" "$value"     #eval "${rpifun}=\"$value\""

	    fi
	done < $cf
    fi
    [ -f $SDMPT/$sdmdir/sdm-cparse ] && source $SDMPT/$sdmdir/sdm-cparse || echo "? Internal error: File '$SDMPT/$sdmdir/sdm-cparse' not found in readparams"
    return
}
# Call the function after we've been sourced
readparams
