aboutsummaryrefslogtreecommitdiff
path: root/winsup/utils
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2000-05-19 17:06:28 +0000
committerDJ Delorie <dj@redhat.com>2000-05-19 17:06:28 +0000
commitf00c1d2ccd499cb0adfede255c9e704e65931623 (patch)
treee379a9eb81e9161b1fc87542afcb7f3f0ec9bf3f /winsup/utils
parentf343a326d3da43f8e3c73494e412b7e123c216fc (diff)
downloadnewlib-f00c1d2ccd499cb0adfede255c9e704e65931623.zip
newlib-f00c1d2ccd499cb0adfede255c9e704e65931623.tar.gz
newlib-f00c1d2ccd499cb0adfede255c9e704e65931623.tar.bz2
* cygpath.cc: add --windir/--sysdir options
* utils.sgml: and document them
Diffstat (limited to 'winsup/utils')
-rw-r--r--winsup/utils/ChangeLog5
-rw-r--r--winsup/utils/cygpath.cc21
-rw-r--r--winsup/utils/utils.sgml3
3 files changed, 27 insertions, 2 deletions
diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
index 3db3b77..61633af 100644
--- a/winsup/utils/ChangeLog
+++ b/winsup/utils/ChangeLog
@@ -1,3 +1,8 @@
+2000-05-19 DJ Delorie <dj@cygnus.com>
+
+ * cygpath.cc: add --windir/--sysdir options
+ * utils.sgml: and document them
+
Thu May 18 14:38:26 2000 Christopher Faylor <cgf@cygnus.com>
* Makefile.in: Eliminate WINSUP_DEPS.
diff --git a/winsup/utils/cygpath.cc b/winsup/utils/cygpath.cc
index 0eab89d..e1c5bcd 100644
--- a/winsup/utils/cygpath.cc
+++ b/winsup/utils/cygpath.cc
@@ -35,6 +35,8 @@ static struct option long_options[] =
{ (char *) "file", required_argument, (int *) &file_arg, 'f'},
{ (char *) "version", no_argument, NULL, 'v' },
{ (char *) "windows", no_argument, NULL, 'w' },
+ { (char *) "windir", no_argument, NULL, 'W' },
+ { (char *) "sysdir", no_argument, NULL, 'S' },
{ 0, no_argument, 0, 0 }
};
@@ -48,6 +50,8 @@ Usage: %s [-p|--path] (-u|--unix)|(-w|--windows) filename\n\
-f|--file file read file for path information\n\
-u|--unix print Unix form of filename\n\
-w|--windows print Windows form of filename\n\
+ -W|--windir print `Windows' directory\n\
+ -S|--sysdir print `system' directory\n\
-p|--path filename argument is a path\n",
prog_name);
exit (status);
@@ -115,6 +119,7 @@ main (int argc, char **argv)
int c;
int options_from_file_flag;
char *filename;
+ char buf[MAX_PATH], buf2[MAX_PATH];
prog_name = strrchr (argv[0], '/');
if (prog_name == NULL)
@@ -126,7 +131,7 @@ main (int argc, char **argv)
unix_flag = 0;
windows_flag = 0;
options_from_file_flag = 0;
- while ((c = getopt_long (argc, argv, (char *) "hac:f:opuvw", long_options, (int *) NULL))
+ while ((c = getopt_long (argc, argv, (char *) "hac:f:opSuvwW", long_options, (int *) NULL))
!= EOF)
{
switch (c)
@@ -163,13 +168,25 @@ main (int argc, char **argv)
windows_flag = 1;
break;
+ case 'W':
+ GetWindowsDirectory(buf, MAX_PATH);
+ cygwin_conv_to_posix_path(buf, buf2);
+ printf("%s\n", buf2);
+ exit(0);
+
+ case 'S':
+ GetSystemDirectory(buf, MAX_PATH);
+ cygwin_conv_to_posix_path(buf, buf2);
+ printf("%s\n", buf2);
+ exit(0);
+
case 'h':
usage (stdout, 0);
break;
case 'v':
printf ("Cygwin pathconv version 1.0\n");
- printf ("Copyright 1998 Cygnus Solutions\n");
+ printf ("Copyright 1998,1999,2000 Cygnus Solutions\n");
exit (0);
default:
diff --git a/winsup/utils/utils.sgml b/winsup/utils/utils.sgml
index 5fe8cc8..44d5301 100644
--- a/winsup/utils/utils.sgml
+++ b/winsup/utils/utils.sgml
@@ -66,10 +66,13 @@ or if you know what everything is already, just leave this out.</para>
<screen>
Usage: cygpath [-p|--path] (-u|--unix)|(-w|--windows) filename
cygpath [-v|--version]
+ cygpath [-W|--windir|-S|--sysdir]
-u|--unix print UNIX form of filename
-w|--windows print Windows form of filename
-p|--path filename argument is a path
-v|--version print program version
+ -W|--windir print windows directory
+ -S|--sysdir print system directory
</screen>
<para>The <command>cygpath</command> program is a utility that