This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v5 2/3] Implement "set cwd" command on GDB


On Tuesday, October 03 2017, Pedro Alves wrote:

> On 10/03/2017 05:39 PM, Sergio Durigan Junior wrote:
>
>>> But what if inferior_cwd _is_ NULL, when ...
>>>
>>>
>>>>    memset (&si, 0, sizeof (si));
>>>>    si.cb = sizeof (si);
>>>>  
>>>> @@ -2514,6 +2527,10 @@ windows_create_inferior (struct target_ops *ops, const char *exec_file,
>>>>        flags |= DEBUG_PROCESS;
>>>>      }
>>>>  
>>>> +  if (cygwin_conv_path (CCP_POSIX_TO_WIN_W, inferior_cwd,
>>>> +			infcwd, strlen (inferior_cwd)) < 0)
>>>> +    error (_("Error converting inferior cwd: %d"), errno);
>>>
>>> ... we get here?  It looks to me like this conversion should
>>> skipped here then, and ...
>> 
>> You're right, this should be skipped.
>> 
>>>> +
>>>>  #ifdef __USEWIDE
>>>>    args = (cygwin_buf_t *) alloca ((wcslen (toexec) + wcslen (cygallargs) + 2)
>>>>  				  * sizeof (wchar_t));
>>>> @@ -2574,7 +2591,7 @@ windows_create_inferior (struct target_ops *ops, const char *exec_file,
>>>>  		       TRUE,	/* inherit handles */
>>>>  		       flags,	/* start flags */
>>>>  		       w32_env,	/* environment */
>>>> -		       NULL,	/* current directory */
>>>> +		       infcwd,	/* current directory */
>>>
>>> ... here still pass NULL.
>> 
>> Here we pass NULL because that was the old behaviour when we did not
>> care about the inferior's cwd.  This is the same approach that we use on
>> fork_inferior: if the user hasn't provided any paths via "set cwd", then
>> we don't do anything.
>
> Exactly, I'm saying that you _should_ pass NULL iff
> inferior_cwd is NULL.  That's what msdn's documentation of
> CreateProcess says you should pass in order to have the
> process inherit its parent's cwd.

Oh, right, sorry, I mistakenly thought we were talking about the code
below, which uses "inferior_cwd" directly.  Indeed, this part should
pass NULL, and I've fixed it locally to do that.  Thanks,

-- 
Sergio
GPG key ID: 237A 54B1 0287 28BF 00EF  31F4 D0EB 7628 65FC 5E36
Please send encrypted e-mail if possible
http://sergiodj.net/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]