summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2011-05-04 22:29:08 -0500
committerDenis Kenzior <denkenz@gmail.com>2011-05-04 22:29:08 -0500
commit5c9d59bad1c7e67403316f7ee9a60d6c576242aa (patch)
treef5031bd8f9a5c3d3d502e986e646532007fe859d /src
parent2a5f5fe6be3b13a3457343b58ba9d6e4d982c3d2 (diff)
downloadofono-5c9d59bad1c7e67403316f7ee9a60d6c576242aa.tar.bz2
voicecall: CHLD support must be enclosed in a list
Diffstat (limited to 'src')
-rw-r--r--src/voicecall.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/voicecall.c b/src/voicecall.c
index b20fd360..d46f463c 100644
--- a/src/voicecall.c
+++ b/src/voicecall.c
@@ -2743,7 +2743,7 @@ static void emulator_clcc_cb(struct ofono_emulator *em,
#define ADD_CHLD_SUPPORT(cond, x) \
if (cond) { \
- if (info[-1] != '=') \
+ if (info[-1] != '(') \
*info++ = ','; \
\
*info++ = x[0]; \
@@ -2757,7 +2757,7 @@ static void emulator_chld_cb(struct ofono_emulator *em,
{
struct ofono_voicecall *vc = userdata;
struct ofono_error result;
- char buf[22];
+ char buf[64];
char *info;
int chld;
@@ -2838,8 +2838,8 @@ static void emulator_chld_cb(struct ofono_emulator *em,
goto fail;
case OFONO_EMULATOR_REQUEST_TYPE_SUPPORT:
- memcpy(buf, "+CHLD=", 6);
- info = buf + 6;
+ memcpy(buf, "+CHLD=(", 7);
+ info = buf + 7;
ADD_CHLD_SUPPORT(vc->driver->release_all_held &&
vc->driver->set_udub, "0")
@@ -2850,6 +2850,7 @@ static void emulator_chld_cb(struct ofono_emulator *em,
ADD_CHLD_SUPPORT(vc->driver->create_multiparty, "3")
ADD_CHLD_SUPPORT(vc->driver->transfer, "4")
+ *info++ = ')';
*info++ = '\0';
ofono_emulator_send_info(em, buf, TRUE);