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

Reply via email to