Hi Jeremy, just a minor thingy:
On Feb 18 17:51, Jeremy Drake via Cygwin-patches wrote: > + dos_drive_mappings (bool with_floppies = true); I would rather not make this a default parameter, but call it elsewhere with an argument "true". Or even better with an explicit value, like enum { NO_FLOPPIES = false, WITH_FLOPPIES = true }; I have a local tweak along these lines. Would you mind if I amend your patch with this tiny change? diff --git a/winsup/cygwin/external.cc b/winsup/cygwin/external.cc index 6dfd11c44470..50a5af24f911 100644 --- a/winsup/cygwin/external.cc +++ b/winsup/cygwin/external.cc @@ -576,7 +576,7 @@ cygwin_internal (cygwin_getinfo_types t, ...) case CW_ALLOC_DRIVE_MAP: { - dos_drive_mappings *ddm = new dos_drive_mappings (); + dos_drive_mappings *ddm = new dos_drive_mappings (WITH_FLOPPIES); res = (uintptr_t) ddm; } break; diff --git a/winsup/cygwin/fhandler/process.cc b/winsup/cygwin/fhandler/process.cc index 550da2a82068..8fae9be5f678 100644 --- a/winsup/cygwin/fhandler/process.cc +++ b/winsup/cygwin/fhandler/process.cc @@ -887,7 +887,7 @@ format_process_maps (void *data, char *&destbuf) } cur = {{{'\0'}}, (char *)1, 0, 0}; MEMORY_BASIC_INFORMATION mb; - dos_drive_mappings drive_maps; + dos_drive_mappings drive_maps (WITH_FLOPPIES); heap_info heaps (p->dwProcessId); thread_info threads (p->dwProcessId, proc); struct stat st; diff --git a/winsup/cygwin/local_includes/mount.h b/winsup/cygwin/local_includes/mount.h index b719d983594d..163b47551fcb 100644 --- a/winsup/cygwin/local_includes/mount.h +++ b/winsup/cygwin/local_includes/mount.h @@ -220,6 +220,11 @@ class mount_info struct mntent *cygdrive_getmntent (); }; +enum { + NO_FLOPPIES = false, + WITH_FLOPPIES = true +}; + class dos_drive_mappings { struct mapping @@ -237,7 +242,7 @@ class dos_drive_mappings mapping::dosmount *cur_dos; public: - dos_drive_mappings (bool with_floppies = true); + dos_drive_mappings (bool with_floppies); ~dos_drive_mappings (); wchar_t *fixup_if_match (wchar_t *path); const wchar_t *next_dos_mount (); diff --git a/winsup/cygwin/mount.cc b/winsup/cygwin/mount.cc index c921c7691c56..1cfee5c41571 100644 --- a/winsup/cygwin/mount.cc +++ b/winsup/cygwin/mount.cc @@ -1746,7 +1746,7 @@ mount_info::cygdrive_getmntent () char *win32_path, *posix_path; if (!_my_tls.locals.drivemappings) - _my_tls.locals.drivemappings = new dos_drive_mappings (false); + _my_tls.locals.drivemappings = new dos_drive_mappings (NO_FLOPPIES); wide_path = _my_tls.locals.drivemappings->next_dos_mount (); if (wide_path) Thanks, Corinna