
/*
 *	utils.c
 *
 *	QNX
 *
 *	(C) Copyright 1991, 1992 by Robert Krten, all rights reserved.
 *
 *	This module contains various miscellaneous utilities.
 *
 *	1991 09 21	R. Krten		created
 *	1992 01 05	R. Krten		released for free
*/

#include "sysmon.h"

void
fatal (msg)
char	*msg;
{
  /*
	term_clear (TERM_CLS_SCRH);
	term_restore ();
  */
	printf ("\n%s:  FATAL ERROR:  %s\n\r", msg);
	exit (1);
}

void
fixName (buf, name)
char	*buf;
char	*name;
{
	char	*ptr;
	int		nchars;

	nchars = 0;
	ptr = name + strlen (name);
	while (*ptr != '/' && (ptr >= name) && (nchars <= 16)) {
		ptr--;
		nchars++;
	}
	if (*ptr == '/') {
		ptr++;
	}
	strcpy (buf, ptr);
}

void
getName (name, pid)
char	*name;
pid_t	pid;
{
  struct _psinfo psData;

	qnx_psinfo (PROC_PID, pid, &psData, 0, NULL);
	fixName (name, psData.un.proc.name);
	if (!*name) {
		sprintf (name, "<%05d>", pid);
	}
}

