Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2015-06-10 12:07:27 +0300
committerCorinna Vinschen <corinna@vinschen.de>2015-06-10 12:07:27 +0300
commit7701a023ff6e5861b0d875551070fa4df3e2525c (patch)
treea05776d190c56cd7af0701826fc2c1cd09eee691 /winsup/utils/ps.cc
parent6261fb30a9780fae87d631c1da4d77efa43fe329 (diff)
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>
Diffstat (limited to 'winsup/utils/ps.cc')
-rw-r--r--winsup/utils/ps.cc47
1 files changed, 16 insertions, 31 deletions
diff --git a/winsup/utils/ps.cc b/winsup/utils/ps.cc
index 952b63ee3..081fd6e8f 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