diff --git a/Fltk/Callbacks.cpp b/Fltk/Callbacks.cpp index f49e6621253033da6c249c3d2e3839478a19ea79..fda4abc69e41241f8145f59b66042d5945c0cb1e 100644 --- a/Fltk/Callbacks.cpp +++ b/Fltk/Callbacks.cpp @@ -1,4 +1,4 @@ -// $Id: Callbacks.cpp,v 1.161 2003-01-24 23:13:34 geuzaine Exp $ +// $Id: Callbacks.cpp,v 1.162 2003-01-25 00:05:49 geuzaine Exp $ // // Copyright (C) 1997 - 2003 C. Geuzaine, J.-F. Remacle // @@ -1973,7 +1973,7 @@ void solver_cb(CALLBACK_ARGS){ WID->solver[num].input[0]->value(file); } if(SINFO[num].nboptions){ - sprintf(tmp, "%s %s", SINFO[num].option_command, + sprintf(tmp, "%s \"%s\"", SINFO[num].option_command, (char*)WID->solver[num].input[0]->value()); Solver(num, tmp); } @@ -1986,7 +1986,7 @@ void solver_file_open_cb(CALLBACK_ARGS){ if (file_chooser(0,"Open problem definition file", tmp, 0)){ WID->solver[num].input[0]->value(file_chooser_get_name(1)); if(SINFO[num].nboptions){ - sprintf(tmp, "%s %s", SINFO[num].option_command, file_chooser_get_name(1)); + sprintf(tmp, "%s \"%s\"", SINFO[num].option_command, file_chooser_get_name(1)); Solver(num, tmp); } } @@ -2013,17 +2013,20 @@ int nbs(char *str){ return nb; } void solver_command_cb(CALLBACK_ARGS){ - char arg[512], mesh[256], command[256]; + char tmp[256], arg[512], mesh[256], command[256]; int num = ((int*)data)[0]; int idx = ((int*)data)[1]; int i, usedopts = 0; if(SINFO[num].popup_messages) WID->create_message_window(); - if(strlen(WID->solver[num].input[1]->value())) - sprintf(mesh, SINFO[num].mesh_command, WID->solver[num].input[1]->value()); - else + if(strlen(WID->solver[num].input[1]->value())){ + sprintf(tmp, "\"%s\"", WID->solver[num].input[1]->value()); + sprintf(mesh, SINFO[num].mesh_command, tmp); + } + else{ strcpy(mesh, ""); + } //printf("num%d idx%d %s -> %d\n", // num, idx, SINFO[num].button_command[idx], nbs(SINFO[num].button_command[idx])); @@ -2041,7 +2044,7 @@ void solver_command_cb(CALLBACK_ARGS){ strcpy(command, SINFO[num].button_command[idx]); } - sprintf(arg, "%s %s %s", WID->solver[num].input[0]->value(), mesh, command); + sprintf(arg, "\"%s\" %s %s", WID->solver[num].input[0]->value(), mesh, command); Solver(num, arg); } diff --git a/Fltk/Solvers.cpp b/Fltk/Solvers.cpp index e382dd243e49d2dd83121ad18b17022a4ef31a72..b1b3fedab5d00a9eecfef508aadbb497246c17df 100644 --- a/Fltk/Solvers.cpp +++ b/Fltk/Solvers.cpp @@ -1,4 +1,4 @@ -// $Id: Solvers.cpp,v 1.15 2003-01-24 23:13:35 geuzaine Exp $ +// $Id: Solvers.cpp,v 1.16 2003-01-25 00:05:49 geuzaine Exp $ // // Copyright (C) 1997 - 2003 C. Geuzaine, J.-F. Remacle // @@ -53,7 +53,7 @@ int Solver(int num, char *args){ } sprintf(socket_name, "%s.gmshsock-%d", CTX.home_dir, num); - sprintf(command, "%s %s -socket %s", SINFO[num].executable_name, + sprintf(command, "%s %s -socket \"%s\"", SINFO[num].executable_name, args, socket_name); #if !defined(WIN32) strcat(command, " &");