On Sun, 2003-10-12 at 13:04, Jerry Jenkins wrote:
> Dimitrie O. Paun wrote:
> > Why do we need the static?
> > 
> Had I pasted more source code, you would have known why.
> LONG ALSA_WaveInit(void)
> {
>      snd_pcm_t*                  h = NULL;
>      snd_pcm_info_t *            info;
>      snd_pcm_hw_params_t *       hw_params;
>      WINE_WAVEOUT*            wwo;
>      char                     device[] = "hw";
> 
>      wwo = &WOutDev[0];
> 
>      /* FIXME: use better values */
>      wwo->device = device;
> We have to keep the memory used by device[] or wwo->device even when we 
> exit the function, because we'll access it later. Local variables’ 
> memory are supposed to be freed after the function exits.

Sorry for breaking it. I noticed the string never gets modified, so I
fixed it by casting in a recent patch.

Best Regards,

                                Daniel Marmier



Reply via email to