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.






Reply via email to