[Issue 278] New: dmd.conf search path dosn't work
Bruno Medeiros
brunodomedeirosATgmail at SPAM.com
Tue Aug 8 14:03:30 PDT 2006
BCS wrote:
> Bruno Medeiros wrote:
>> Sean Kelly wrote:
>>
>>>
>>> I was being lazy and trying to avoid starting my Linux VM :-) But I
>>> just wrote an app like the above, compiled it as "app", moved the
>>> executable to /dmd/bin, and ran it. As suspected, argv[0] was "app"
>>> and not "/dmd/bin/app" as the DMD front-end seems to expect. I also
>>> couldn't find a built-in way to determine the location of the
>>> executing process, so it may be that DMD will have to iterate across
>>> the PATH list as Build does.
>>>
>>>
>>> Sean
>>
>>
>> When argv[0] isn't an absolute path, then isn't the location of the
>> executing process file = CWD ~ argv[0] ?
>>
>
> You will also have to search the path to find it. argv[0] seems to be
> whatever you used to call the program put something on the path and run
> it without a full path you will get the name you typed in
>
>
> <code name="test.d">
> import std.stdio;
> void main(char[][] argv){foreach(i,a;argv)writef("%d:>\"%s\"\n",i,a);}
> </code>
>
> // put in path at /bin/foo/
> $test
> 0:>"test"
>
> // call directly
> $/bin/foo/test
> 0:>"/bin/foo/test"
>
> // call locally
> $./test
> 0:>"./test"
>
> Seems to be a direct mapping to whater exec was given.
Agh, of course, that was silly of me. :Z
--
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
More information about the Digitalmars-d-bugs
mailing list