Port core package

This commit is contained in:
2026-02-01 13:09:27 -05:00
parent cefdb30193
commit a58d8d407a
7 changed files with 172 additions and 18 deletions
+10
View File
@@ -42,6 +42,16 @@ func getCPascalStringArrayFromStringSlice(goSlice []string) C.PascalStringArray
return C.PascalStringArray{data: cArrPtr, len: C.int(len(goSlice))}
}
// getStringSliceFromCPascalStringArray converts a C.PascalStringArray to a go slice.
func getStringSliceFromCPascalStringArray(pascalStringArray C.PascalStringArray) []string {
var goSlice []string
cArr := (*[1 << 30]C.PascalString)(unsafe.Pointer(pascalStringArray.data))[:pascalStringArray.len:pascalStringArray.len]
for i := 0; i < int(pascalStringArray.len); i++ {
goSlice = append(goSlice, C.GoStringN(cArr[i].data, cArr[i].len))
}
return goSlice
}
// GetPascalStringFromCString is a helper meant to be used from C.
//
//export GetPascalStringFromCString