From ae505111351c15af8839422cfb251c17115e3246 Mon Sep 17 00:00:00 2001 From: xushiwei Date: Fri, 26 Jul 2024 16:31:53 +0800 Subject: [PATCH] cjson: FreeCStr --- c/cjson/_demo/mkjson/mkjson.go | 5 ++++- c/cjson/cjson.go | 6 ++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/c/cjson/_demo/mkjson/mkjson.go b/c/cjson/_demo/mkjson/mkjson.go index e91db71f..c98c9311 100644 --- a/c/cjson/_demo/mkjson/mkjson.go +++ b/c/cjson/_demo/mkjson/mkjson.go @@ -22,6 +22,9 @@ func main() { mod.SetItem(c.Str("items"), syms) - c.Printf(c.Str("%s\n"), mod.CStr()) + cstr := mod.CStr() + c.Printf(c.Str("%s\n"), cstr) + cjson.FreeCStr(cstr) + mod.Delete() } diff --git a/c/cjson/cjson.go b/c/cjson/cjson.go index 56936469..21c0d1b0 100644 --- a/c/cjson/cjson.go +++ b/c/cjson/cjson.go @@ -133,3 +133,9 @@ func (o *JSON) PrintUnformatted() *c.Char { return nil } // // llgo:link (*JSON).PrintBuffered C.cJSON_PrintBuffered func (o *JSON) PrintBuffered(prebuffer c.Int, fmt c.Int) *c.Char { return nil } + +//go:linkname Free C.cJSON_free +func Free(ptr unsafe.Pointer) + +//go:linkname FreeCStr C.cJSON_free +func FreeCStr(*c.Char)