...following statements in 'SMS_GetContainerM3U' function:
Code:
if ( ( int )lpFileCtx < 0 ) {
SMS_List* lpFileList = ( SMS_List* )( ( unsigned int )lpFileCtx & 0x7FFFFFFF );
SMS_ListNode* lpNode = lpFileList -> m_pHead;
lpList = SMS_ListInit ();
while ( lpNode ) {
int lLen = strlen ( lpNode -> m_pString );
lpEntry = ( _M3UEntry* )malloc ( sizeof ( _M3UEntry ) );
lpEntry -> m_pPath = ( char* )malloc ( lLen + 1 );
lpEntry -> m_Duration = 0;
strcpy ( lpEntry -> m_pPath, lpNode -> m_pString );
lpNode -> m_pString[ lLen - 4 ] = '\x00';
SMS_ListPushBack ( lpList, lpNode -> m_pString ) -> m_Param = ( unsigned int )lpEntry;
lpNode = lpNode -> m_pNext;
} /* end while */
retVal = 1;
goto start;
} /* end if */