diff options
author | Christopher Faylor <me@cgf.cx> | 2001-08-15 03:24:18 +0000 |
---|---|---|
committer | Christopher Faylor <me@cgf.cx> | 2001-08-15 03:24:18 +0000 |
commit | da3ea61edda86f0f1c3176b5b1ee30265c5ec1a3 (patch) | |
tree | 1503e59621985b1720fff196851c537d923d5e08 /winsup | |
parent | 3ca6bcc4d0b3e32ebbd7ec6956abb3240e558c75 (diff) | |
download | newlib-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/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/utils/cygpath.cc | 13 |
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); |