From 33cbf9f25f3ffd7b604e0bad324e27d682f99a3d Mon Sep 17 00:00:00 2001 From: Hamcha Date: Thu, 15 Nov 2018 18:37:49 +0100 Subject: [PATCH] Fix tree generation breaking subtrees --- emoji.go | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/emoji.go b/emoji.go index c004379..fa92df9 100644 --- a/emoji.go +++ b/emoji.go @@ -49,7 +49,8 @@ func (em emojiTable) Find(str string) *emoji { } // Check if there are more bytes to check if len(str) > i && e.Sub != nil { - newemj := e.Sub.Find(str[i:]) + rlen := utf8.RuneLen(r) + newemj := e.Sub.Find(str[i+rlen:]) if newemj != nil { return newemj } @@ -130,13 +131,14 @@ func scanEmojiDirectory(emojipath string) (tab emojiTable, err error) { newemo.IsEmoji = true newemo.Path = path } else { - // Add sub-entry - newemo.Sub = make(emojiTable) + // Add sub-entry if not existant + if newemo.Sub == nil { + newemo.Sub = make(emojiTable) + } } (*curtab)[cprune] = newemo curtab = &newemo.Sub } - fmt.Println(codepointstr) return nil }) return tab, err