NetBSD Problem Report #505

From gnats  Sun Oct  2 10:16:14 1994
Received: from golden-gate.owl.de (golden-gate.uni-paderborn.de [131.234.134.30]) by sun-lamp.cs.berkeley.edu (8.6.9/8.6.9) with SMTP id KAA10859 for <gnats-bugs@sun-lamp.cs.berkeley.edu>; Sun, 2 Oct 1994 10:16:04 -0700
Message-Id: <199410021516.QAA00479@euterpe.owl.de>
Date: Sun, 2 Oct 1994 16:16:58 +0100
From: martin@euterpe.owl.de
Reply-To: martin@euterpe.owl.de
To: gnats-bugs@sun-lamp.cs.berkeley.edu
Subject: libkvm man pages are out of sync
X-Send-Pr-Version: 3.2

>Number:         505
>Category:       lib
>Synopsis:       at least kvm_getarg doesn't work like its manual suggests
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    gnats-admin
>State:          closed
>Class:          doc-bug
>Submitter-Id:   net
>Arrival-Date:   Sun Oct 02 10:20:03 +0000 1994
>Closed-Date:    Tue May 21 21:48:23 +0000 1996
>Last-Modified:  Tue May 21 21:49:45 +0000 1996
>Originator:     Martin Husemann
>Release:        current from a sup Sep 18
>Organization:
private
>Environment:

System: NetBSD euterpe.owl.de 1.0_BETA NetBSD 1.0_BETA (EUTERPE) #0: Fri Sep 30 16:36:34 MET 1994 root@euterpe.owl.de:/usr/src/sys/arch/i386/compile/EUTERPE i386


>Description:

	I tried to write a program to get a process command line (like
	ps -wwp <pid>). After a look in the manuals I came up with this:

#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <sys/types.h>
#include <fcntl.h>
#include <kvm.h>
#include <sys/kinfo.h>
#include <sys/kinfo_proc.h>

char * getcmd(pid_t pid)
{
	static char buffer[8092];
	char **erg, *q, *d;
	struct kinfo_proc *p;
	int cnt;

	kvm_t *kd = kvm_open(NULL, NULL, NULL, O_RDONLY, "getcmd");
	p = kvm_getprocs(kd, KINFO_PROC_PID, pid, &cnt);
	erg = kvm_getargv(kd, p, sizeof buffer);
	kvm_close(kd);

	/* now we have somthing like char **argv, turn it into a simple
	 * commandline (ignoring any neseccary quoting for now)
	 */
	for (d = buffer; *erg; erg++) {
		q = *erg;
		while(*q) {
			*d++ = *q++;
		}
		*q++ = ' ';
	}
	*--q = '\0';

	return buffer;
}


>How-To-Repeat:
	Try to compile above code / read man kvm_getargv

>Fix:
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: pk 
State-Changed-When: Tue May 21 17:48:23 EDT 1996 
State-Changed-Why:  
This has recently been fixed. 
>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.