From 578e15c276d72bfbdd707c6c948824daa43d3780 Mon Sep 17 00:00:00 2001 From: zhangmeng <775834166@qq.com> Date: 星期四, 18 一月 2024 14:18:35 +0800 Subject: [PATCH] less memory --- api/bhsgo/bhome_node.go | 34 +++++++++++++++++----------------- 1 files changed, 17 insertions(+), 17 deletions(-) diff --git a/api/bhsgo/bhome_node.go b/api/bhsgo/bhome_node.go index d196a52..2b0d494 100644 --- a/api/bhsgo/bhome_node.go +++ b/api/bhsgo/bhome_node.go @@ -13,8 +13,8 @@ bh "basic.com/valib/c_bhomebus.git/proto/source/bhome_msg" ) -func unsafeGetBytes(p unsafe.Pointer, s int) []byte { - return (*[0x7fffffff]byte)(p)[:s:s] +func unsafeGetBytes(p *unsafe.Pointer, s int) []byte { + return (*[0x7fffffff]byte)(*p)[:s:s] } func ByteSlice2String(bs []byte) string { @@ -44,7 +44,7 @@ defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r } @@ -58,7 +58,7 @@ defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r } @@ -72,7 +72,7 @@ defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r } @@ -86,7 +86,7 @@ defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r } @@ -100,7 +100,7 @@ defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r } @@ -118,7 +118,7 @@ defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r } @@ -133,7 +133,7 @@ defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r @@ -149,7 +149,7 @@ defer C.BHFree(creply, creply_len) if r { // reply.Unmarshal(C.GoBytes(creply, creply_len)) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r @@ -171,8 +171,8 @@ defer C.BHFree(cpid, cpid_len) defer C.BHFree(creply, creply_len) if r { - *proc_id = ByteSlice2String(unsafeGetBytes(cpid, int(cpid_len))) - pub.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + *proc_id = ByteSlice2String(unsafeGetBytes(&cpid, int(cpid_len))) + pub.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r @@ -207,8 +207,8 @@ if r { // *proc_id = string(C.GoBytes(cpid, cpid_len)) // reply.Unmarshal(C.GoBytes(creply, creply_len)) - *proc_id = ByteSlice2String(unsafeGetBytes(cpid, int(cpid_len))) - reply.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + *proc_id = ByteSlice2String(unsafeGetBytes(&cpid, int(cpid_len))) + reply.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r } @@ -226,8 +226,8 @@ if r { // *proc_id = string(C.GoBytes(cpid, cpid_len)) // req.Unmarshal(C.GoBytes(creply, creply_len)) - *proc_id = ByteSlice2String(unsafeGetBytes(cpid, int(cpid_len))) - req.Unmarshal(unsafeGetBytes(creply, int(creply_len))) + *proc_id = ByteSlice2String(unsafeGetBytes(&cpid, int(cpid_len))) + req.Unmarshal(unsafeGetBytes(&creply, int(creply_len))) } return r } @@ -245,7 +245,7 @@ r := C.BHGetLastError(&creply, &creply_len) defer C.BHFree(creply, creply_len) // return int(r), string(C.GoBytes(creply, creply_len)) - return int(r), ByteSlice2String(unsafeGetBytes(creply, int(creply_len))) + return int(r), ByteSlice2String(unsafeGetBytes(&creply, int(creply_len))) } -- Gitblit v1.8.0