Fix audio_driver initialisation to avoid problem with uninitialised

variables and reduce the memory leakage.


git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@1355 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
Pierre Ossman 2007-01-02 11:39:56 +00:00
parent 0f40bd195e
commit f0c0188404
5 changed files with 23 additions and 13 deletions

View File

@ -342,8 +342,10 @@ alsa_register(char *options)
{
static struct audio_driver alsa_driver;
alsa_driver.name = xstrdup("alsa");
alsa_driver.description = xstrdup("ALSA output driver, default device: " DEFAULTDEVICE);
memset(&alsa_driver, 0, sizeof(alsa_driver));
alsa_driver.name = "alsa";
alsa_driver.description = "ALSA output driver, default device: " DEFAULTDEVICE;
alsa_driver.add_fds = alsa_add_fds;
alsa_driver.check_fds = alsa_check_fds;
@ -363,7 +365,7 @@ alsa_register(char *options)
}
else
{
pcm_name = xstrdup(DEFAULTDEVICE);
pcm_name = DEFAULTDEVICE;
}
return &alsa_driver;

View File

@ -198,8 +198,10 @@ libao_register(char *options)
{
static struct audio_driver libao_driver;
libao_driver.name = xstrdup("libao");
libao_driver.description = xstrdup("libao output driver, default device: system dependent");
memset(&libao_driver, 0, sizeof(libao_driver));
libao_driver.name = "libao";
libao_driver.description = "libao output driver, default device: system dependent";
libao_driver.add_fds = libao_add_fds;
libao_driver.check_fds = libao_check_fds;

View File

@ -319,9 +319,11 @@ oss_play(void)
struct audio_driver *
oss_register(char *options)
{
oss_driver.name = xstrdup("oss");
memset(&oss_driver, 0, sizeof(oss_driver));
oss_driver.name = "oss";
oss_driver.description =
xstrdup("OSS output driver, default device: " DEFAULTDEVICE " or $AUDIODEV");
"OSS output driver, default device: " DEFAULTDEVICE " or $AUDIODEV";
oss_driver.add_fds = oss_add_fds;
oss_driver.check_fds = oss_check_fds;
@ -345,7 +347,7 @@ oss_register(char *options)
if (dsp_dev == NULL)
{
dsp_dev = xstrdup(DEFAULTDEVICE);
dsp_dev = DEFAULTDEVICE;
}
}

View File

@ -294,8 +294,10 @@ sgi_register(char *options)
{
static struct audio_driver sgi_driver;
sgi_driver.name = xstrdup("sgi");
sgi_driver.description = xstrdup("SGI output driver");
memset(&sgi_driver, 0, sizeof(sgi_driver));
sgi_driver.name = "sgi";
sgi_driver.description = "SGI output driver";
sgi_driver.add_fds = sgi_add_fds;
sgi_driver.check_fds = sgi_check_fds;

View File

@ -269,9 +269,11 @@ sun_register(char *options)
{
static struct audio_driver sun_driver;
sun_driver.name = xstrdup("sun");
memset(&sun_driver, 0, sizeof(sun_driver));
sun_driver.name = "sun";
sun_driver.description =
xstrdup("SUN/BSD output driver, default device: " DEFAULTDEVICE " or $AUDIODEV");
"SUN/BSD output driver, default device: " DEFAULTDEVICE " or $AUDIODEV";
sun_driver.add_fds = sun_add_fds;
sun_driver.check_fds = sun_check_fds;
@ -295,7 +297,7 @@ sun_register(char *options)
if (dsp_dev == NULL)
{
dsp_dev = xstrdup(DEFAULTDEVICE);
dsp_dev = DEFAULTDEVICE;
}
}