Small fix.

This commit is contained in:
Martin Baulig
1998-12-09 17:48:35 +00:00
parent e140f93bf5
commit 9e41d36684
2 changed files with 11 additions and 8 deletions

View File

@@ -88,7 +88,8 @@ handle_slave_connection (int input, int output)
&resp->u.data.proc_args, &resp->u.data.proc_args,
pid, max_len); pid, max_len);
do_output (output, resp, _offset_data (proc_args), 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); glibtop_free_r (server, ptr);
break; break;
#endif #endif

View File

@@ -49,7 +49,7 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
{ {
struct kinfo_proc *pinfo; struct kinfo_proc *pinfo;
char *retval, **args, **ptr; char *retval, **args, **ptr;
unsigned size = 0; unsigned size = 0, pos = 0;
int count; int count;
char filename [BUFSIZ]; char filename [BUFSIZ];
@@ -87,16 +87,18 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
for (ptr = args; *ptr; ptr++) for (ptr = args; *ptr; ptr++)
size += strlen (*ptr)+1; size += strlen (*ptr)+1;
buf->size = size+2; size += 2;
retval = glibtop_malloc_r (server, size);
retval = glibtop_malloc_r (server, buf->size); memset (retval, 0, size);
memset (retval, 0, buf->size);
for (ptr = args; *ptr; ptr++) { for (ptr = args; *ptr; ptr++) {
if (*retval) strcat (retval, " "); int len = strlen (*ptr)+1;
strcat (retval, *ptr); memcpy (retval+pos, *ptr, len);
pos += len;
} }
buf->size = pos ? pos-1 : 0;
buf->flags = _glibtop_sysdeps_proc_args; buf->flags = _glibtop_sysdeps_proc_args;
return retval; return retval;