diff options
author | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-08-10 03:21:47 +0000 |
---|---|---|
committer | tzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb> | 2006-08-10 03:21:47 +0000 |
commit | 605fae59f8489a3e2a1eea4631916e2b01431543 (patch) | |
tree | 653db3d90c2653053084eae5339a6ce968a1a2a8 /xpp/card_fxo.c | |
parent | eb4320c96712452e9bbd083d98a7b95889be2c9e (diff) |
card_fxo.c: Fix a potential bug: battery voltage is a 2's complement value.
git-svn-id: http://svn.digium.com/svn/zaptel/trunk@1288 5390a7c7-147a-4af0-8ec9-7488f05a26cb
Diffstat (limited to 'xpp/card_fxo.c')
-rw-r--r-- | xpp/card_fxo.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/xpp/card_fxo.c b/xpp/card_fxo.c index 89bec14..f88a1dc 100644 --- a/xpp/card_fxo.c +++ b/xpp/card_fxo.c @@ -699,14 +699,15 @@ HANDLER_DEF(FXO, DAA_REPLY) if(!info->indirect && info->reg_num == DAA_VBAT_REGISTER) { xpp_line_t last_batt_on = priv->battery; xpp_line_t changed_lines; + signed char bat = info->data_low; int i; - if(abs(info->data_low) < BAT_THRESHOLD) { + if(abs(bat) < BAT_THRESHOLD) { priv->battery &= ~lines; - // DBG("%s/%s: BATTERY OFF (%04X) = %d\n", xpd->xbus->busname, xpd->xpdname, lines, info->data_low); + // DBG("%s/%s: BATTERY OFF (%04X) = %d\n", xpd->xbus->busname, xpd->xpdname, lines, bat); } else { priv->battery |= lines; - // DBG("%s/%s: BATTERY ON (%04X) = %d\n", xpd->xbus->busname, xpd->xpdname, lines, info->data_low); + // DBG("%s/%s: BATTERY ON (%04X) = %d\n", xpd->xbus->busname, xpd->xpdname, lines, bat); } changed_lines = last_batt_on ^ priv->battery; for_each_line(xpd, i) { |