]> git.plutz.net Git - cgilite/blobdiff - storage.sh
use debug function for error output
[cgilite] / storage.sh
index d84f0c26d6529ddbbf5555de53902e96b23eedc5..f53fe7f9ed027cfc0dce4cb38661655832c269da 100755 (executable)
@@ -29,18 +29,18 @@ LOCK(){
   lock="${1}.lock"
   timeout="${2-20}"
   if [ \! -w "${lock%/*}" ] || [ -e "$lock" -a \! -d "$lock" ]; then
-    printf 'Impossible to get lock: %s\n' "$lock" >&2
+    debug "Impossible to get lock: $lock"
     return 1
   fi
 
   while ! mkdir "$lock" 2>&-; do
     block="$(cat "$lock/pid" || printf 1)"
     if ! { ps -eo pid |grep -qwF "$block"; }; then
-      printf 'Overriding stale lock: %s\n' "$lock" >&2
+      debug "Overriding stale lock: $lock"
       break
     fi
     if [ $timeout -le 0 ]; then
-      printf 'Timeout while trying to get lock: %s\n' "$lock" >&2
+      debug "Timeout while trying to get lock: $lock"
       return 1
     fi
     timeout=$((timeout - 1))
@@ -56,13 +56,13 @@ RELEASE(){
   if [ "$(cat "$lock/pid")" = "$$" ]; then
     rm "$lock/pid"
     if ! rmdir "$lock"; then
-      printf 'Cannot remove tainted lock: %s\n' "$lock" >&2
+      debug "Cannot remove tainted lock: $lock"
       printf '%i\n' $$ >"${lock}/pid"
       return 1
     fi
     return 0
   else
-    printf 'Refusing to release foreign lock: %s\n' "$lock" >&2
+    debug "Refusing to release foreign lock: $lock"
     return 1
   fi
 }
@@ -91,7 +91,7 @@ STRING(){
     "  "*) out="${out}\\t"; in="${in#  }" ;;
     +*) out="${out}\\+"; in="${in#+}" ;;
     " "*) out="${out}+"; in="${in# }" ;;
-    *) out="${out}${in%%[\\${CR}${BR}  + ]*}"; in="${in#${in%%[\\${BR}${CR}    + ]*}}" ;;
+    *) out="${out}${in%%[\\${CR}${BR}  + ]*}"; in="${in#"${in%%[\\${BR}${CR}   + ]*}"}" ;;
   esac; done
   printf '%s' "$out"
 }
@@ -122,7 +122,7 @@ UNSTRING(){
     \\+) out="${out}+"; in="${in#\\+}" ;;
     +*) out="${out} "; in="${in#+}" ;;
     \\*) in="${in#\\}" ;;
-    *) out="${out}${in%%[\\+]*}"; in="${in#${in%%[\\+]*}}" ;;
+    *) out="${out}${in%%[\\+]*}"; in="${in#"${in%%[\\+]*}"}" ;;
   esac; done
   printf '%s' "$out"
 }