On Tue, Jan 6, 2009 at 12:00 AM, Tobia Conforto <tobia.confo...@gmail.com> wrote: > > Have you tried adding an .exe extension to csi? > > Like: "c:\home\chicken-trunk\bin\csi.exe" > > I know it sounds stupid...
No, it doesn't. But I'm quite sure John is right with his assumption. > > > You could try and translate the first filename (the csi executable) to a > short name and use single quotes on the rest of the line, assuming the C > library csi is linked to understands single quotes: Does the Windows shell handle single quotes? > > c:\home\chicke~1\bin\csi -bnq -e '(require-library setup-api)' -e '(import > setup-api)' 'c:\...some...path...\defstruct.setup' > > > Anyways, I think you should dump system(3) and just use CreateProcess: > > char *exe = "c:\\home\\chicken-trunk\\bin\\csi.exe"; > char *cmdline = "csi -bnq -e \"(require-library setup-api)\" -e \"(import > setup-api)\" \"c:\\...some...path...\\defstruct.setup\""; > > STARTUPINFO si; > PROCESS_INFORMATION pi; > memset(&si, 0, sizeof(si)); > si.cb = sizeof(si); > > if (! CreateProcess(exe, cmdline, 0,0,0,0,0,0, &si, &pi)) { > printf("Error %d executing:\n%s\n%s\n", GetLastError(), exe, > cmdline); > exit(1); > } > This might be the right solution. I'll try this, or alternatively use get short-path-name trick given by Lars. cheers, felix _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org http://lists.nongnu.org/mailman/listinfo/chicken-users