You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.3 KiB
C++

//==========================================
// Matt Pietrek
// Microsoft Systems Journal, Feb 1997
// FILE: MODULEFILEINFO.CPP
//==========================================
#include <windows.h>
#include "modulefileinfo.h"
MODULE_FILE_INFO::MODULE_FILE_INFO( PSTR pszFileName )
{
m_pNext = 0;
m_pNotFoundNext = 0;
// Find the last '\\' to obtain a pointer to just the base filename part
PSTR pszBaseName = strrchr( pszFileName, '\\' );
if ( pszBaseName ) // We found a path, so advance to the base filename
pszBaseName++;
else
pszBaseName = pszFileName; // No path. Use the same name for both
// Initialize the new MODULE_FILE_INFO, and stick it at the head
// of the list.
lstrcpyn( m_szFullName, pszFileName, sizeof(m_szFullName) );
lstrcpyn( m_szBaseName, pszBaseName, sizeof(m_szBaseName) );
}
void MODULE_FILE_INFO::AddNotFoundModule( PSTR pszFileName )
{
PMODULE_FILE_INFO pNew = new MODULE_FILE_INFO( pszFileName );
pNew->m_pNotFoundNext = m_pNotFoundNext;
m_pNotFoundNext = pNew;
}
MODULE_FILE_INFO * MODULE_FILE_INFO::GetNextNotFoundModule( PMODULE_FILE_INFO p)
{
PMODULE_FILE_INFO pNext = p ? p->m_pNotFoundNext : m_pNotFoundNext;
return pNext;
}