Small fix.
This commit is contained in:
@@ -88,7 +88,8 @@ handle_slave_connection (int input, int output)
|
||||
&resp->u.data.proc_args,
|
||||
pid, max_len);
|
||||
do_output (output, resp, _offset_data (proc_args),
|
||||
resp->u.data.proc_args.size, ptr);
|
||||
ptr ? resp->u.data.proc_args.size+1 : 0,
|
||||
ptr);
|
||||
glibtop_free_r (server, ptr);
|
||||
break;
|
||||
#endif
|
||||
|
@@ -49,7 +49,7 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
{
|
||||
struct kinfo_proc *pinfo;
|
||||
char *retval, **args, **ptr;
|
||||
unsigned size = 0;
|
||||
unsigned size = 0, pos = 0;
|
||||
int count;
|
||||
|
||||
char filename [BUFSIZ];
|
||||
@@ -87,16 +87,18 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
|
||||
for (ptr = args; *ptr; ptr++)
|
||||
size += strlen (*ptr)+1;
|
||||
|
||||
buf->size = size+2;
|
||||
|
||||
retval = glibtop_malloc_r (server, buf->size);
|
||||
memset (retval, 0, buf->size);
|
||||
size += 2;
|
||||
retval = glibtop_malloc_r (server, size);
|
||||
memset (retval, 0, size);
|
||||
|
||||
for (ptr = args; *ptr; ptr++) {
|
||||
if (*retval) strcat (retval, " ");
|
||||
strcat (retval, *ptr);
|
||||
int len = strlen (*ptr)+1;
|
||||
memcpy (retval+pos, *ptr, len);
|
||||
pos += len;
|
||||
}
|
||||
|
||||
buf->size = pos ? pos-1 : 0;
|
||||
|
||||
buf->flags = _glibtop_sysdeps_proc_args;
|
||||
|
||||
return retval;
|
||||
|
Reference in New Issue
Block a user