X-Git-Url: http://git.kpe.io/?a=blobdiff_plain;f=tools%2Fctsimtext.cpp;h=a6f6966b309bbce75e3fc4ee731c6986e0f97cdc;hb=1be55ea0c82499e7e007fc0c1c3184af97db3a71;hp=83d75b0d39d49f33ebe0a366d31dd33d3c200636;hpb=c04ed309e5f8ad29d194b52c0f82f0be53ed56f3;p=ctsim.git diff --git a/tools/ctsimtext.cpp b/tools/ctsimtext.cpp index 83d75b0..a6f6966 100644 --- a/tools/ctsimtext.cpp +++ b/tools/ctsimtext.cpp @@ -9,7 +9,7 @@ ** This is part of the CTSim program ** Copyright (C) 1983-2000 Kevin Rosenberg ** -** $Id: ctsimtext.cpp,v 1.7 2001/01/10 21:02:41 kevin Exp $ +** $Id: ctsimtext.cpp,v 1.12 2001/01/13 05:02:20 kevin Exp $ ** ** This program is free software; you can redistribute it and/or modify ** it under the terms of the GNU General Public License (version 2) as @@ -45,8 +45,9 @@ extern "C" { // If linked to ctsimtext, but executed as another name, eg pjrec, then program will use that // linked name as name of function. -static const char* const g_szIdStr = "$Id: ctsimtext.cpp,v 1.7 2001/01/10 21:02:41 kevin Exp $"; +static const char* const g_szIdStr = "$Id: ctsimtext.cpp,v 1.12 2001/01/13 05:02:20 kevin Exp $"; static const char* const s_szProgramName = "ctsimtext"; +static const char* const s_szProgramName2 = "ctsimtext.exe"; extern int if1_main (int argc, char* const argv[]); extern int if2_main (int argc, char* const argv[]); @@ -98,18 +99,15 @@ interactive_usage () static bool s_bInteractive = false; - -#define DEBUG 1 - int ctsimtext_main (int argc, char * argv[]) { - int iReturn = 0; + int iReturn = 0; - - if (argc > 1 && strcmp(argv[0], fileBasename (s_szProgramName)) == 0) { - argv = &argv[1]; + if (argc > 1 && (strcmp(argv[0], fileBasename (s_szProgramName)) == 0 || strcmp(argv[0], fileBasename (s_szProgramName2)) == 0)) { + argv++; argc--; + } iReturn = processCommand (argc, argv); } else if (argc > 1){ iReturn = processCommand (argc, argv); @@ -132,7 +130,7 @@ ctsimtext_main (int argc, char * argv[]) char* pszInputLine = new char [s_MaxLineLength+1]; std::cout << szPrompt; std::cin.getline (pszInputLine, s_MaxLineLength); - + #ifdef DEBUG std::cout << "#" << pszInputLine << "#\n"; #endif @@ -216,14 +214,20 @@ convertStringToArgcv (char* pszLine, int* piArgc, char*** pppArgv) } *piArgc = nTokens; - *pppArgv = new char* [nTokens]; - for (unsigned int iToken = 0; iToken < vecpszToken.size(); iToken++) - (*pppArgv)[iToken] = vecpszToken[iToken]; + if (nTokens > 0) { + *pppArgv = new char* [nTokens]; + for (unsigned int iToken = 0; iToken < vecpszToken.size(); iToken++) + (*pppArgv)[iToken] = vecpszToken[iToken]; + } else + *pppArgv = NULL; } static int processCommand (int argc, char* const argv[]) { + if (argc < 1) + return 1; + const char* const pszFunction = fileBasename (argv[0]); if (strcasecmp (pszFunction, "if1") == 0) @@ -270,3 +274,22 @@ main (int argc, char* argv[]) return (retval); } + +// Hack to fix linking problems when not linking with wxWindows and CTSim GUI routines +#ifdef MSVC +unsigned long +wxDialog::OnCtlColor(unsigned long a,unsigned long b,unsigned int c,unsigned int d,unsigned int e,long f) +{return 0;} +#endif + +#if 0 +#include "../src/dlgezplot.h" + +EZPlotDialog::EZPlotDialog (wxWindow* parent) + : wxDialog(), m_pEZPlotCtrl(NULL) +{} + +EZPlotDialog::~EZPlotDialog() +{} + +#endif