internal static void DisplayCommandEntryDebug (CommandTableEntry* entry) { const int tempBufferSIZE = 30; byte* tempBuffer = stackalloc byte[tempBufferSIZE]; ADC.TextMode.WriteLine ("Dumping CommandTableEntry:"); if (entry == null) { ADC.TextMode.Write (" Pointer Address: "); Convert.ToString ((int)entry, true, tempBuffer, tempBufferSIZE, 0); ADC.TextMode.Write (tempBuffer); ADC.TextMode.WriteLine (" (NULL!)"); } else { ADC.TextMode.Write (" Pointer Address: "); Convert.ToString ((int)entry, true, tempBuffer, tempBufferSIZE, 0); ADC.TextMode.WriteLine (tempBuffer); } ADC.TextMode.Write (" Name: \""); ADC.TextMode.Write (entry->name); ADC.TextMode.Write ("\" @ "); Convert.ToString ((int)entry->name, true, tempBuffer, tempBufferSIZE, 0); ADC.TextMode.WriteLine (tempBuffer); ADC.TextMode.Write (" Description: \""); ADC.TextMode.Write (entry->shortDescription); ADC.TextMode.Write ("\" @ "); Convert.ToString ((int)entry->shortDescription, true, tempBuffer, tempBufferSIZE, 0); ADC.TextMode.WriteLine (tempBuffer); ADC.TextMode.Write (" Execute() @ "); Convert.ToString ((int)entry->func_Execute, true, tempBuffer, tempBufferSIZE, 0); ADC.TextMode.Write (tempBuffer); ADC.TextMode.Write ("; GetHelp() @ "); Convert.ToString ((int)entry->func_GetHelp, true, tempBuffer, tempBufferSIZE, 0); ADC.TextMode.WriteLine (tempBuffer); ADC.TextMode.Write (" nextEntry @ "); Convert.ToString ((int)entry->nextEntry, true, tempBuffer, tempBufferSIZE, 0); ADC.TextMode.WriteLine (tempBuffer); }
public void AddEntry (CommandTableEntry* entry) { if (entry == null) Diagnostics.Message ("CommandTableHeader::AddEntry(CommandTableEntry*): Parameter 'entry' is null"); if (firstEntry == null) { firstEntry = entry; entry->nextEntry = null; return; } else { CommandTableEntry* currentEntry = null; for (currentEntry = firstEntry; currentEntry->nextEntry != null; currentEntry = currentEntry->nextEntry) { } currentEntry->nextEntry = entry; entry->nextEntry = null; //CommandTableEntry* currentEntry = this.firstEntry; //for ( ; // currentEntry->nextEntry != null || currentEntry->nextEntry->name->Compare(currentEntry->name) > 0; // currentEntry = currentEntry->nextEntry) //{ //} //if (currentEntry->nextEntry == null) //{ // currentEntry->nextEntry = entry; // entry->nextEntry = null; //} //else //{ // CommandTableEntry* nextEntry = currentEntry->nextEntry; // currentEntry->nextEntry = entry; // entry->nextEntry = nextEntry; //} return; } }