diff options
author | Luiz Augusto von Dentz <luiz.dentz-von@nokia.com> | 2011-03-29 14:36:53 +0300 |
---|---|---|
committer | Johan Hedberg <johan.hedberg@nokia.com> | 2011-03-29 18:03:44 +0300 |
commit | d5040dd605547671ad2b91eb66328b8f113afdc3 (patch) | |
tree | 4861f0f6930f81355d961bbaec3da8fb56eca1c1 | |
parent | 46731d413c14bdd4b1fa10c06ef015af79282ac8 (diff) |
Fix uninitialized variable warning
audio/unix.c: In function ‘client_cb’:
audio/unix.c:1078:20: error: ‘a2dp’ may be used uninitialized in this function
audio/unix.c:1154:20: error: ‘a2dp’ may be used uninitialized in this function
make[1]: *** [audio/unix.o] Error 1
-rw-r--r-- | audio/unix.c | 51 |
1 files changed, 28 insertions, 23 deletions
diff --git a/audio/unix.c b/audio/unix.c index 3c475102e..37c772d60 100644 --- a/audio/unix.c +++ b/audio/unix.c @@ -1075,31 +1075,30 @@ failed: static void start_resume(struct audio_device *dev, struct unix_client *client) { - struct a2dp_data *a2dp; + struct a2dp_data *a2dp = NULL; struct headset_data *hs; unsigned int id; - gboolean unref_avdtp_on_fail = FALSE; + struct avdtp *session = NULL; switch (client->type) { case TYPE_SINK: case TYPE_SOURCE: a2dp = &client->d.a2dp; - if (!a2dp->session) { - a2dp->session = avdtp_get(&dev->src, &dev->dst); - unref_avdtp_on_fail = TRUE; - } - - if (!a2dp->session) { - error("Unable to get a session"); - goto failed; - } - if (!a2dp->sep) { error("seid not opened"); goto failed; } + if (!a2dp->session) { + session = avdtp_get(&dev->src, &dev->dst); + if (!session) { + error("Unable to get a session"); + goto failed; + } + a2dp->session = session; + } + id = a2dp_resume(a2dp->session, a2dp->sep, a2dp_resume_complete, client); client->cancel = a2dp_cancel; @@ -1142,33 +1141,38 @@ static void start_resume(struct audio_device *dev, struct unix_client *client) return; failed: - if (unref_avdtp_on_fail && a2dp->session) { - avdtp_unref(a2dp->session); + if (session) { + avdtp_unref(session); a2dp->session = NULL; } + unix_ipc_error(client, BT_START_STREAM, EIO); } static void start_suspend(struct audio_device *dev, struct unix_client *client) { - struct a2dp_data *a2dp; + struct a2dp_data *a2dp = NULL; struct headset_data *hs; unsigned int id; - gboolean unref_avdtp_on_fail = FALSE; + struct avdtp *session = NULL; switch (client->type) { case TYPE_SINK: case TYPE_SOURCE: a2dp = &client->d.a2dp; - if (!a2dp->session) { - a2dp->session = avdtp_get(&dev->src, &dev->dst); - unref_avdtp_on_fail = TRUE; + if (!a2dp->sep) { + error("seid not opened"); + goto failed; } if (!a2dp->session) { - error("Unable to get a session"); - goto failed; + session = avdtp_get(&dev->src, &dev->dst); + if (!session) { + error("Unable to get a session"); + goto failed; + } + a2dp->session = session; } if (!a2dp->sep) { @@ -1214,10 +1218,11 @@ static void start_suspend(struct audio_device *dev, struct unix_client *client) return; failed: - if (unref_avdtp_on_fail && a2dp->session) { - avdtp_unref(a2dp->session); + if (session) { + avdtp_unref(session); a2dp->session = NULL; } + unix_ipc_error(client, BT_STOP_STREAM, EIO); } |