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++
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;
|
|
}
|
|
|