Cygwin: get_mem_values: Return allocation as size_t values

Use size_t in callers, too.  Fix __small_sprintf format specifiers.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2018-08-17 19:30:28 +02:00
parent ca2ec0c5cc
commit 630294d373
1 changed files with 15 additions and 18 deletions

View File

@ -82,10 +82,9 @@ static const virt_tab_t process_tab[] =
static const int PROCESS_LINK_COUNT = static const int PROCESS_LINK_COUNT =
(sizeof (process_tab) / sizeof (virt_tab_t)) - 1; (sizeof (process_tab) / sizeof (virt_tab_t)) - 1;
int get_process_state (DWORD dwProcessId); int get_process_state (DWORD dwProcessId);
static bool get_mem_values (DWORD dwProcessId, unsigned long *vmsize, static bool get_mem_values (DWORD dwProcessId, size_t *vmsize, size_t *vmrss,
unsigned long *vmrss, unsigned long *vmtext, size_t *vmtext, size_t *vmdata, size_t *vmlib,
unsigned long *vmdata, unsigned long *vmlib, size_t *vmshare);
unsigned long *vmshare);
/* Returns 0 if path doesn't exist, >0 if path is a directory, /* Returns 0 if path doesn't exist, >0 if path is a directory,
-1 if path is a file, -2 if path is a symlink, -3 if path is a pipe, -1 if path is a file, -2 if path is a symlink, -3 if path is a pipe,
@ -1174,8 +1173,7 @@ format_process_status (void *data, char *&destbuf)
char cmd[NAME_MAX + 1]; char cmd[NAME_MAX + 1];
int state = 'R'; int state = 'R';
const char *state_str = "unknown"; const char *state_str = "unknown";
unsigned long vmsize = 0UL, vmrss = 0UL, vmdata = 0UL, vmlib = 0UL, size_t vmsize = 0, vmrss = 0, vmdata = 0, vmlib = 0, vmtext = 0, vmshare = 0;
vmtext = 0UL, vmshare = 0UL;
PWCHAR last_slash = wcsrchr (p->progname, L'\\'); PWCHAR last_slash = wcsrchr (p->progname, L'\\');
sys_wcstombs (cmd, NAME_MAX + 1, last_slash ? last_slash + 1 : p->progname); sys_wcstombs (cmd, NAME_MAX + 1, last_slash ? last_slash + 1 : p->progname);
@ -1216,7 +1214,7 @@ format_process_status (void *data, char *&destbuf)
if (!get_mem_values (p->dwProcessId, &vmsize, &vmrss, &vmtext, &vmdata, if (!get_mem_values (p->dwProcessId, &vmsize, &vmrss, &vmtext, &vmdata,
&vmlib, &vmshare)) &vmlib, &vmshare))
return 0; return 0;
unsigned page_size = wincap.page_size (); size_t page_size = wincap.page_size ();
vmsize *= page_size; vmrss *= page_size; vmdata *= page_size; vmsize *= page_size; vmrss *= page_size; vmdata *= page_size;
vmtext *= page_size; vmlib *= page_size; vmtext *= page_size; vmlib *= page_size;
/* The real uid value for *this* process is stored at cygheap->user.real_uid /* The real uid value for *this* process is stored at cygheap->user.real_uid
@ -1230,13 +1228,13 @@ format_process_status (void *data, char *&destbuf)
"PPid:\t%d\n" "PPid:\t%d\n"
"Uid:\t%d %d %d %d\n" "Uid:\t%d %d %d %d\n"
"Gid:\t%d %d %d %d\n" "Gid:\t%d %d %d %d\n"
"VmSize:\t%8d kB\n" "VmSize:\t%8lu kB\n"
"VmLck:\t%8d kB\n" "VmLck:\t%8lu kB\n"
"VmRSS:\t%8d kB\n" "VmRSS:\t%8lu kB\n"
"VmData:\t%8d kB\n" "VmData:\t%8lu kB\n"
"VmStk:\t%8d kB\n" "VmStk:\t%8lu kB\n"
"VmExe:\t%8d kB\n" "VmExe:\t%8lu kB\n"
"VmLib:\t%8d kB\n" "VmLib:\t%8lu kB\n"
"SigPnd:\t%016x\n" "SigPnd:\t%016x\n"
"SigBlk:\t%016x\n" "SigBlk:\t%016x\n"
"SigIgn:\t%016x\n", "SigIgn:\t%016x\n",
@ -1257,8 +1255,7 @@ static off_t
format_process_statm (void *data, char *&destbuf) format_process_statm (void *data, char *&destbuf)
{ {
_pinfo *p = (_pinfo *) data; _pinfo *p = (_pinfo *) data;
unsigned long vmsize = 0UL, vmrss = 0UL, vmtext = 0UL, vmdata = 0UL, size_t vmsize = 0, vmrss = 0, vmtext = 0, vmdata = 0, vmlib = 0, vmshare = 0;
vmlib = 0UL, vmshare = 0UL;
size_t page_scale; size_t page_scale;
if (!get_mem_values (p->dwProcessId, &vmsize, &vmrss, &vmtext, &vmdata, if (!get_mem_values (p->dwProcessId, &vmsize, &vmrss, &vmtext, &vmdata,
&vmlib, &vmshare)) &vmlib, &vmshare))
@ -1266,7 +1263,7 @@ format_process_statm (void *data, char *&destbuf)
page_scale = wincap.allocation_granularity() / wincap.page_size(); page_scale = wincap.allocation_granularity() / wincap.page_size();
destbuf = (char *) crealloc_abort (destbuf, 96); destbuf = (char *) crealloc_abort (destbuf, 96);
return __small_sprintf (destbuf, "%ld %ld %ld %ld %ld %ld 0\n", return __small_sprintf (destbuf, "%lu %lu %lu %lu %lu %lu 0\n",
vmsize / page_scale, vmrss / page_scale, vmshare / page_scale, vmsize / page_scale, vmrss / page_scale, vmshare / page_scale,
vmtext / page_scale, vmlib / page_scale, vmdata / page_scale); vmtext / page_scale, vmlib / page_scale, vmdata / page_scale);
} }
@ -1439,7 +1436,7 @@ out:
} }
static bool static bool
get_mem_values (DWORD dwProcessId, unsigned long *vmsize, unsigned long *vmrss, get_mem_values (DWORD dwProcessId, size_t *vmsize, unsigned long *vmrss,
unsigned long *vmtext, unsigned long *vmdata, unsigned long *vmtext, unsigned long *vmdata,
unsigned long *vmlib, unsigned long *vmshare) unsigned long *vmlib, unsigned long *vmshare)
{ {