backupninja/lib/tools.in
Matthijs Kooijman 78884142e7 Add a vim modeline with indentation settings.
The modelines added match the emacs lines already present and also set
the filetype to sh (just like the emacs lines).
2009-05-23 10:42:20 +02:00

50 lines
1.2 KiB
Bash

#!@BASH@
# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
# vim: set filetype=sh sw=3 sts=3 expandtab autoindent:
# This file contains functions shared between ninjahelper and backupninja.
#####################################################
## MISC FUNCTIONS
#
# create a temporary file in a secure way.
#
function maketemp() {
local tempfile=`mktemp /tmp/$1.XXXXXXXX`
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'
}