double left[CONVOLVE_BIG];
double right[CONVOLVE_SMALL * 3];
double scratch[CONVOLVE_SMALL * 3];
- stack_entry stack[STACK_SIZE];
+ stack_entry stack[STACK_SIZE + 1];
};
/*
convolve_state *
convolve_init (void)
{
- return (convolve_state *) malloc (sizeof (convolve_state));
+ return (convolve_state *) calloc (1, sizeof (convolve_state));
}
/*
void
convolve_close (convolve_state * state)
{
- if (state)
- free (state);
+ free (state);
}
static void
double *left = state->left;
double *right = state->right;
double *scratch = state->scratch;
- stack_entry *top = state->stack + STACK_SIZE - 1;
+ stack_entry *top = state->stack + (STACK_SIZE - 1);
#if 1
for (i = 0; i < 512; i++)
for (i = 0; i < 256; i++)
right[i] -= avg;
/* End-of-stack marker. */
-#if 0 /* The following line produces a CRASH, need to figure out why?!! */
top[1].b.null = scratch;
-#endif
top[1].b.main = NULL;
/* The low 256x256, of which we want the high 256 outputs. */
top->v.left = left;