diff --git a/src/sexpots/sexpots.c b/src/sexpots/sexpots.c index b09784291aefff2336e6147ae8e6a9f443f3a3e9..983c020c80c665f0b0e9e53db9a4bb35a54abf31 100644 --- a/src/sexpots/sexpots.c +++ b/src/sexpots/sexpots.c @@ -759,7 +759,7 @@ int modem_status(COM_HANDLE com_handle) /* Returns TRUE if DCD (Data Carrier Detect) is high */ BOOL carrier_detect(COM_HANDLE com_handle) { - return (modem_status(com_handle)&COM_DCD) ? TRUE:FALSE; + return (dcd_ignore || (modem_status(com_handle)&COM_DCD)) ? TRUE:FALSE; } /****************************************************************************/ @@ -779,7 +779,7 @@ BOOL wait_for_call(COM_HANDLE com_handle) if(!comRaiseDTR(com_handle)) lprintf(LOG_ERR,"ERROR %u raising DTR", COM_ERROR_VALUE); - if(com_alreadyconnected) + if(com_alreadyconnected || dcd_ignore) return TRUE; if(!mdm_null) { @@ -1250,7 +1250,7 @@ BOOL handle_call(void) while(!terminated) { - if(!dcd_ignore && !carrier_detect(com_handle)) { + if(!carrier_detect(com_handle)) { lprintf(LOG_WARNING,"Loss of Carrier Detect (DCD) detected"); break; } @@ -1322,7 +1322,7 @@ BOOL hangup_call(COM_HANDLE com_handle) int attempt; int mdm_status; - if(!carrier_detect(com_handle))/* DCD already low */ + if(dcd_ignore || !carrier_detect(com_handle))/* DCD already low */ return TRUE; lprintf(LOG_DEBUG,"Waiting for transmit buffer to empty");