diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2009-07-22 10:20:26 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2009-07-22 10:20:26 +0000 |
commit | 1e497ebd33c2e75d6e2a00d438d8012b3f4ab79c (patch) | |
tree | 8ba200d8211439087cdfe2e752c884669f481be0 /winsup/utils/path.cc | |
parent | d6438f13d10acf192955b98b3f3a3fd5948f211e (diff) | |
download | cygnal-1e497ebd33c2e75d6e2a00d438d8012b3f4ab79c.tar.gz cygnal-1e497ebd33c2e75d6e2a00d438d8012b3f4ab79c.tar.bz2 cygnal-1e497ebd33c2e75d6e2a00d438d8012b3f4ab79c.zip |
* Makefile.in (path-mount.o): Add a rule to build stripped down version
of path.cc for usage in mount.
(mount.exe): Add dependency to path-mount.o.
* mount.cc (force): Convert to bool value. Accommodate throughout.
(from_fstab): New function.
(do_mount_from_fstab): New function.
(longopts): Add --all option.
(opts): Add -a option.
(usage): Document -a/--all option.
(main): Handle -a option as well as single parameter.
* path.cc: Add FSTAB_ONLY conditional to allow building path-mount.o.
(mount_table): Remove static storage class.
(max_mount_entry): Ditto.
(root_here): Unused. Remove.
(from_fstab_line): Remove static.
* path.h (struct mnt_t): Define here rather than in path.cc.
(from_fstab_line): Declare.
(mount_table): Declare.
(max_mount_entry): Declare.
* utils.sgml (mount): Document -a/--all option and mounting of single
path from fstab files.
Diffstat (limited to 'winsup/utils/path.cc')
-rw-r--r-- | winsup/utils/path.cc | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/winsup/utils/path.cc b/winsup/utils/path.cc index a10c574e7..63eda1640 100644 --- a/winsup/utils/path.cc +++ b/winsup/utils/path.cc @@ -27,6 +27,7 @@ details. */ #include "cygwin/include/mntent.h" #include "testsuite.h" +#ifndef FSTAB_ONLY /* Used when treating / and \ as equivalent. */ #define isslash(ch) \ ({ \ @@ -245,25 +246,17 @@ readlink (HANDLE fh, char *path, int maxlen) else return false; } - -struct mnt_t -{ - char *native; - char *posix; - unsigned flags; -}; +#endif /* !FSTAB_ONLY */ #ifndef TESTSUITE -static mnt_t mount_table[255]; -static int max_mount_entry; +mnt_t mount_table[255]; +int max_mount_entry; #else # define TESTSUITE_MOUNT_TABLE # include "testsuite.h" # undef TESTSUITE_MOUNT_TABLE #endif -mnt_t *root_here = NULL; - inline void unconvert_slashes (char* name) { @@ -355,7 +348,7 @@ read_flags (char *options, unsigned &flags) return true; } -static bool +bool from_fstab_line (mnt_t *m, char *line, bool user) { char *native_path, *posix_path, *fs_type; @@ -440,6 +433,8 @@ from_fstab_line (mnt_t *m, char *line, bool user) return true; } +#ifndef FSTAB_ONLY + #define BUFSIZE 65536 static char * @@ -540,7 +535,10 @@ from_fstab (bool user, PWCHAR path, PWCHAR path_end) max_mount_entry = m - mount_table; CloseHandle (h); } -#endif +#endif /* !FSTAB_ONLY */ +#endif /* !TESTSUITE */ + +#ifndef FSTAB_ONLY static int mnt_sort (const void *a, const void *b) @@ -900,3 +898,5 @@ getmntent (FILE *) m++; return &mnt; } + +#endif /* !FSTAB_ONLY */ |