From faaf01a6e019eadf76bfb8960cbbffa7f1c4c921 Mon Sep 17 00:00:00 2001
From: Damir Dzeko <Damir.Dzeko@CARNet.hr>
Date: Tue, 29 Mar 2005 20:28:57 +0000
Subject: [PATCH] r34: ispravke vezano uz cp_db_get

---
 README.CARNet  |   14 ++++++++------
 carnet-tools.8 |    5 ++++-
 functions.sh   |   12 ++++++++++--
 3 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/README.CARNet b/README.CARNet
index 1ec6ee1..8ee99b4 100644
--- a/README.CARNet
+++ b/README.CARNet
@@ -75,15 +75,17 @@ cp_mv <new-file> <target-file>
 
 cp_yes_no [<prompt>]
 
-        Funkcija za jednostavni (y)es/(n)o dijalog. Odgovor y/n vraca u RET.
+	Funkcija za jednostavni (y)es/(n)o dijalog. Odgovor y/n vraca u RET.
 	Valja napomenuti da je kao i sve ostalo sto trosi stdin/stdout 
-        nekompatibilan s debconfom (doticnog treba pogasiti prvo).
+	nekompatibilan s debconfom (doticnog treba pogasiti prvo).
 
-cp_db_get_wrap <package>/<variable>
-
-        Wrapper za debconfovu funkciju db_get koji umjesto neke neocekivane
-        greske vrati prazni RET. Kome treba greska neka ga ne koristi.
+cp_db_get <package>/<variable>
 
+	Wrapper za debconfovu funkciju db_get koji umjesto neke neocekivane
+	greske vrati prazni RET. Kome treba greska neka ga ne koristi.
+	Funkcija je namijenjena koristenju na mjestu gdje se inace poziva 
+	db_get, sto znaci da korisnik mora sam napraviti sve potrebne 
+	predradnje, od  . /usr/share/debconf/confmodule  nadalje.
 
 Funkcije cije ime pocinje sa cp_get_ pohranjuju rezultat u varijabli $RET,
 a one s prefiksom cp_check_ kao rezultat vracaju exit status.  U pozivnoj
diff --git a/carnet-tools.8 b/carnet-tools.8
index 8e2322b..593ed2f 100644
--- a/carnet-tools.8
+++ b/carnet-tools.8
@@ -112,9 +112,12 @@ Funkcija za jednostavni \fUy\fRes/\fUn\fRo dijalog. Odgovor '\fBy\fR' | '\fBn\fR
 vraca u RET. Valja napomenuti da je kao i sve ostalo sto koristi stdin/stdout
 nekompatibilan s debconfom (doticnog treba ugasiti prvo).
 .TP
-\fBcp_db_get_wrap\fR \fIpackage\fR\fB/\fR\fIvariable\fR
+\fBcp_db_get\fR \fIpackage\fR\fB/\fR\fIvariable\fR
 Wrapper za debconfovu funkciju db_get koji umjesto neke neocekivane
 greske vrati prazni \fBRET\fR. Kome treba greska neka ga ne koristi.
+Funkcija je namijenjena koristenju na mjestu gdje se inace poziva
+\fBdb_get\fR, sto znaci da korisnik mora sam napraviti sve potrebne
+predradnje, od \fB. /usr/share/debconf/confmodule\fR nadalje.
 .PP
 Funkcije cije ime pocinje sa \fBcp_get_\fR pohranjuju rezultat u varijabli \fB$RET\fR,
 a one s prefiksom cp_check_ kao rezultat vracaju exit status.  U pozivnoj
diff --git a/functions.sh b/functions.sh
index 3141959..bf92729 100644
--- a/functions.sh
+++ b/functions.sh
@@ -264,7 +264,7 @@ cp_yes_no () {
   # check to prevent user from using this when debconf is active
   # (it would break communication with its backend - uses stdin/out)
   if [ "$DEBCONF_REDIR" ]; then
-    echo "cn_yes_no: debconf redirection detected" >&2
+    echo "cp_yes_no: debconf redirection detected" >&2
     return 1
   fi
 
@@ -295,9 +295,17 @@ cp_yes_no () {
 # --> that's why we wrap the db_get call to return unset RET variable
 #     instead of some gibberish error message that our script does
 #     not expect
-cp_db_get_wrap() {
+cp_db_get() {
   local var
   var="$1"
+  
+  # check to prevent user from using this before activating debconf
+  # confmodule needs to be loaded before accessing db_* functions
+  if [ -z "$DEBCONF_REDIR" ]; then
+    echo "cp_db_get_wrap: debconf not activated!" >&2
+    return 1
+  fi
+ 
   if ! db_get "$var"; then
     case "$RET" in
         *doesn\'t\ exist)
-- 
1.7.10.4