+vmodemd-emul (0.2.18) unstable; urgency=low
+
+ * modified operation of CHLD=0 for applying spec
+ * Git: slp/pkgs/v/vmodem-daemon-emulator
+ * Tag: vmodemd-emul_0.2.18
+
+ -- Sungmin Ha <sungmin82.ha@samsung.com> Tue, 04 Sep 2012 18:12:38 +0900
+
vmodemd-emul (0.2.17) unstable; urgency=low
* fixed buffer overflow when call forwarding
Priority: extra
Maintainer: SungMin Ha <sungmin82.ha@samsung.com>,Jihye Kim <jihye1128.kim@samsung.com>,Yeongkyoon Lee <yeongkyoon.lee@samsung.com>
Build-Depends: bison, flex, autoconf, gcc, debhelper, libglib2.0-dev, libxml2-dev, libvconf-dev
-Standards-Version: 0.2.17
+Standards-Version: 0.2.18
Package: vmodemd-emul
Architecture: i386
#git:slp/pkgs/v/vmodem-daemon-emulator
Name: vmodemd-emul
-Version: 0.2.17
+Version: 0.2.18
Release: 1
Summary: Modem Emulator
Group: System/ModemEmulator
return active_waiting_or_held_call(onWaiting);
}
+int release_incoming_call(void)
+{
+ int i = 0, releaseCnt = 0;
+
+ for( i=0; i<MAX_CALL_COUNT; ++i )
+ {
+ switch( g_call_list.CallInfo[i].stat )
+ {
+ case GSM_CALL_STATUS_INCOMING :
+ case GSM_CALL_STATUS_WAITING :
+ server_tx_call_release_internal( g_call_list.CallInfo[i].idx );
+ releaseCnt++;
+ break;
+ default:
+ break;
+ }
+ }
+
+ return releaseCnt;
+}
+
int release_all_held_call(void)
{
- int i = 0;
+ int i = 0;
for( i=0; i<MAX_CALL_COUNT; ++i )
{
switch( g_call_list.CallInfo[i].stat )
{
- case GSM_CALL_STATUS_HELD:
- case GSM_CALL_STATUS_INCOMING :
- case GSM_CALL_STATUS_WAITING :
- server_tx_call_release_internal( g_call_list.CallInfo[i].idx );
- break;
-
- default:
- break;
- }
- }
+ case GSM_CALL_STATUS_HELD:
+ server_tx_call_release_internal( g_call_list.CallInfo[i].idx );
+ break;
+ default:
+ break;
+ }
+ }
- return 1;
+ return 1;
}
// End of Call.
return 1;
}
+int server_rx_call_release_incoming(void)
+{
+ TRACE(MSGL_VGSM_INFO, "\n");
+ int releaseCnt = 0;
+
+ releaseCnt = release_incoming_call();
+ if(releaseCnt > 0)
+ server_tx_call_list_noti();
+
+ return releaseCnt;
+}
+
/*
* 0_SEND=0x01,
* Releases all held calls or sets User Determined User Busy (UDUB) for a waiting call
if(signal == AT_GSM_SS_CM_0_SEND) // release all held call
{
- rtn = server_rx_call_release_all_held();
+ rtn = server_rx_call_release_incoming();
+ if(rtn == 0)
+ rtn = server_rx_call_release_all_held();
}
else if(signal == AT_GSM_SS_CM_1_SEND) // release all active call and the other (held or waiting) call
{