summaryrefslogtreecommitdiffstats
path: root/vendor/layeh.com/gumble/gumbleutil/channel.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/layeh.com/gumble/gumbleutil/channel.go')
-rw-r--r--vendor/layeh.com/gumble/gumbleutil/channel.go18
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
+}