make sigar_proc_args_get a wrapper

This commit is contained in:
Doug MacEachern 2007-04-22 05:37:39 +00:00
parent ad433cf375
commit 09c4138dbd
10 changed files with 25 additions and 34 deletions

View File

@ -174,8 +174,6 @@ int sigar_proc_list_grow(sigar_proc_list_t *proclist);
sigar_proc_list_grow(proclist); \
}
int sigar_proc_args_create(sigar_proc_args_t *procargs);
int sigar_proc_args_grow(sigar_proc_args_t *procargs);
#define SIGAR_PROC_ARGS_GROW(procargs) \
@ -183,6 +181,9 @@ int sigar_proc_args_grow(sigar_proc_args_t *procargs);
sigar_proc_args_grow(procargs); \
}
int sigar_os_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs);
int sigar_file_system_list_create(sigar_file_system_list_t *fslist);
int sigar_file_system_list_grow(sigar_file_system_list_t *fslist);

View File

@ -1126,8 +1126,8 @@ int sigar_proc_state_get(sigar_t *sigar, sigar_pid_t pid,
return SIGAR_OK;
}
int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
int sigar_os_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
{
/* XXX if buffer is not large enough args are truncated */
char buffer[8192], *ptr;
@ -1141,8 +1141,6 @@ int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
return errno;
}
sigar_proc_args_create(procargs);
ptr = buffer;
while (*ptr) {

View File

@ -1029,8 +1029,8 @@ static int kern_proc_args_skip_argv(sigar_kern_proc_args_t *kargs)
}
#endif
int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
int sigar_os_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
{
#if defined(DARWIN)
int status, count;
@ -1046,8 +1046,6 @@ int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
ptr = kargs.ptr;
end = kargs.end;
sigar_proc_args_create(procargs);
while ((ptr < end) && (count-- > 0)) {
int slen = strlen(ptr);
int alen = slen+1;
@ -1089,8 +1087,6 @@ int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
return errno;
}
sigar_proc_args_create(procargs);
if (len == 0) {
procargs->number = 0;
return SIGAR_OK;

View File

@ -381,8 +381,8 @@ int sigar_proc_state_get(sigar_t *sigar, sigar_pid_t pid,
* according to HP forums there isn't a way to get them
* all if > 64
*/
int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
int sigar_os_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
{
char *args, *arg;
struct pst_status status;
@ -392,7 +392,6 @@ int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
}
args = status.pst_cmd;
sigar_proc_args_create(procargs);
while (*args && (arg = sigar_getword(&args, ' '))) {
SIGAR_PROC_ARGS_GROW(procargs);

View File

@ -876,8 +876,8 @@ int sigar_proc_state_get(sigar_t *sigar, sigar_pid_t pid,
return SIGAR_OK;
}
int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
int sigar_os_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
{
return sigar_procfs_args_get(sigar, pid, procargs);
}

View File

@ -844,8 +844,6 @@ static int ucb_ps_args_get(sigar_t *sigar, sigar_pid_t pid,
}
}
sigar_proc_args_create(procargs);
while (*args && (arg = sigar_getword(&args, ' '))) {
SIGAR_PROC_ARGS_GROW(procargs);
procargs->data[procargs->number++] = arg;
@ -854,8 +852,8 @@ static int ucb_ps_args_get(sigar_t *sigar, sigar_pid_t pid,
return SIGAR_OK;
}
int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
int sigar_os_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
{
psinfo_t *pinfo;
int fd, status;
@ -916,12 +914,6 @@ int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
return errno;
}
procargs->number = 0;
procargs->size = pinfo->pr_argc;
procargs->data =
(char **)malloc(sizeof(*(procargs->data)) *
procargs->size);
for (n = 0; n < pinfo->pr_argc; n++) {
int alen;
char *arg;
@ -940,6 +932,7 @@ int sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
arg = malloc(alen);
memcpy(arg, buffer, alen);
SIGAR_PROC_ARGS_GROW(procargs);
procargs->data[procargs->number++] = arg;
}

View File

@ -122,8 +122,6 @@ int sigar_parse_proc_args(sigar_t *sigar, WCHAR *buf,
buf = GetCommandLine();
}
sigar_proc_args_create(procargs);
args = CommandLineToArgvW(buf, &num);
if (args == NULL) {

View File

@ -1272,8 +1272,8 @@ static int sigar_remote_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
return status;
}
SIGAR_DECLARE(int) sigar_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
int sigar_os_proc_args_get(sigar_t *sigar, sigar_pid_t pid,
sigar_proc_args_t *procargs)
{
if (pid == sigar->pid) {
return sigar_parse_proc_args(sigar, NULL, procargs);

View File

@ -537,7 +537,7 @@ SIGAR_DECLARE(int) sigar_proc_list_get(sigar_t *sigar,
return sigar_os_proc_list_get(sigar, proclist);
}
int sigar_proc_args_create(sigar_proc_args_t *procargs)
static int sigar_proc_args_create(sigar_proc_args_t *procargs)
{
procargs->number = 0;
procargs->size = SIGAR_PROC_ARGS_MAX;
@ -572,6 +572,14 @@ SIGAR_DECLARE(int) sigar_proc_args_destroy(sigar_t *sigar,
return SIGAR_OK;
}
SIGAR_DECLARE(int) sigar_proc_args_get(sigar_t *sigar,
sigar_pid_t pid,
sigar_proc_args_t *procargs)
{
sigar_proc_args_create(procargs);
return sigar_os_proc_args_get(sigar, pid, procargs);
}
int sigar_file_system_list_create(sigar_file_system_list_t *fslist)
{
fslist->number = 0;

View File

@ -258,8 +258,6 @@ int sigar_procfs_args_get(sigar_t *sigar, sigar_pid_t pid,
close(fd);
sigar_proc_args_create(procargs);
/* e.g. /proc/2/cmdline */
if (total == 0) {
procargs->number = 0;