From da3ea61edda86f0f1c3176b5b1ee30265c5ec1a3 Mon Sep 17 00:00:00 2001 From: Christopher Faylor Date: Wed, 15 Aug 2001 03:24:18 +0000 Subject: * cygpath.cc (main): Support -w for Windows (System) directories and return physical correct orthography for the Windows System dir. --- winsup/utils/ChangeLog | 5 +++++ winsup/utils/cygpath.cc | 13 +++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog index c641f74dc..ad3be304a 100644 --- a/winsup/utils/ChangeLog +++ b/winsup/utils/ChangeLog @@ -1,3 +1,8 @@ +2001-08-14 Joerg Schaible + + * cygpath.cc (main): Support -w for Windows (System) directories and + return physical correct orthography for the Windows System dir. + 2001-07-14 Chris Genly * regtool.cc (find_key): Handle keys with only one subkey. diff --git a/winsup/utils/cygpath.cc b/winsup/utils/cygpath.cc index 8e2aa1d89..afe90ea7f 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); -- cgit v1.2.3