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))
}else{
nameReady=true
}
}
ifunsafe.Pointer(param.content)!=nullPtr{
ifunsafe.Pointer(param.content)!=nullPtr{
ifint(param.content_len)==len(p.Content){
ifint(param.content_len)!=len(p.Content){
contentAllocated=true
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))
}else{
returnC.PSERVER_ERROR
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))