提交 45d28e8f authored 作者: Stefan Knoblich's avatar Stefan Knoblich

[Q.931] Fix DateTime IE parsing

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@500 a93c3328-9c30-0410-af19-c9cd2b2d52af
上级 58ac0987
...@@ -1357,11 +1357,10 @@ L3INT Q931Uie_DateTime(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *pMsg, L3UCHAR ...@@ -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 ...@@ -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++];
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论