diff options
author | Denis Kenzior <denkenz@gmail.com> | 2011-05-04 22:29:08 -0500 |
---|---|---|
committer | Denis Kenzior <denkenz@gmail.com> | 2011-05-04 22:29:08 -0500 |
commit | 5c9d59bad1c7e67403316f7ee9a60d6c576242aa (patch) | |
tree | f5031bd8f9a5c3d3d502e986e646532007fe859d /src | |
parent | 2a5f5fe6be3b13a3457343b58ba9d6e4d982c3d2 (diff) | |
download | ofono-5c9d59bad1c7e67403316f7ee9a60d6c576242aa.tar.bz2 |
voicecall: CHLD support must be enclosed in a list
Diffstat (limited to 'src')
-rw-r--r-- | src/voicecall.c | 9 |
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); |