log.Println("Warning: the pre-allocated parameter name does not match the parameter name, it will be freed.",n,p.Name)
C.free(unsafe.Pointer(param.name))
log.Println("must pre-allocate parameter.")
returnC.PSERVER_ERROR
}else{
nameReady=true
}
}
ifunsafe.Pointer(param.content)!=nullPtr{
ifint(param.content_len)==len(p.Content){
contentAllocated=true
}else{
log.Println("Warning: the pre-allocated content len does not match parameter content len, the pre-allocated content will be freed.",param.content_len,len(p.Content))
C.free(unsafe.Pointer(param.content))
ifint(param.content_len)!=len(p.Content){
log.Printf("the pre-allocated content len does not match parameter content len. Pre-allocated len: %d, returned len: %d",param.content_len,len(p.Content))