Some spandsp tweaks after studying a klocwork report

This commit is contained in:
Steve Underwood 2013-04-17 09:07:54 +08:00
parent b1447dd635
commit 538d9beacd
5 changed files with 22 additions and 13 deletions

View File

@ -93,8 +93,15 @@
#define T30_DCS_BIT_UNLIMITED_LENGTH 20
/* Bits 21, 22, 23 - min scan line time */
/* When ISDN mode is used, in DIS/DTC bits 21 to 23 shall be set to "1". */
#define T30_DIS_BIT_MIN_SCAN_LINE_TIME_CAPABILITY_1 21
#define T30_DCS_BIT_MIN_SCAN_LINE_TIME_1 21
#define T30_DIS_BIT_MIN_SCAN_LINE_TIME_CAPABILITY_2 22
#define T30_DCS_BIT_MIN_SCAN_LINE_TIME_2 22
#define T30_DIS_BIT_MIN_SCAN_LINE_TIME_CAPABILITY_3 23
#define T30_DCS_BIT_MIN_SCAN_LINE_TIME_3 23
#define T30_DIS_BIT_MIN_SCAN_LINE_TIME_CAPABILITY_4 24
#define T30_DCS_BIT_MIN_SCAN_LINE_TIME_4 24
/* Bit 24 is an extension bit */

View File

@ -1033,6 +1033,7 @@ SPAN_DECLARE(int) v27ter_rx_restart(v27ter_rx_state_t *s, int bit_rate, int old_
s->low_samples = 0;
s->carrier_drop_pending = FALSE;
#endif
vec_zeroi32(s->diff_angles, 16);
s->carrier_phase = 0;
#if defined(SPANDSP_USE_FIXED_POINT)

View File

@ -1085,6 +1085,7 @@ SPAN_DECLARE(int) v29_rx_restart(v29_rx_state_t *s, int bit_rate, int old_train)
s->carrier_drop_pending = FALSE;
#endif
s->old_train = old_train;
vec_zeroi32(s->diff_angles, 16);
s->carrier_phase = 0;

View File

@ -305,9 +305,9 @@ static int receive_xid(v42_state_t *ss, const uint8_t *frame, int len)
param_id = buf[0];
param_len = buf[1];
buf += 2;
group_len -= (2 + param_len);
if (group_len < 0)
if (group_len < (2 + param_len))
break;
group_len -= (2 + param_len);
switch (param_id)
{
case PI_HDLC_OPTIONAL_FUNCTIONS:
@ -347,9 +347,9 @@ static int receive_xid(v42_state_t *ss, const uint8_t *frame, int len)
param_id = buf[0];
param_len = buf[1];
buf += 2;
group_len -= (2 + param_len);
if (group_len < 0)
if (group_len < 2 + param_len)
break;
group_len -= (2 + param_len);
switch (param_id)
{
case PI_PARAMETER_SET_ID:

View File

@ -190,15 +190,15 @@ SPAN_DECLARE(const char *) v8_pstn_access_to_str(int pstn_access)
return "Calling modem on cellular";
case V8_PSTN_ACCESS_ANSWER_DCE_CELLULAR:
return "Answering modem on cellular";
case V8_PSTN_ACCESS_ANSWER_DCE_CELLULAR | V8_PSTN_ACCESS_CALL_DCE_CELLULAR:
case (V8_PSTN_ACCESS_ANSWER_DCE_CELLULAR | V8_PSTN_ACCESS_CALL_DCE_CELLULAR):
return "Answering and calling modems on cellular";
case V8_PSTN_ACCESS_DCE_ON_DIGITAL:
return "DCE on digital";
case V8_PSTN_ACCESS_DCE_ON_DIGITAL | V8_PSTN_ACCESS_CALL_DCE_CELLULAR:
case (V8_PSTN_ACCESS_DCE_ON_DIGITAL | V8_PSTN_ACCESS_CALL_DCE_CELLULAR):
return "DCE on digital, and calling modem on cellular";
case V8_PSTN_ACCESS_DCE_ON_DIGITAL | V8_PSTN_ACCESS_ANSWER_DCE_CELLULAR:
case (V8_PSTN_ACCESS_DCE_ON_DIGITAL | V8_PSTN_ACCESS_ANSWER_DCE_CELLULAR):
return "DCE on digital, answering modem on cellular";
case V8_PSTN_ACCESS_DCE_ON_DIGITAL | V8_PSTN_ACCESS_ANSWER_DCE_CELLULAR | V8_PSTN_ACCESS_CALL_DCE_CELLULAR:
case (V8_PSTN_ACCESS_DCE_ON_DIGITAL | V8_PSTN_ACCESS_ANSWER_DCE_CELLULAR | V8_PSTN_ACCESS_CALL_DCE_CELLULAR):
return "DCE on digital, and answering and calling modems on cellular";
}
return "PSTN access unknown";
@ -226,15 +226,15 @@ SPAN_DECLARE(const char *) v8_pcm_modem_availability_to_str(int pcm_modem_availa
return "V.90/V.92 analogue available";
case V8_PSTN_PCM_MODEM_V90_V92_DIGITAL:
return "V.90/V.92 digital available";
case V8_PSTN_PCM_MODEM_V90_V92_DIGITAL | V8_PSTN_PCM_MODEM_V90_V92_ANALOGUE:
case (V8_PSTN_PCM_MODEM_V90_V92_DIGITAL | V8_PSTN_PCM_MODEM_V90_V92_ANALOGUE):
return "V.90/V.92 digital/analogue available";
case V8_PSTN_PCM_MODEM_V91:
return "V.91 available";
case V8_PSTN_PCM_MODEM_V91 | V8_PSTN_PCM_MODEM_V90_V92_ANALOGUE:
case (V8_PSTN_PCM_MODEM_V91 | V8_PSTN_PCM_MODEM_V90_V92_ANALOGUE):
return "V.91 and V.90/V.92 analogue available";
case V8_PSTN_PCM_MODEM_V91 | V8_PSTN_PCM_MODEM_V90_V92_DIGITAL:
case (V8_PSTN_PCM_MODEM_V91 | V8_PSTN_PCM_MODEM_V90_V92_DIGITAL):
return "V.91 and V.90/V.92 digital available";
case V8_PSTN_PCM_MODEM_V91 | V8_PSTN_PCM_MODEM_V90_V92_DIGITAL | V8_PSTN_PCM_MODEM_V90_V92_ANALOGUE:
case (V8_PSTN_PCM_MODEM_V91 | V8_PSTN_PCM_MODEM_V90_V92_DIGITAL | V8_PSTN_PCM_MODEM_V90_V92_ANALOGUE):
return "V.91 and V.90/V.92 digital/analogue available";
}
return "PCM availability unknown";