]> git.plutz.net Git - httpchat/blobdiff - channel.sh
fix syntax error m)
[httpchat] / channel.sh
index 0f1bda7ecd6cb2285c9db1522f9fbaeea43a2a1d..f8c97a43ae1622f627f518d52a9df40c6d0e5f3f 100755 (executable)
@@ -32,7 +32,7 @@ nicklist(){
   local nickfile="${chatfile%/channel}/nicks"
   case $1 in
     enter)
-      trap 'sed -i -E "/^${SESSION_KEY%%-*} $$ /d" "$nickfile"' INT QUIT
+      trap 'nicklist leave' INT QUIT
       sed -i -E "/^${SESSION_KEY%%-*} /d" "$nickfile"
       printf '%s %i %s\n' "${SESSION_KEY%%-*}" "$$" "$nickname" >>"$nickfile"
     ;;
@@ -43,18 +43,20 @@ nicklist(){
 
   nicklist='NICKNAMES: '
   while read -r s p nick; do
-    nicklist="${nicklist}/$nick/"
+    [ -d "/proc/$p" ] && nicklist="${nicklist}/$nick/" \
+    || sed -i -E "/^$s $p /d" "$nickfile"
   done <"$nickfile"
-  if ! tail -n20 "$chatfile" |grep -qxF "$nicklist"; then
+  if ! tail -n20 "$chatfile" |tac |grep -m1 '^NICKNAMES: ' |grep -qxF "$nicklist"; then
     printf '%s\n' "$nicklist" >>"$chatfile"
   fi
 }
 
 if [ ! -f "$chatfile" ]; then
   yield_page create <<-EOF
+       [h1 No such Channel]
        [form #nonexist method="POST"
           There is no channel named $(HTML "$LOCATION")
-          [submit "action" "create" Create]
+          [submit "action" "create" Set Up]
        ]
        EOF
 else