* fhandler_process.cc (format_process_maps): Get destbuf argument by
reference. Allow resizing of destbuf as necessary. Fix string handling.
This commit is contained in:
parent
4f27e288c5
commit
6d336c0e5a
|
@ -1,3 +1,9 @@
|
||||||
|
2005-01-31 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
|
* fhandler_process.cc (format_process_maps): Get destbuf argument by
|
||||||
|
reference. Allow resizing of destbuf as necessary. Fix string
|
||||||
|
handling.
|
||||||
|
|
||||||
2005-01-31 Corinna Vinschen <corinna@vinschen.de>
|
2005-01-31 Corinna Vinschen <corinna@vinschen.de>
|
||||||
|
|
||||||
* cygheap.h (class cygheap_fdenum): New class to enumerate used
|
* cygheap.h (class cygheap_fdenum): New class to enumerate used
|
||||||
|
|
|
@ -81,7 +81,7 @@ static const char * const process_listing[] =
|
||||||
static const int PROCESS_LINK_COUNT =
|
static const int PROCESS_LINK_COUNT =
|
||||||
(sizeof (process_listing) / sizeof (const char *)) - 1;
|
(sizeof (process_listing) / sizeof (const char *)) - 1;
|
||||||
|
|
||||||
static _off64_t format_process_maps (_pinfo *p, char *destbuf, size_t maxsize);
|
static _off64_t format_process_maps (_pinfo *p, char *&destbuf, size_t maxsize);
|
||||||
static _off64_t format_process_stat (_pinfo *p, char *destbuf, size_t maxsize);
|
static _off64_t format_process_stat (_pinfo *p, char *destbuf, size_t maxsize);
|
||||||
static _off64_t format_process_status (_pinfo *p, char *destbuf, size_t maxsize);
|
static _off64_t format_process_status (_pinfo *p, char *destbuf, size_t maxsize);
|
||||||
static _off64_t format_process_statm (_pinfo *p, char *destbuf, size_t maxsize);
|
static _off64_t format_process_statm (_pinfo *p, char *destbuf, size_t maxsize);
|
||||||
|
@ -474,7 +474,7 @@ fhandler_process::fill_filebuf ()
|
||||||
}
|
}
|
||||||
|
|
||||||
static _off64_t
|
static _off64_t
|
||||||
format_process_maps (_pinfo *p, char *destbuf, size_t maxsize)
|
format_process_maps (_pinfo *p, char *&destbuf, size_t maxsize)
|
||||||
{
|
{
|
||||||
if (!wincap.is_winnt ())
|
if (!wincap.is_winnt ())
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -529,8 +529,8 @@ format_process_maps (_pinfo *p, char *destbuf, size_t maxsize)
|
||||||
st.st_dev = 0;
|
st.st_dev = 0;
|
||||||
st.st_ino = 0;
|
st.st_ino = 0;
|
||||||
}
|
}
|
||||||
if (len + strlen (posix_modname) + 50 > maxsize - 1)
|
if (len + strlen (posix_modname) + 62 > maxsize - 1)
|
||||||
break;
|
destbuf = (char *) realloc (destbuf, maxsize += 2048);
|
||||||
if (workingset)
|
if (workingset)
|
||||||
for (unsigned i = 1; i <= wset_size; ++i)
|
for (unsigned i = 1; i <= wset_size; ++i)
|
||||||
{
|
{
|
||||||
|
@ -554,9 +554,9 @@ format_process_maps (_pinfo *p, char *destbuf, size_t maxsize)
|
||||||
st.st_dev >> 16,
|
st.st_dev >> 16,
|
||||||
st.st_dev & 0xffff,
|
st.st_dev & 0xffff,
|
||||||
st.st_ino);
|
st.st_ino);
|
||||||
while (written++ < 61)
|
while (written < 62)
|
||||||
destbuf[len + written] = ' ';
|
destbuf[len + written++] = ' ';
|
||||||
len += written - 1;
|
len += written;
|
||||||
len += __small_sprintf (destbuf + len, "%s\n", posix_modname);
|
len += __small_sprintf (destbuf + len, "%s\n", posix_modname);
|
||||||
}
|
}
|
||||||
out:
|
out:
|
||||||
|
|
Loading…
Reference in New Issue