diff -r 9866e1d49556 -r 625f43ae9362 bluetoothengine/btmac/src/BTMonoCmdHandler/HfpAtCmdhandler.cpp --- a/bluetoothengine/btmac/src/BTMonoCmdHandler/HfpAtCmdhandler.cpp Tue Jul 27 13:42:03 2010 +0300 +++ b/bluetoothengine/btmac/src/BTMonoCmdHandler/HfpAtCmdhandler.cpp Fri Aug 06 16:43:21 2010 +0300 @@ -49,20 +49,24 @@ { iATExtClient.Close(); } + iCmdBuffer.Close(); + iSystemReply.Close(); + delete iRecvBuffer; + delete iReplyBuffer; } void CHFPAtCmdHandler::HandleCommand(const TDesC8& aAT, const TDesC8& aReply) { TRACE_INFO((_L8("default reply '%S'"), &aReply)) iCmdBuffer.Copy(aAT); - iReplyBuffer.Zero(); + iReplyBuffer->Zero(); if (aReply.Length()) { - iReplyBuffer.Copy(aReply); + iReplyBuffer->Copy(aReply); iSystemReply.Copy(aReply); - } + } iATExtClient.HandleCommand(iCommander->iStatus, - iCmdBuffer, iReplyBuffer, iRemainingReplyLengthPckg, iReplyTypePckg); + iCmdBuffer, *iReplyBuffer, iRemainingReplyLengthPckg, iReplyTypePckg); iCommander->GoActive(); } @@ -79,16 +83,16 @@ if (iRemainingReplyLengthPckg()) { TRACE_INFO((_L8("reply '%S'"), &iReplyBuffer)) - iObserver.ATExtHandleReplyReceivedL(err, iReplyBuffer); + iObserver.ATExtHandleReplyReceivedL(err, *iReplyBuffer); do { TRACE_INFO((_L8("iRemainingReplyLength '%d'"), iRemainingReplyLengthPckg())) RBuf8 reply; reply.CreateL(iRemainingReplyLengthPckg()); - err = iATExtClient.GetNextPartOfReply(iRecvBuffer, iRemainingReplyLengthPckg()); + err = iATExtClient.GetNextPartOfReply(*iRecvBuffer, iRemainingReplyLengthPckg()); if (!err) { - reply.Insert(0, iRecvBuffer); + reply.Insert(0, *iRecvBuffer); } TRACE_INFO((_L8("reply '%S'"), &reply)) iObserver.ATExtHandleReplyReceivedL(err, reply); @@ -98,8 +102,8 @@ } else { - TRACE_INFO((_L8("reply '%S'"), &iReplyBuffer)) - iObserver.ATExtHandleReplyReceivedL(err, iReplyBuffer); + TRACE_INFO((_L8("reply '%S'"), iReplyBuffer)) + iObserver.ATExtHandleReplyReceivedL(err, *iReplyBuffer); } } else @@ -159,6 +163,10 @@ StartUrc(); iCommander = CBtmcActive::NewL(*this, CActive::EPriorityStandard, EHandleCommandRequest); + iCmdBuffer.CreateL(KDefaultCmdBufLength); + iRecvBuffer = new (ELeave) TBuf8(); + iReplyBuffer = new (ELeave) TBuf8(); + iSystemReply.CreateL(KDefaultUrcBufLength); TRACE_FUNC_EXIT }