don't leak mem
This commit is contained in:
parent
f8714be406
commit
4a8ed01127
8 changed files with 16 additions and 0 deletions
|
|
@ -5,10 +5,19 @@ package main
|
|||
import (
|
||||
"fmt"
|
||||
"mxclientlib/mxclient"
|
||||
"unsafe"
|
||||
)
|
||||
|
||||
/*
|
||||
#include <stdlib.h>
|
||||
*/
|
||||
import "C"
|
||||
|
||||
//export FreeCString
|
||||
func FreeCString(s *C.char) {
|
||||
C.free(unsafe.Pointer(s))
|
||||
}
|
||||
|
||||
/*
|
||||
cli tools
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ ffibuilder.set_source(
|
|||
|
||||
ffibuilder.cdef(
|
||||
csource="""
|
||||
extern void FreeCString(char * s);
|
||||
extern char* cli_discoverhs(char* mxid);
|
||||
extern char* cli_mkmxtoken(char* mxid, char* pw);
|
||||
extern char* cli_whoami(char* hs, char* accessToken);
|
||||
|
|
|
|||
|
|
@ -12,4 +12,5 @@ def accountinfo():
|
|||
|
||||
r = lib.cli_accountinfo(url, tk)
|
||||
result = ffi.string(r)
|
||||
lib.FreeCString(r)
|
||||
print(result)
|
||||
|
|
|
|||
|
|
@ -12,4 +12,5 @@ def clearaccount():
|
|||
|
||||
r = lib.cli_clearaccount(url, tk)
|
||||
result = ffi.string(r)
|
||||
lib.FreeCString(r)
|
||||
print(result)
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ def discoverhs():
|
|||
|
||||
r = lib.cli_discoverhs(mxid)
|
||||
result = ffi.string(r)
|
||||
lib.FreeCString(r)
|
||||
print(result)
|
||||
|
|
|
|||
|
|
@ -12,4 +12,5 @@ def mktoken():
|
|||
|
||||
r = lib.cli_mkmxtoken(mxid, pw)
|
||||
result = ffi.string(r)
|
||||
lib.FreeCString(r)
|
||||
print(result)
|
||||
|
|
|
|||
|
|
@ -11,4 +11,5 @@ def serverinfo():
|
|||
|
||||
r = lib.cli_serverinfo(mxdomain)
|
||||
result = ffi.string(r)
|
||||
lib.FreeCString(r)
|
||||
print(result)
|
||||
|
|
|
|||
|
|
@ -12,4 +12,5 @@ def whoami():
|
|||
|
||||
r = lib.cli_whoami(url, tk)
|
||||
result = ffi.string(r)
|
||||
lib.FreeCString(r)
|
||||
print(result)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue