MCPcopy Create free account
hub / github.com/AppleWin/AppleWin / CmdSource

Function CmdSource

source/Debugger/Debug.cpp:7014–7081  ·  view source on GitHub ↗

===========================================================================

Source from the content-addressed store, hash-verified

7012
7013//===========================================================================
7014Update_t CmdSource (int nArgs)
7015{
7016 if (! nArgs)
7017 {
7018 g_bSourceLevelDebugging = false;
7019 }
7020 else
7021 {
7022 g_bSourceAddMemory = false;
7023 g_bSourceAddSymbols = false;
7024
7025 for ( int iArg = 1; iArg <= nArgs; iArg++ )
7026 {
7027 const std::string pFileName = g_aArgs[ iArg ].sArg;
7028
7029 int iParam;
7030 bool bFound = FindParam( pFileName.c_str(), MATCH_EXACT, iParam, _PARAM_SOURCE_BEGIN, _PARAM_SOURCE_END ) > 0 ? true : false;
7031 if (bFound && (iParam == PARAM_SRC_SYMBOLS))
7032 {
7033 g_bSourceAddSymbols = true;
7034 }
7035 else
7036 if (bFound && (iParam == PARAM_SRC_MEMORY))
7037 {
7038 g_bSourceAddMemory = true;
7039 }
7040 else
7041 {
7042 const std::string sFileName = g_sProgramDir + pFileName;
7043
7044 const int MAX_MINI_FILENAME = 20;
7045 const std::string sMiniFileName = sFileName.substr(0, MIN(MAX_MINI_FILENAME, sFileName.size()));
7046
7047 if (BufferAssemblyListing( sFileName ))
7048 {
7049 g_aSourceFileName = pFileName;
7050
7051 if (! ParseAssemblyListing( g_bSourceAddMemory, g_bSourceAddSymbols ))
7052 {
7053 ConsoleBufferPushFormat( "Couldn't load filename: %s", sMiniFileName.c_str() );
7054 }
7055 else
7056 {
7057 if (g_nSourceAssembleBytes)
7058 {
7059 ConsoleBufferPushFormat( " Read: %d lines, %d symbols, %d bytes"
7060 , g_AssemblerSourceBuffer.GetNumLines() // g_nSourceAssemblyLines
7061 , g_nSourceAssemblySymbols, g_nSourceAssembleBytes );
7062 }
7063 else
7064 {
7065 ConsoleBufferPushFormat( " Read: %d lines, %d symbols"
7066 , g_AssemblerSourceBuffer.GetNumLines() // g_nSourceAssemblyLines
7067 , g_nSourceAssemblySymbols );
7068 }
7069 }
7070 }
7071 else

Callers

nothing calls this directly

Calls 6

FindParamFunction · 0.85
BufferAssemblyListingFunction · 0.85
ParseAssemblyListingFunction · 0.85
ConsoleBufferPushFormatFunction · 0.85
GetNumLinesMethod · 0.80
ConsoleUpdateFunction · 0.70

Tested by

no test coverage detected