Fix and simplify exe name handling in demo (Windows).

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@11293 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Albrecht Schlosser 2016-03-05 14:38:35 +00:00
parent a3457f745c
commit 4b63361471

View File

@ -243,6 +243,12 @@ void dobut(Fl_Widget *, long arg)
STARTUPINFO suInfo; // Process startup information STARTUPINFO suInfo; // Process startup information
PROCESS_INFORMATION prInfo; // Process information PROCESS_INFORMATION prInfo; // Process information
# if DEBUG_EXE_WITH_D
const char *exe = "d.exe"; // exe name with trailing 'd'
# else
const char *exe = ".exe"; // exe name w/o trailing 'd'
# endif
memset(&suInfo, 0, sizeof(suInfo)); memset(&suInfo, 0, sizeof(suInfo));
suInfo.cb = sizeof(suInfo); suInfo.cb = sizeof(suInfo);
@ -266,11 +272,7 @@ void dobut(Fl_Widget *, long arg)
char* command = new char[icommand_length+6]; // 6 for extra 'd.exe\0' char* command = new char[icommand_length+6]; // 6 for extra 'd.exe\0'
if (start_parameters==NULL) { // no parameters required. if (start_parameters==NULL) { // no parameters required.
# if DEBUG_EXE_WITH_D sprintf(command, "%s%s", start_command, exe);
sprintf(command, "%sd.exe", start_command);
# else
sprintf(command, "%s.exe", start_command);
# endif // _DEBUG
} else { // parameters required. } else { // parameters required.
// break the start_command at the intermediate space between // break the start_command at the intermediate space between
// start_command and start_parameters. // start_command and start_parameters.
@ -278,11 +280,7 @@ void dobut(Fl_Widget *, long arg)
// move start_paremeters to skip over the intermediate space. // move start_paremeters to skip over the intermediate space.
++start_parameters; ++start_parameters;
# ifdef _DEBUG sprintf(command, "%s%s %s", start_command, exe, start_parameters);
sprintf(command, "%sd.exe %s", start_command, start_parameters);
# else
sprintf(command, "%s.exe %s", start_command, start_parameters);
# endif // _DEBUG
} }
CreateProcess(NULL, command, NULL, NULL, FALSE, CreateProcess(NULL, command, NULL, NULL, FALSE,
@ -297,8 +295,8 @@ void dobut(Fl_Widget *, long arg)
char command[2048], path[2048], app_path[2048]; char command[2048], path[2048], app_path[2048];
// this neat litle block of code ensures that the current directory is set // this neat little block of code ensures that the current directory
// to the location of the Demo application. // is set to the location of the Demo application.
CFBundleRef app = CFBundleGetMainBundle(); CFBundleRef app = CFBundleGetMainBundle();
CFURLRef url = CFBundleCopyBundleURL(app); CFURLRef url = CFBundleCopyBundleURL(app);
CFStringRef cc_app_path = CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle); CFStringRef cc_app_path = CFURLCopyFileSystemPath(url, kCFURLPOSIXPathStyle);