penguin/golifehk

@golifehk bot in Telegram

commit f2ef2910f8aad4ba8e276f5d120b94eb17d65501

author斟酌 鵬兄 <tgckpg@gmail.com>
date2026-06-20T01:19:11Z
subjectFixed crash on accessing wrong SortedTungJamZi
commit f2ef2910f8aad4ba8e276f5d120b94eb17d65501
Author: 斟酌 鵬兄 <tgckpg@gmail.com>
Date:   2026-06-20T01:19:11Z

    Fixed crash on accessing wrong SortedTungJamZi
---
 datasources/cjlookup/QueryResult.go | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/datasources/cjlookup/QueryResult.go b/datasources/cjlookup/QueryResult.go
index 976583c..ffc7425 100644
--- a/datasources/cjlookup/QueryResult.go
+++ b/datasources/cjlookup/QueryResult.go
@@ -77,9 +77,8 @@ func (this QueryResult) Message() (string, error) {
 		if args == 1 {
 			if len(*q.Results) == 1 {
 				if len(*cjp.SortedTungJamZi()) == 1 {
-					for _, cchar := range *cjp.SortedTungJamZi() {
-						writeCCharInfo(&sb, cchar)
-					}
+					char0 := (*cjp.SortedTungJamZi())[0]
+					writeCCharInfo(&sb, char0)
 				} else {
 					for i, cchar := range *cjp.SortedTungJamZi() {
 						sb.WriteString(" ")
@@ -96,7 +95,13 @@ func (this QueryResult) Message() (string, error) {
 			if err != nil {
 				return "", fmt.Errorf("Invalid index: %s", argv[1].Org)
 			}
-			writeCCharInfo(&sb, (*cjp.SortedTungJamZi())[x-1])
+
+			if len(*cjp.SortedTungJamZi()) == 1 {
+				char0 := (*cjp.SortedTungJamZi())[0]
+				writeCCharInfo(&sb, (*char0.JyutPing.SortedTungJamZi())[x-1])
+			} else {
+				writeCCharInfo(&sb, (*cjp.SortedTungJamZi())[x-1])
+			}
 		}
 	} else {
 		// Char Search