summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuiz Augusto von Dentz <luiz.dentz-von@nokia.com>2011-03-29 14:36:53 +0300
committerJohan Hedberg <johan.hedberg@nokia.com>2011-03-29 18:03:44 +0300
commitd5040dd605547671ad2b91eb66328b8f113afdc3 (patch)
tree4861f0f6930f81355d961bbaec3da8fb56eca1c1
parent46731d413c14bdd4b1fa10c06ef015af79282ac8 (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.c51
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);
}