Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-22 Thread Ken Brown
On 9/22/2019 3:11 AM, Houder wrote: > - 1. - Farewell > > I will be hospitalized soon, and I do not think I will be back here (any > time soon?). I'm very sorry to hear that. Thanks for your contributions. Best wishes, Ken -- Problem reports: http://cygwin.com/problems.html FAQ:

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-22 Thread Houder
On Sat, 21 Sep 2019 15:42:36, Ken Brown wrote: [snip] > I'll fix this and then look at your patches to mkdir and rmdir. It would > be very helpful if you would write these as a patch series with cover letter, > using git format-patch, and send them to the cygwin-patches list. Hi Ken, I think

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-21 Thread Ken Brown
On 9/20/2019 5:11 AM, Houder wrote: > As I said already, the snippet should NOT be executed in general. Perhaps > it is another left-over from old times that should have been deleted. You're absolutely right. Prior to commit b0717aae0, the code looked like this: if (strncmp (path,

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-20 Thread Houder
On Fri, 20 Sep 2019 09:55:59, Houder wrote: [snip] > So, in general this piece of code should NOT be executed. And I doubt if > it is ever reached in case of a device path, like \\.\e: (did not check). Did check. Using my modified code (and debugger). Yes, the code snippet is reached in case of

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-20 Thread Houder
On Thu, 19 Sep 2019 18:04:47, Ken Brown wrote: > On 9/1/2019 1:38 PM, Houder wrote: > > On Fri, 30 Aug 2019 11:54:27, Houder wrote: > > [...] > > > As the directory "/foo" had been correctly created, I turned to > > path_conv::check(), which is called when build_fhname() creates > > the

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-19 Thread Ken Brown
On 9/1/2019 1:38 PM, Houder wrote: > On Fri, 30 Aug 2019 11:54:27, Houder wrote: [...] > As the directory "/foo" had been correctly created, I turned to > path_conv::check(), which is called when build_fhname() creates > the path_conv object (also called pc) -- see dtable.cc. > > Examining

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-06 Thread L A Walsh
On 2019/08/28 07:22, Corinna Vinschen wrote: > One problem here is, what to do about border cases like > > $ mkdir a\/\/\/ > > In theory slashes and backslashes should both be treated as dir > separators. Handling a case like this so that all expectations > are satisfied is next to impossible,

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-03 Thread Houder
On Mon, 2 Sep 2019 10:15:08, Corinna Vinschen wrote: > > On Sep 1 19:38, Houder wrote: > > Hi Corinna, > > > > My last post in this issue. > > > > As reported, Eric's code snippet in rmdir() (dir.cc) has become > > redundant, lines 317 - 325 can be removed. > > This is what I'm not entirely

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-03 Thread Andrey Repin
Greetings, Houder! > Examining this (obsure) method in path.cc, I corrected the code > in 2 places: > --- > if (dev.isfs ()) > { > //if (strncmp (path, ".\\", 4)) < 1171 > if ( ! strncmp (path, ".\\", 4)) // < [1] > { >

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-02 Thread Corinna Vinschen
On Sep 1 19:38, Houder wrote: > On Fri, 30 Aug 2019 11:54:27, Houder wrote: > > > A trailing forward slash in "pathname" is stripped in path_conv::check, > > > > (look for: *--tail = '\0' ) > > > > after "pathname" has been normalized in > > > > normalized_posix_path or normalized_win32_path

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-09-01 Thread Houder
On Fri, 30 Aug 2019 11:54:27, Houder wrote: > A trailing forward slash in "pathname" is stripped in path_conv::check, > > (look for: *--tail = '\0' ) > > after "pathname" has been normalized in > > normalized_posix_path or normalized_win32_path (or both), > > before it is fed into

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-30 Thread Houder
On Thu, 29 Aug 2019 17:05:41, Houder wrote: > On Wed, 28 Aug 2019 16:22:20, Corinna Vinschen wrote: [snip] > > One problem here is, what to do about border cases like > > > > $ mkdir a\/\/\/ > > > > In theory slashes and backslashes should both be treated as dir > > separators. Handling a

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-30 Thread Corinna Vinschen
Eric? On Aug 29 17:05, Houder wrote: > On Wed, 28 Aug 2019 16:22:20, Corinna Vinschen wrote: > > > > As simple as that? > > > > > > diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc > > > index b757851d5c7f..747b1582af50 100644 > > > --- a/winsup/cygwin/dir.cc > > > +++

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-29 Thread Houder
On Wed, 28 Aug 2019 16:22:20, Corinna Vinschen wrote: > > As simple as that? > > > > diff --git a/winsup/cygwin/dir.cc b/winsup/cygwin/dir.cc > > index b757851d5c7f..747b1582af50 100644 > > --- a/winsup/cygwin/dir.cc > > +++ b/winsup/cygwin/dir.cc > > @@ -314,13 +314,13 @@ mkdir (const char

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Houder
On Wed, 28 Aug 2019 08:33:05, Eric Blake wrote: > On 8/27/19 7:51 AM, Houder wrote: > > > > 64-@@ mkdir 'e:\' # creates subdirectory e: ! > > Had you typed: > > mkdir 'e:/' > > I would expect subdirectory ./e: to be created. But with 'e:\', that > is a DOS style path, so I would lean

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Corinna Vinschen
On Aug 28 16:15, Corinna Vinschen wrote: > On Aug 28 08:36, Eric Blake wrote: > > On 8/28/19 7:59 AM, Corinna Vinschen wrote: > > > > > mkdir(2) has some special code from 2009 which drops trailing > > > {back}slashes to perform a bordercase in mkdir Linux-compatible. > > > This code

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Corinna Vinschen
On Aug 28 08:36, Eric Blake wrote: > On 8/28/19 7:59 AM, Corinna Vinschen wrote: > > > mkdir(2) has some special code from 2009 which drops trailing > > {back}slashes to perform a bordercase in mkdir Linux-compatible. > > This code snippet doesn't exist in rmdir(2). > > Dropping

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Eric Blake
On 8/28/19 7:59 AM, Corinna Vinschen wrote: > mkdir(2) has some special code from 2009 which drops trailing > {back}slashes to perform a bordercase in mkdir Linux-compatible. > This code snippet doesn't exist in rmdir(2). Dropping trailing slashes to be Linux-compatible is okay.

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Eric Blake
On 8/27/19 7:51 AM, Houder wrote: > > 64-@@ mkdir 'e:\' # creates subdirectory e: ! Had you typed: mkdir 'e:/' I would expect subdirectory ./e: to be created. But with 'e:\', that is a DOS style path, so I would lean towards requiring './e:\' if you want to create a literal directory

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Corinna Vinschen
On Aug 28 09:16, Houder wrote: > On Tue, 27 Aug 2019 11:44:17, Vince Rice wrote: > > > > On Aug 27, 2019, at 11:28 AM, Houder wrote: > > > > > > On Tue, 27 Aug 2019 17:25:49, Corinna Vinschen wrote: > > >> > > >> mkdir(2) has some special code from 2009 which drops trailing > > >> {back}slashes

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Houder
On Wed, 28 Aug 2019 10:32:27, john doe wrote: > As hinted out in here, backporting the code snippet from mkdir to rmdir > would solve your issue. No, the reverse. Removing the snippet from mkdir() would solve my issue. rmdir() does the right thing; currently, mkdir() does the wrong thing.

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread john doe
On 8/28/2019 9:16 AM, Houder wrote: > On Tue, 27 Aug 2019 11:44:17, Vince Rice wrote: > >>> On Aug 27, 2019, at 11:28 AM, Houder wrote: >>> >>> On Tue, 27 Aug 2019 17:25:49, Corinna Vinschen wrote: mkdir(2) has some special code from 2009 which drops trailing {back}slashes to

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Houder
On Tue, 27 Aug 2019 11:44:17, Vince Rice wrote: > > On Aug 27, 2019, at 11:28 AM, Houder wrote: > > > > On Tue, 27 Aug 2019 17:25:49, Corinna Vinschen wrote: > >> > >> mkdir(2) has some special code from 2009 which drops trailing > >> {back}slashes to perform a bordercase in mkdir

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-28 Thread Corinna Vinschen
On Aug 27 14:37, Brian Inglis wrote: > On 2019-08-27 11:54, Achim Gratz wrote: > > Corinna Vinschen writes: > >> mkdir(2) has some special code from 2009 which drops trailing > >> {back}slashes to perform a bordercase in mkdir Linux-compatible. > >> This code snippet doesn't exist in rmdir(2). > >

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-27 Thread Achim Gratz
Achim Gratz writes: > Corinna Vinschen writes: >> mkdir(2) has some special code from 2009 which drops trailing >> {back}slashes to perform a bordercase in mkdir Linux-compatible. >> This code snippet doesn't exist in rmdir(2). > > While we're discussing oddities, creating symbolic links in the

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-27 Thread Brian Inglis
On 2019-08-27 11:54, Achim Gratz wrote: > Corinna Vinschen writes: >> mkdir(2) has some special code from 2009 which drops trailing >> {back}slashes to perform a bordercase in mkdir Linux-compatible. >> This code snippet doesn't exist in rmdir(2). > > While we're discussing oddities, creating

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-27 Thread Achim Gratz
Corinna Vinschen writes: > mkdir(2) has some special code from 2009 which drops trailing > {back}slashes to perform a bordercase in mkdir Linux-compatible. > This code snippet doesn't exist in rmdir(2). While we're discussing oddities, creating symbolic links in the virtual /dev directory still

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-27 Thread Corinna Vinschen
On Aug 27 11:44, Vince Rice wrote: > > On Aug 27, 2019, at 11:28 AM, Houder wrote: > > > > On Tue, 27 Aug 2019 17:25:49, Corinna Vinschen wrote: > >> ā€¦ > >> mkdir(2) has some special code from 2009 which drops trailing > >> {back}slashes to perform a bordercase in mkdir Linux-compatible. > >>

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-27 Thread Vince Rice
> On Aug 27, 2019, at 11:28 AM, Houder wrote: > > On Tue, 27 Aug 2019 17:25:49, Corinna Vinschen wrote: >> ā€¦ >> mkdir(2) has some special code from 2009 which drops trailing >> {back}slashes to perform a bordercase in mkdir Linux-compatible. >> This code snippet doesn't exist in rmdir(2). > >

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-27 Thread Houder
On Tue, 27 Aug 2019 17:25:49, Corinna Vinschen wrote: > > On Aug 27 14:51, Houder wrote: [snip] > > Now, let's play: > > > > 64-@@ cygpath -w /drv/e > > E:\ > > > 64-@@ mkdir 'e:\' # creates subdirectory e: ! > > 64-@@ rmdir 'e:\' # fails, because it refers to /drv/e > > rmdir: failed to

Re: Odd, is it not? mkdir 'e:\' cannot be undone by rmdir 'e:\' ...

2019-08-27 Thread Corinna Vinschen
On Aug 27 14:51, Houder wrote: > L.S., > > # note: cygdrive has been remapped to /drv at my place > > 64-%% uname -a > CYGWIN_NT-6.1 Seven 3.0.7(0.338/5/3) 2019-04-30 18:08 x86_64 Cygwin > 64-%% mkdir /drv/e > mkdir: cannot create directory ā€˜/drv/eā€™: Permission denied > > 64-@@ uname -a >