OSDN Git Service
(root)
/
pf3gnuchains
/
pf3gnuchains3x.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
17f4bee
)
* path.cc (symlink_info::check_shortcut): Handle device "symlinks" specially -
author
cgf
<cgf>
Sat, 7 Jul 2007 16:48:26 +0000
(16:48 +0000)
committer
cgf
<cgf>
Sat, 7 Jul 2007 16:48:26 +0000
(16:48 +0000)
don't posixify them.
winsup/cygwin/ChangeLog
patch
|
blob
|
history
winsup/cygwin/path.cc
patch
|
blob
|
history
diff --git
a/winsup/cygwin/ChangeLog
b/winsup/cygwin/ChangeLog
index
e4051a5
..
bb94050
100644
(file)
--- a/
winsup/cygwin/ChangeLog
+++ b/
winsup/cygwin/ChangeLog
@@
-1,5
+1,10
@@
2007-07-07 Christopher Faylor <me+cygwin@cgf.cx>
2007-07-07 Christopher Faylor <me+cygwin@cgf.cx>
+ * path.cc (symlink_info::check_shortcut): Handle device "symlinks"
+ specially - don't posixify them.
+
+2007-07-07 Christopher Faylor <me+cygwin@cgf.cx>
+
* fhandler_disk_file.cc: White space.
* fhandler_proc.cc: Ditto.
* fhandler_virtual.cc: Ditto.
* fhandler_disk_file.cc: White space.
* fhandler_proc.cc: Ditto.
* fhandler_virtual.cc: Ditto.
diff --git
a/winsup/cygwin/path.cc
b/winsup/cygwin/path.cc
index
52c04af
..
e2ac1bb
100644
(file)
--- a/
winsup/cygwin/path.cc
+++ b/
winsup/cygwin/path.cc
@@
-3064,7
+3064,11
@@
symlink_info::check_shortcut (const char *path, HANDLE h)
goto file_not_symlink;
cp += 2;
cp[len] = '\0';
goto file_not_symlink;
cp += 2;
cp[len] = '\0';
- res = posixify (cp);
+ /* Check if this is a device file - these start with the sequence :\\ */
+ if (strncmp (cp, ":\\", 2) == 0)
+ res = strlen (strcpy (contents, cp)); /* Don't try to mess with device files */
+ else
+ res = posixify (cp);
if (res) /* It's a symlink. */
pflags = PATH_SYMLINK | PATH_LNK;
goto close_it;
if (res) /* It's a symlink. */
pflags = PATH_SYMLINK | PATH_LNK;
goto close_it;
@@
-4235,7
+4239,7
@@
cwdstuff::set (const char *win32_cwd, const char *posix_cwd, bool doit)
privilege enabled. The reason is apparently that
SetCurrentDirectory calls NtOpenFile without the
FILE_OPEN_FOR_BACKUP_INTENT flag set.
privilege enabled. The reason is apparently that
SetCurrentDirectory calls NtOpenFile without the
FILE_OPEN_FOR_BACKUP_INTENT flag set.
-
+
- Unlinking a cwd fails because SetCurrentDirectory seems to
open directories so that deleting the directory is disallowed.
The below code opens with *all* sharing flags set. */
- Unlinking a cwd fails because SetCurrentDirectory seems to
open directories so that deleting the directory is disallowed.
The below code opens with *all* sharing flags set. */