aboutsummaryrefslogtreecommitdiff
path: root/lib/tools.in
diff options
context:
space:
mode:
Diffstat (limited to 'lib/tools.in')
-rw-r--r--lib/tools.in48
1 files changed, 48 insertions, 0 deletions
diff --git a/lib/tools.in b/lib/tools.in
new file mode 100644
index 0000000..0005be9
--- /dev/null
+++ b/lib/tools.in
@@ -0,0 +1,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'
+}