aboutsummaryrefslogtreecommitdiff
path: root/winsup
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-08-15 03:24:18 +0000
committerChristopher Faylor <me@cgf.cx>2001-08-15 03:24:18 +0000
commitda3ea61edda86f0f1c3176b5b1ee30265c5ec1a3 (patch)
tree1503e59621985b1720fff196851c537d923d5e08 /winsup
parent3ca6bcc4d0b3e32ebbd7ec6956abb3240e558c75 (diff)
downloadnewlib-da3ea61edda86f0f1c3176b5b1ee30265c5ec1a3.zip
newlib-da3ea61edda86f0f1c3176b5b1ee30265c5ec1a3.tar.gz
newlib-da3ea61edda86f0f1c3176b5b1ee30265c5ec1a3.tar.bz2
* cygpath.cc (main): Support -w for Windows (System) directories and return
physical correct orthography for the Windows System dir.
Diffstat (limited to 'winsup')
-rw-r--r--winsup/utils/ChangeLog5
-rw-r--r--winsup/utils/cygpath.cc13
2 files changed, 16 insertions, 2 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
index c641f74..ad3be30 100644
--- a/winsup/utils/ChangeLog
+++ b/winsup/utils/ChangeLog
@@ -1,3 +1,8 @@
+2001-08-14 Joerg Schaible <joerg.schaible@gmx.de>
+
+ * cygpath.cc (main): Support -w for Windows (System) directories and
+ return physical correct orthography for the Windows System dir.
+
2001-07-14 Chris Genly <chgenly@alum.mit.edu>
* regtool.cc (find_key): Handle keys with only one subkey.
diff --git a/winsup/utils/cygpath.cc b/winsup/utils/cygpath.cc
index 8e2aa1d..afe90ea 100644
--- a/winsup/utils/cygpath.cc
+++ b/winsup/utils/cygpath.cc
@@ -208,6 +208,7 @@ main (int argc, char **argv)
int options_from_file_flag;
char *filename;
char buf[MAX_PATH], buf2[MAX_PATH];
+ WIN32_FIND_DATA w32_fd;
prog_name = strrchr (argv[0], '/');
if (prog_name == NULL)
@@ -266,13 +267,21 @@ main (int argc, char **argv)
case 'W':
GetWindowsDirectory(buf, MAX_PATH);
- cygwin_conv_to_posix_path(buf, buf2);
+ if (!windows_flag)
+ cygwin_conv_to_posix_path(buf, buf2);
+ else
+ strcpy(buf2, buf);
printf("%s\n", buf2);
exit(0);
case 'S':
GetSystemDirectory(buf, MAX_PATH);
- cygwin_conv_to_posix_path(buf, buf2);
+ FindFirstFile(buf, &w32_fd);
+ strcpy(strrchr(buf, '\\')+1, w32_fd.cFileName);
+ if (!windows_flag)
+ cygwin_conv_to_posix_path(buf, buf2);
+ else
+ strcpy(buf2, buf);
printf("%s\n", buf2);
exit(0);