This is the mail archive of the cygwin-cvs@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[newlib-cygwin] Drop Windows 2000 considerations in ps, fix uid field length


https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=7701a023ff6e5861b0d875551070fa4df3e2525c

commit 7701a023ff6e5861b0d875551070fa4df3e2525c
Author: Corinna Vinschen <corinna@vinschen.de>
Date:   Wed Jun 10 11:07:27 2015 +0200

    Drop Windows 2000 considerations in ps, fix uid field length
    
    	* ps.cc (main): Widen UID field in long format to accommodate longer
    	UIDs since Cygwin 1.7.34.  Remove Windows 2000 considerations.  Fix
    	comments accordingly.
    
    Signed-off-by: Corinna Vinschen <corinna@vinschen.de>

Diff:
---
 winsup/utils/ChangeLog |  6 ++++++
 winsup/utils/ps.cc     | 47 ++++++++++++++++-------------------------------
 2 files changed, 22 insertions(+), 31 deletions(-)

diff --git a/winsup/utils/ChangeLog b/winsup/utils/ChangeLog
index 70fef4a..f9a25b2 100644
--- a/winsup/utils/ChangeLog
+++ b/winsup/utils/ChangeLog
@@ -1,3 +1,9 @@
+2015-06-10  Corinna Vinschen  <corinna@vinschen.de>
+
+	* ps.cc (main): Widen UID field in long format to accommodate longer
+	UIDs since Cygwin 1.7.34.  Remove Windows 2000 considerations.  Fix
+	comments accordingly.
+
 2015-06-08  Corinna Vinschen  <corinna@vinschen.de>
 
 	* path.cc (from_fstab_line): Don't convert slashes to backslashes for
diff --git a/winsup/utils/ps.cc b/winsup/utils/ps.cc
index 952b63e..081fd6e 100644
--- a/winsup/utils/ps.cc
+++ b/winsup/utils/ps.cc
@@ -158,8 +158,8 @@ main (int argc, char *argv[])
   const char *dfmt   = "%7d%4s%10s %s\n";
   const char *ftitle = "     UID     PID    PPID  TTY        STIME COMMAND\n";
   const char *ffmt   = "%8.8s%8d%8d%4s%10s %s\n";
-  const char *ltitle = "      PID    PPID    PGID     WINPID   TTY     UID    STIME COMMAND\n";
-  const char *lfmt   = "%c %7d %7d %7d %10u %4s %4u %8s %s\n";
+  const char *ltitle = "      PID    PPID    PGID     WINPID   TTY         UID    STIME COMMAND\n";
+  const char *lfmt   = "%c %7d %7d %7d %10u %4s %8u %8s %s\n";
   char ch;
   PUNICODE_STRING uni = (PUNICODE_STRING) unicode_buf;
   void *drive_map = NULL;
@@ -259,27 +259,15 @@ main (int argc, char *argv[])
       version.dwOSVersionInfoSize = sizeof version;
       GetVersionEx (&version);
       if (version.dwMajorVersion <= 5)	/* pre-Vista */
-	{
-	  proc_access = PROCESS_QUERY_INFORMATION;
-	  if (version.dwMinorVersion < 1)	/* Windows 2000 */
-	    proc_access |= PROCESS_VM_READ;
-	  else
-	    {
-	    }
-	}
-
-      /* Except on Windows 2000, fetch an opaque drive mapping object from the
-	 Cygwin DLL.  This is used to map NT device paths to Win32 paths. */
-      if (!(proc_access & PROCESS_VM_READ))
-	{
-	  drive_map = (void *) cygwin_internal (CW_ALLOC_DRIVE_MAP);
-	  /* Check old Cygwin version. */
-	  if (drive_map == (void *) -1)
-	    drive_map = NULL;
-	  /* Allow fallback to GetModuleFileNameEx for post-W2K. */
-	  if (!drive_map)
-	    proc_access = PROCESS_QUERY_INFORMATION | PROCESS_VM_READ;
-	}
+	proc_access = PROCESS_QUERY_INFORMATION;
+
+      drive_map = (void *) cygwin_internal (CW_ALLOC_DRIVE_MAP);
+      /* Check old Cygwin version. */
+      if (drive_map == (void *) -1)
+	drive_map = NULL;
+      /* Allow fallback to GetModuleFileNameEx. */
+      if (!drive_map)
+	proc_access = PROCESS_QUERY_INFORMATION | PROCESS_VM_READ;
     }
 
   for (int pid = 0;
@@ -332,9 +320,9 @@ main (int argc, char *argv[])
 	  if (!h)
 	    continue;
 	  /* We use NtQueryInformationProcess in the first place, because
-	     GetModuleFileNameEx does not work on 64 bit systems when trying
+	     GetModuleFileNameEx does not work under WOW64 when trying
 	     to fetch module names of 64 bit processes. */
-	  if (!(proc_access & PROCESS_VM_READ))	/* Windows 2000 */
+	  if (!(proc_access & PROCESS_VM_READ))
 	    {
 	      status = NtQueryInformationProcess (h, ProcessImageFileName, uni,
 						  sizeof unicode_buf, NULL);
@@ -358,12 +346,9 @@ main (int argc, char *argv[])
 		    }
 		}
 	    }
-	  else
-	    {
-	      if (GetModuleFileNameExW (h, NULL, (PWCHAR) unicode_buf,
-					NT_MAX_PATH))
-		win32path = (wchar_t *) unicode_buf;
-	    }
+	  else if (GetModuleFileNameExW (h, NULL, (PWCHAR) unicode_buf,
+					 NT_MAX_PATH))
+	    win32path = (wchar_t *) unicode_buf;
 	  if (win32path)
 	    wcstombs (pname, win32path, sizeof pname);
 	  else


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]