From f89bbdd6a3fd3701c0254dd3a217531035b0b363 Mon Sep 17 00:00:00 2001 From: Mark Spencer Date: Thu, 27 Jan 2005 05:39:17 +0000 Subject: [PATCH] Fix generic digit byte order (bug #2788) git-svn-id: https://origsvn.digium.com/svn/libpri/trunk@182 2fbb986a-6c06-0410-b554-c9c1f0a7f128 --- q931.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/q931.c b/q931.c index 9676c1c..61bc403 100755 --- a/q931.c +++ b/q931.c @@ -1595,11 +1595,11 @@ static FUNC_DUMP(dump_generic_digits) switch(encoding) { case 0: /* BCD even */ case 1: /* BCD odd */ - pri_message("%d", (ie->data[idx-2] >> 4) & 0x0f); - value = value * 10 + ((ie->data[idx-2] >> 4) & 0x0f); + pri_message("%d", ie->data[idx-2] & 0x0f); + value = value * 10 + (ie->data[idx-2] & 0x0f); if(!encoding || (idx+1 < len)) { /* Special handling for BCD odd */ - pri_message("%d", ie->data[idx-2] & 0x0f); - value = value * 10 + (ie->data[idx-2] & 0x0f); + pri_message("%d", (ie->data[idx-2] >> 4) & 0x0f); + value = value * 10 + ((ie->data[idx-2] >> 4) & 0x0f); } break; case 2: /* IA5 */ @@ -1645,9 +1645,9 @@ static FUNC_RECV(receive_generic_digits) switch(encoding) { case 0: /* BCD even */ case 1: /* BCD odd */ - value = value * 10 + ((ie->data[idx-2] >> 4) & 0x0f); + value = value * 10 + (ie->data[idx-2] & 0x0f); if(!encoding || (idx+1 < len)) /* Special handling for BCD odd */ - value = value * 10 + (ie->data[idx-2] & 0x0f); + value = value * 10 + ((ie->data[idx-2] >> 4) & 0x0f); break; case 2: /* IA5 */ value = value * 10 + (ie->data[idx-2] - '0');