finish allocator and meta implementations, add meta implementation to buffers

This commit is contained in:
tinyzimmer
2020-09-29 15:37:22 +03:00
parent b91c738443
commit 87ea132c45
5 changed files with 286 additions and 2 deletions

View File

@@ -31,6 +31,16 @@ func goStrings(argc C.int, argv **C.gchar) []string {
return gostrings
}
func gcharStrings(strs []string) **C.gchar {
gcharSlc := make([]*C.gchar, len(strs))
for _, s := range strs {
cStr := C.CString(s)
defer C.free(unsafe.Pointer(cStr))
gcharSlc = append(gcharSlc, cStr)
}
return &gcharSlc[0]
}
// newQuarkFromString creates a new GQuark (or returns an existing one) for the given
// string
func newQuarkFromString(str string) C.uint {
@@ -39,3 +49,7 @@ func newQuarkFromString(str string) C.uint {
quark := C.g_quark_from_string(cstr)
return quark
}
func quarkToString(q C.GQuark) string {
return C.GoString(C.g_quark_to_string(q))
}