diff -crN ./gnome-system-monitor/configure.in /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/configure.in
*** ./gnome-system-monitor/configure.in	Mon Jan 13 04:34:14 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/configure.in	Mon Feb 24 16:49:30 2003
***************
*** 4,9 ****
--- 4,10 ----
  AM_INIT_AUTOMAKE(gnome-system-monitor, 2.0.4)
  AM_CONFIG_HEADER(config.h)
  
+ AC_PROG_LIBTOOL
  AC_PROG_INTLTOOL
  
  AC_ISC_POSIX
***************
*** 46,51 ****
--- 47,70 ----
  dnl Honor ACLOCAL_FLAGS for --enable-maintainer-mode
  ACLOCAL="$ACLOCAL $ACLOCAL_FLAGS"
  
+ dnl Check how to create a pty
+ 
+ AC_CHECK_FUNC(getpt, ,[
+   
+   AC_CHECK_FUNCS(openpty, , [
+ 
+     if ls /dev/ptmx >/dev/null 2>&1; then
+       AC_DEFINE(HAVE_DEV_PTMX, , "use /dev/ptmx to open a pty")
+     else
+       if ls /dev/ptc >/dev/null 2>&1; then
+         AC_DEFINE(HAVE_DEV_PTC, , "use /dev/ptc to open a pty")
+       else
+         AC_MSG_ERROR("there is no known way to open a pty");
+       fi
+     fi 
+   ])
+ ])
+ 
  AC_OUTPUT([
  Makefile
  src/Makefile
diff -crN ./gnome-system-monitor/src/Makefile.am /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/Makefile.am
*** ./gnome-system-monitor/src/Makefile.am	Mon Jan 13 04:34:16 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/Makefile.am	Wed Aug 28 11:03:47 2002
***************
*** 28,34 ****
  specdir = $(datadir)/procman
  
  schemadir   = @GCONF_SCHEMA_FILE_DIR@
! schema_DATA = gnome-system-monitor.schemas	
  
  pixmapdir   = $(datadir)/pixmaps
  pixmap_DATA = procman.png
--- 28,36 ----
  specdir = $(datadir)/procman
  
  schemadir   = @GCONF_SCHEMA_FILE_DIR@
! 
! # Added $(srcdir) to schema_DATA
! schema_DATA = $(srcdir)/gnome-system-monitor.schemas	
  
  pixmapdir   = $(datadir)/pixmaps
  pixmap_DATA = procman.png
diff -crN ./gnome-system-monitor/src/callbacks.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/callbacks.c
*** ./gnome-system-monitor/src/callbacks.c	Mon Jan 13 04:34:16 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/callbacks.c	Wed Aug 28 11:04:19 2002
***************
*** 467,472 ****
--- 467,474 ----
  		toggle_infoview (procdata);
  		break;
  	default:
+ 		/* ?? : BV : added a break statement (xlc requires it) */
+ 		break;
  	}
  		
  	return FALSE;
diff -crN ./gnome-system-monitor/src/load-graph.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/load-graph.h
*** ./gnome-system-monitor/src/load-graph.h	Mon Jan 13 04:34:16 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/load-graph.h	Wed Aug 28 11:05:17 2002
***************
*** 6,12 ****
  enum
  {
  	CPU_GRAPH,
! 	MEM_GRAPH,
  };
  
  
--- 6,12 ----
  enum
  {
  	CPU_GRAPH,
! 	MEM_GRAPH
  };
  
  
diff -crN ./gnome-system-monitor/src/memmaps.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/memmaps.h
*** ./gnome-system-monitor/src/memmaps.h	Mon Jan 13 04:34:16 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/memmaps.h	Wed Aug 28 11:05:45 2002
***************
*** 15,21 ****
  	COL_FLAGS,
  	COL_VMOFFSET,
  	COL_DEVICE,
! 	COL_INODE,
  };
  
  struct _MemmapsInfo
--- 15,21 ----
  	COL_FLAGS,
  	COL_VMOFFSET,
  	COL_DEVICE,
! 	COL_INODE
  };
  
  struct _MemmapsInfo
diff -crN ./gnome-system-monitor/src/procman.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/procman.c
*** ./gnome-system-monitor/src/procman.c	Mon Jan 13 04:34:16 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/procman.c	Thu Aug 29 10:45:02 2002
***************
*** 332,338 ****
  
  	proctable_free_table (procdata);
  	
! 	//pretty_table_free (procdata->pretty_table);
  	
  	g_free (procdata);
  	
--- 332,338 ----
  
  	proctable_free_table (procdata);
  	
! 	/*pretty_table_free (procdata->pretty_table);*/
  	
  	g_free (procdata);
  	
diff -crN ./gnome-system-monitor/src/procman.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/procman.h
*** ./gnome-system-monitor/src/procman.h	Mon Jan 13 04:34:16 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/procman.h	Wed Aug 28 11:06:15 2002
***************
*** 34,40 ****
  	ALL_PROCESSES,
  	MY_PROCESSES,
  	RUNNING_PROCESSES,
! 	FAVORITE_PROCESSES,
  };
  
  #define NCPUSTATES 4
--- 34,40 ----
  	ALL_PROCESSES,
  	MY_PROCESSES,
  	RUNNING_PROCESSES,
! 	FAVORITE_PROCESSES
  };
  
  #define NCPUSTATES 4
diff -crN ./gnome-system-monitor/src/proctable.h /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/proctable.h
*** ./gnome-system-monitor/src/proctable.h	Mon Jan 13 04:34:16 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/proctable.h	Wed Aug 28 11:06:35 2002
***************
*** 37,43 ****
  	COL_PID,
  	COL_PIXBUF,
  	COL_POINTER,
! 	NUM_COLUMNS,	
  };
  
  
--- 37,43 ----
  	COL_PID,
  	COL_PIXBUF,
  	COL_POINTER,
! 	NUM_COLUMNS
  };
  
  
diff -crN ./gnome-system-monitor/src/util.c /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/util.c
*** ./gnome-system-monitor/src/util.c	Mon Jan 13 04:34:16 2003
--- /gestconf/project/GNOME_ACL/GNOME/build/sh_build_GNOME/src/./gnome-system-monitor/src/util.c	Wed Aug 28 11:07:01 2002
***************
*** 2,7 ****
--- 2,8 ----
  #define _GNU_SOURCE
  #include <config.h>
  
+ #include <math.h>
  #include <stdio.h>
  #include <stdlib.h>
  #include <string.h>
***************
*** 14,20 ****
  #include <sys/wait.h>
  
  
! #ifdef __FreeBSD__
  # include <errno.h>
  # include <libutil.h>
  #endif
--- 15,21 ----
  #include <sys/wait.h>
  
  
! #ifdef HAVE_OPENPTY
  # include <errno.h>
  # include <libutil.h>
  #endif
***************
*** 40,49 ****
   */
  #define OPEN_TTY() getpt()
  
! #ifdef __FreeBSD__
! /* FreeBSD doesn't have getpt(). This function emulates it's behaviour. */
  int getpt (void);
  
  int
  getpt ()
  {
--- 41,50 ----
   */
  #define OPEN_TTY() getpt()
  
! #ifndef HAVE_GETPT
  int getpt (void);
  
+ #ifdef HAVE_OPENPTY
  int
  getpt ()
  {
***************
*** 56,63 ****
--- 57,229 ----
  	}
  	return master;
  }
+ 
+ #endif /* HAVE_OPENPTY */
+ 
+ #ifdef HAVE_DEV_PTMX
+ int
+ getpt ()
+ {
+ 	int fd;
+   
+ 	if (fd=open("/dev/ptmx", O_RDWR) < 0)
+ 	{
+ 		/* Simulate getpt()'s only error condition. */
+ 		errno = ENOENT;
+ 		return -1;
+ 	}
+ 	return fd;
+ }
+ #endif /* HAVE_DEV_PTMX */
+ 
+ #ifdef HAVE_DEV_PTC
+ int
+ getpt ()
+ {
+ 	int fd;
+   
+ 	if (fd=open("/dev/ptc", O_RDWR) < 0)
+ 	{
+ 		/* Simulate getpt()'s only error condition. */
+ 		errno = ENOENT;
+ 		return -1;
+ 	}
+ 	return fd;
+ }
+ #endif /* HAVE_DEV_PTC */
+ #endif /* HAVE_GETPT */
+ 
+ 
+ #if __STDC__
+ # include <stdarg.h>
+ #else
+ # include <varargs.h>
  #endif
  
+ static int
+ int_vasprintf (result, format, args)
+      char **result;
+      const char *format;
+      va_list *args;
+ {
+   const char *p = format;
+   /* Add one to make sure that it is never zero, which might cause malloc
+      to return NULL.  */
+   int total_width = strlen (format) + 1;
+   va_list ap;
+ 
+   memcpy (&ap, args, sizeof (va_list));
+ 
+   while (*p != '\0')
+     {
+       if (*p++ == '%')
+ 	{
+ 	  while (strchr ("-+ #0", *p))
+ 	    ++p;
+ 	  if (*p == '*')
+ 	    {
+ 	      ++p;
+ 	      total_width += abs (va_arg (ap, int));
+ 	    }
+ 	  else
+ 	    total_width += strtoul (p, (char **) &p, 10);
+ 	  if (*p == '.')
+ 	    {
+ 	      ++p;
+ 	      if (*p == '*')
+ 		{
+ 		  ++p;
+ 		  total_width += abs (va_arg (ap, int));
+ 		}
+ 	      else
+ 		total_width += strtoul (p, (char **) &p, 10);
+ 	    }
+ 	  while (strchr ("hlLjtz", *p))
+ 	    ++p;
+ 	  /* Should be big enough for any format specifier except %s
+ 	     and floats.  */
+ 	  total_width += 30;
+ 	  switch (*p)
+ 	    {
+ 	    case 'd':
+ 	    case 'i':
+ 	    case 'o':
+ 	    case 'u':
+ 	    case 'x':
+ 	    case 'X':
+ 	    case 'c':
+ 	      (void) va_arg (ap, int);
+ 	      break;
+ 	    case 'f':
+ 	      {
+ 		double arg = va_arg (ap, double);
+ 		if (arg >= 1.0 || arg <= -1.0)
+ 		  /* Since an ieee double can have an exponent of 307, we'll
+ 		     make the buffer wide enough to cover the gross case. */
+ 		  total_width += 307;
+ 	      }
+ 	      break;
+ 	    case 'e':
+ 	    case 'E':
+ 	    case 'g':
+ 	    case 'G':
+ 	      (void) va_arg (ap, double);
+ 	      break;
+ 	    case 's':
+ 	      total_width += strlen (va_arg (ap, char *));
+ 	      break;
+ 	    case 'p':
+ 	    case 'n':
+ 	      (void) va_arg (ap, char *);
+ 	      break;
+ 	    }
+ 	  p++;
+ 	}
+     }
+ 
+   *result = malloc (total_width);
+   if (*result != NULL)
+     return vsprintf (*result, format, *args);
+   else
+     return 0;
+ }
+ 
+ int
+ vasprintf (result, format, args)
+      char **result;
+      const char *format;
+      va_list args;
+ {
+   return int_vasprintf (result, format, &args);
+ }
+ 
+ int
+ asprintf
+ #if __STDC__
+      (char **result, const char *format, ...)
+ #else
+      (result, va_alist)
+      char **result;
+      va_dcl
+ #endif
+ {
+   va_list args;
+   int done;
+ 
+ #if __STDC__
+   va_start (args, format);
+ #else
+   char *format;
+   va_start (args);
+   format = va_arg (args, char *);
+ #endif
+   done = vasprintf (result, format, args);
+   va_end (args);
+ 
+   return done;
+ } 
+ 
+ 
  static int root;			/* if we are root, no password is
                                             required */
  
