[PD-dev] Trouble with memory+pointers

Ed Kelly morph_2016 at yahoo.co.uk
Tue Jun 26 02:46:33 CEST 2007


So... if I initialize the pointers the first time they are used, maybe that will help. It makes sense that the _new routine would be causing the problem, since it crashes when I load the object (PD disappears...)
I'll try it!

Ta,
Ed

Martin Peach <martin.peach at sympatico.ca> wrote: Ed Kelly wrote:
> Hi devs,
>
> I'm trying to rewrite some of my externals to be a bit more 
> effe\icient, clear up after themselves and generally work more 
> smoothly. I started with maskxor, because I really need this to work 
> for the ICMC, and it's not working properly in certain situations.
>
> So I borrowed some code from zexy/src/drip.c and rewrote it. It 
> compiled OK, but crashes PD. Can anyone tell me what is wrong with my 
> code, and how to fix it?
>
I guess because you don't initialize the pointers the first time. Your 
maskxor_new has:
 
  SETFLOAT(&x->masking.maskr[0], 0);
  SETFLOAT(&x->masking.maskl[0], 0);
  SETFLOAT(&x->masking.maskxor[0], 0);
...but x->masking.maskr etc. don't yet point to anything, they were 
declared as:
t_atom *maskxor, *maskl, *maskr;
...but not given any value. If it doesn't crash right there it will do 
so when you try to free the pointers:
  if (x->masking.maskl) {
    freebytes(x->masking.maskl, x->lengthl * sizeof(t_atom));
    x->masking.maskl = 0;
    x->lengthl = 0;
  }
Martin

> Best,
> Ed
>
>
> Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com
> http://www.myspace.com/sharktracks
>
> ------------------------------------------------------------------------
> Yahoo! Answers - Get better answers from someone who knows. Try it now 
> . 
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> PD-dev mailing list
> PD-dev at iem.at
> http://lists.puredata.info/listinfo/pd-dev
>   




Lone Shark "Aviation" out now on http://www.pyramidtransmissions.com
http://www.myspace.com/sharktracks
       
---------------------------------
 Yahoo! Answers - Get better answers from someone who knows. Tryit now.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-dev/attachments/20070626/8bc601a5/attachment.htm>


More information about the Pd-dev mailing list