std.process: bug or my fault?

novice2 sorry at noem.ail
Wed Jul 1 00:25:07 PDT 2009


I want to use Phobos
std.process.execv(in string pathname, in immutable(char)[][] argv)
to execute external programm with some parameter. But i found, that can't pass parameter properly - they not passed.
Here very short example - caller.exe shoud call called.exe with parameters:

/*** begin file caller.d */
import std.process;

void main()
{
  string[] args = ["a1", "b2", "c3"];
  std.process.execv("called.exe", args);
}
/*** end file caller.d */


/*** begin file called.d */
import std.file;
import std.string;

void main(string[] args)
{
  string s = std.string.join(args, " ");
  std.file.write("called.log", s);
}
/*** end file called.d */


caller.exe execute called.exe with args "a1 b2 c3",
then called.exe save this arguments to called.log file.

but in my environment(Windows XP sp3, DMD 2.030 and DMD 1.045) i have only "called.exe b2 c3" in log file.
"a1" argument missed.

Where i made mistake?
Can anyone reproduce?

thanks.


More information about the Digitalmars-d-learn mailing list