From 14fe0a31fb1fb1e9ab04dec1c18695a48ad57572 Mon Sep 17 00:00:00 2001 From: raven Date: Wed, 22 Oct 2025 19:38:13 -0500 Subject: check channel list for /join and /leave --- client/channel_list.go | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'client/channel_list.go') diff --git a/client/channel_list.go b/client/channel_list.go index 25d093f..bc89dba 100644 --- a/client/channel_list.go +++ b/client/channel_list.go @@ -2,6 +2,7 @@ package main import ( "citrons.xyz/talk/proto" + "citrons.xyz/talk/proto/validate" "citrons.xyz/talk/tui" "sort" ) @@ -38,6 +39,24 @@ func (cl *channelList) setChannels(cs []proto.Object) { sort.Sort(cl) } +func (cl *channelList) contains(location channelLocation) bool { + for i := 0; i < len(*cl); i++ { + if (*cl)[i].location == location { + return true + } + } + return false +} + +func (cl *channelList) findName(name string) channelLocation { + for i := 0; i < len(*cl); i++ { + if validate.Fold((*cl)[i].name) == validate.Fold(name) { + return (*cl)[i].location + } + } + return channelLocation {} +} + func (cl *channelList) remove(location channelLocation) { for i := len(*cl) - 1; i >= 0; i-- { if (*cl)[i].location != location { -- cgit v1.2.3