Skip to content
Snippets Groups Projects
tools.in 1.24 KiB
Newer Older
  • Learn to ignore specific revisions
  • # -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
    
    # This file contains functions shared between ninjahelper and backupninja.
    
    #####################################################
    ## MISC FUNCTIONS
    
    
    #
    # create a temporary file in a secure way.
    #
    function maketemp() {
    	if [ -x /bin/mktemp ]
    	then
    		local tempfile=`mktemp /tmp/$1.XXXXXXXX`
    	else
    		DATE=`date`
    
    		sectmp=`echo $DATE | @MD5SUM@ | cut -d- -f1`
    
    		local tempfile=/tmp/$1.$sectmp
    	fi
    	echo $tempfile
    }
    
    
    #####################################################
    ## CONFIG-FILE RELATED FUNCTIONS
    
    function setfile() {
    	CURRENT_CONF_FILE=$1
    }
    
    function setsection() {
    	CURRENT_SECTION=$1
    }
    
    #
    # sets a global var with name equal to $1
    # to the value of the configuration parameter $1
    # $2 is the default.
    # 
    function getconf() {
    	CURRENT_PARAM=$1
    
    	ret=`@AWK@ -f $libdirectory/parseini S=$CURRENT_SECTION P=$CURRENT_PARAM $CURRENT_CONF_FILE`
    
    	# if nothing is returned, set the default
    	if [ "$ret" == "" -a "$2" != "" ]; then
    		ret="$2"
    	fi
    
    	# replace * with %, so that it is not globbed.
    	ret="${ret//\\*/__star__}"
    
    	# this is weird, but single quotes are needed to 
    	# allow for returned values with spaces. $ret is still expanded
    	# because it is in an 'eval' statement.
    	eval $1='$ret'
    }