]> git.plutz.net Git - serve0/blobdiff - db_meta.sh
bugfix: typo caused clearing of fields on update
[serve0] / db_meta.sh
index e78bcc51dcb11ab7a9446390661cb9f5da4400c0..ddbe911181f1d49e2d6090681030359895daa164 100755 (executable)
@@ -15,7 +15,7 @@ LOCAL_META='local \
   META_LENGTH META_WIDTH META_HEIGHT META_TAGS META_COMMENT META_NAME
 '
 
-eval "$UNSET_VIDEO"
+eval "$UNSET_META"
 
 read_meta() {
   local name="$1" meta_db="$_DATA/.index/meta"
@@ -31,10 +31,9 @@ read_meta() {
   if [ $# -eq 0 ]; then
     read -r META_LENGTH META_WIDTH META_HEIGHT META_TAGS META_COMMENT META_NAME
   elif [ "$name" -a -f "$meta_db" -a -r "$meta_db" ]; then
-    while read -r META_LENGTH META_WIDTH META_HEIGHT META_TAGS META_COMMENT META_NAME; do
-      [ "${META_NAME%${CR}}" = "$name" ] && break
-    done <"${meta_db}"
-    [ "${META_NAME%${CR}}" = "$name" ] || eval "$UNSET_META"
+    read -r META_LENGTH META_WIDTH META_HEIGHT META_TAGS META_COMMENT META_NAME <<-EOF
+       $(grep -F "     ${name}${CR}" "$meta_db")
+       EOF
   fi
   if [ "$META_NAME" ]; then
        META_NAME="$(UNSTRING "${META_NAME%${CR}}")"
@@ -48,7 +47,7 @@ read_meta() {
 
 update_meta(){
   local name="${1:=${META_NAME}}" tags comment length width height
-  eval LENGTH WIDTH HEIGH TAGS COMMENT NAME
+  local LENGTH WIDTH HEIGH TAGS COMMENT NAME
   local arg cnt meta_db="$_DATA/.index/meta"
 
   [ "${name%%/*}" != "$name" ] \
@@ -75,7 +74,7 @@ update_meta(){
                "$(STRING "${name-$(UNSTRING "${NAME%${CR}}")}")"
       else
         printf '%i     %i      %i      tags=%s comment=%s      %s\r\n' \
-               "$length" "$width" "$height" "${TAGS#tags=}" \
+               "$LENGTH" "$WIDTH" "$HEIGHT" "${TAGS#tags=}" \
                "${COMMENT#comment=}" "${NAME%${CR}}"
       fi
     done <"$meta_db" >"${meta_db}.$$"