aboutsummaryrefslogtreecommitdiff
path: root/lib/tools.in
blob: 0d368b8938b0ca1399840fc153c163237cc8f51b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#!@BASH@
# -*- 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() {
   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'
}