X-Git-Url: http://ftp.carnet.hr/carnet-debian/scm?p=carnet-tools-cn.git;a=blobdiff_plain;f=functions.sh;h=28877c5a1849396ccfe7c09554237795f92581e8;hp=cc892b7d5b6bb391fd29dc07f5e476361ae11120;hb=78cf4902f1c46307ce7408229c40f67ecc3552ec;hpb=b8722272394af7853b62e502d3c909e289872277 diff --git a/functions.sh b/functions.sh index cc892b7..28877c5 100644 --- a/functions.sh +++ b/functions.sh @@ -173,15 +173,18 @@ cp_backup_conffile() { did=1 fi fi - - if [ "$check" -a "$did" ]; then - return 0 - else + + [ -z "$check" ] && return 0 + + if [ "$check" -a ! "$did" ]; then return 3 + else + return 0 fi } # by jelly, Tue, 15 Mar 2005 14:04:21 +0100 +# modified by ico, Mon, 6 Jun 2005 11:58:08 +0200 # A sed wrapper, to use instead of perl -pi -e # - relatively safe in-place s///g # - takes care of symlinks and ownership @@ -190,6 +193,9 @@ cp_backup_conffile() { cp_check_and_sed() { [ "$CP_SCRIPT_DEBUG" ] && set -vx local s sedcmd grepret ret i + if [ -z "$3" ]; then + return 1 + fi s="$1" shift sedcmd="$1" @@ -204,6 +210,11 @@ cp_check_and_sed() { fi [ -h "$i" ] && i=$(readlink -f "$i") sed "$sedcmd" "$i" > "$i.dpkg-tmp" + if [ $? -ne 0 ]; then + rm "$i.dpkg-tmp" + echo "cp_check_and_sed: Problem with sed" 1>&2 + return 5 + fi if ! cmp -s "$i" "$i.dpkg-tmp" 2>&1 >/dev/null; then cp_mv "$i.dpkg-tmp" "$i" else @@ -211,7 +222,7 @@ cp_check_and_sed() { fi ret=0 done - [ "$ret" -eq 2 -a "$grepret"] && ret=1 || true + [ "$ret" -eq 2 -a "$grepret" ] && ret=1 || true return $ret } @@ -276,6 +287,7 @@ cp_mv () { fi mv "$new" "$old" } + # by ddzeko, Mon, 21 Mar 2005 13:35:42 +0100 cp_yes_no () { [ "$CP_SCRIPT_DEBUG" ] && set -vx