diff options
Diffstat (limited to 'vendor/layeh.com/gumble/gumbleutil/channel.go')
-rw-r--r-- | vendor/layeh.com/gumble/gumbleutil/channel.go | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/vendor/layeh.com/gumble/gumbleutil/channel.go b/vendor/layeh.com/gumble/gumbleutil/channel.go new file mode 100644 index 00000000..ecf8bbef --- /dev/null +++ b/vendor/layeh.com/gumble/gumbleutil/channel.go @@ -0,0 +1,18 @@ +package gumbleutil + +import ( + "layeh.com/gumble/gumble" +) + +// ChannelPath returns a slice of channel names, starting from the root channel +// to the given channel. +func ChannelPath(channel *gumble.Channel) []string { + var pieces []string + for ; channel != nil; channel = channel.Parent { + pieces = append(pieces, channel.Name) + } + for i := 0; i < (len(pieces) / 2); i++ { + pieces[len(pieces)-1-i], pieces[i] = pieces[i], pieces[len(pieces)-1-i] + } + return pieces +} |