summaryrefslogtreecommitdiff
path: root/xpp/card_fxo.c
diff options
context:
space:
mode:
authortzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2006-08-10 03:21:47 +0000
committertzafrir <tzafrir@5390a7c7-147a-4af0-8ec9-7488f05a26cb>2006-08-10 03:21:47 +0000
commit605fae59f8489a3e2a1eea4631916e2b01431543 (patch)
tree653db3d90c2653053084eae5339a6ce968a1a2a8 /xpp/card_fxo.c
parenteb4320c96712452e9bbd083d98a7b95889be2c9e (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.c7
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) {