in reply to Re: xs memoryleak (xs--)
in thread xs memoryleak

following tye's comments it's works ok, but bulk88's can't work. I don't know why. follow is my corrected code:

#include "EXTERN.h" #include "perl.h" #include "XSUB.h" #include "ppport.h" #include "const-c.inc" #include "top_insert.h" MODULE = top_insert PACKAGE = top_insert INCLUDE: const-xs.inc void top_insert(up_v, up_num, down_v, down_num, init_step_ratio, ratio) char * up_v int up_num char * down_v int down_num double init_step_ratio double ratio INIT: int sample_num; int n; double *return_val = NULL; PPCODE: return_val = get_inter_line(up_num, (double *)up_v, down_num, +(double *)down_v, init_step_ratio, ratio, &sample_num); sample_num = sample_num*3; for (n=0; n<sample_num; n++){ XPUSHs(sv_2mortal(newSVnv(*(return_val + n)))); } del_inter_line(return_val);

Thanks both of you very much.

BTY, I use those pretty complex. c++ code buld to static lib for quickly algorithm. xs code link to perl mod. use perlctrl pack pm to Win32::OLE dll. use autoCad autoLisp to call OLE. so difficult to debug.