[Q.931] Fix DateTime IE parsing

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@500 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
Stefan Knoblich 2008-07-08 14:44:11 +00:00
parent d15813f1f7
commit a32cd745f7
1 changed files with 6 additions and 6 deletions

View File

@ -1357,11 +1357,10 @@ L3INT Q931Uie_DateTime(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR
*pIE=0; *pIE=0;
pie->IEId = IBuf[Octet]; pie->IEId = IBuf[Octet++];
IESize = IBuf[Octet ++];
/* Octet 2 */ /* Octet 2 */
IESize = IBuf[Octet ++]; IESize = IBuf[Octet++];
/* Octet 3 - Year */ /* Octet 3 - Year */
pie->Year = IBuf[Octet++]; pie->Year = IBuf[Octet++];
@ -1375,23 +1374,24 @@ L3INT Q931Uie_DateTime(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR
/******************************************************************* /*******************************************************************
The remaining part of the IE are optioinal, but only the length The remaining part of the IE are optioinal, but only the length
can now tell us wherever these fields are present or not can now tell us wherever these fields are present or not
(always remember: IESize does not include ID and Size octet)
********************************************************************/ ********************************************************************/
pie->Format=0; pie->Format=0;
/* Octet 6 - Hour (optional)*/ /* Octet 6 - Hour (optional)*/
if(IESize >= 6) if(IESize >= 4)
{ {
pie->Format = 1; pie->Format = 1;
pie->Hour = IBuf[Octet++]; pie->Hour = IBuf[Octet++];
/* Octet 7 - Minute (optional)*/ /* Octet 7 - Minute (optional)*/
if(IESize >= 7) if(IESize >= 5)
{ {
pie->Format = 2; pie->Format = 2;
pie->Minute = IBuf[Octet++]; pie->Minute = IBuf[Octet++];
/* Octet 8 - Second (optional)*/ /* Octet 8 - Second (optional)*/
if(IESize >= 8) if(IESize >= 6)
{ {
pie->Format = 3; pie->Format = 3;
pie->Second = IBuf[Octet++]; pie->Second = IBuf[Octet++];