[SOLVED] Hi ! I try to convert an ObjC method which uses C functions in Kotlin Native but it does not work 😞
Here is the ObjC / C code :
- (NSString *) getSysInfoByName:(char *)typeSpecifier
{
size_t size;
sysctlbyname(typeSpecifier, NULL, &size, NULL, 0);
char *answer = malloc(size);
sysctlbyname(typeSpecifier, answer, &size, NULL, 0);
NSString *results = [NSString stringWithCString:answer encoding: NSUTF8StringEncoding];
free(answer);
return results;
}
And my Kotlin version :
private fun sysInfoByName(identifier: String): String? {
val size = cValue<size_tVar>()
sysctlbyname(identifier, null, size, null, 0)
var result: String? = ""
memScoped {
val value = allocArray<charfVar>(size.size)
sysctlbyname(identifier, value, size, null, 0)
result = NSString.stringWithCString(cString = value, NSUTF8StringEncoding)
}
return result
}
The result is always empty. 😞
Do you know why ? 😇