[libgtop] Turn glibtop::machine from a value to a pointer, allocated on init. This hides the glibtop_machine i



commit 0642c2d610d19097a9bd83f20f5ad53e2a63035f
Author: Benoit Dejean <bdejean gmail com>
Date:   Tue Jul 21 21:25:44 2015 +0200

    Turn glibtop::machine from a value to a pointer, allocated on init.
    This hides the glibtop_machine implementation.

 glibtop.h                      |    2 +-
 include/glibtop/Makefile.am    |    2 +-
 lib/init.c                     |    7 +++++++
 src/daemon/server.c            |    3 +++
 sysdeps/freebsd/glibtop_suid.h |    4 ++--
 sysdeps/freebsd/netload.c      |    8 ++++----
 sysdeps/freebsd/ppp.c          |    4 ++--
 sysdeps/freebsd/procargs.c     |    4 ++--
 sysdeps/freebsd/prockernel.c   |    2 +-
 sysdeps/freebsd/procmap.c      |   26 +++++++++++++-------------
 sysdeps/freebsd/procmem.c      |   10 +++++-----
 sysdeps/freebsd/procsegment.c  |    2 +-
 sysdeps/freebsd/procsignal.c   |    2 +-
 sysdeps/freebsd/procstate.c    |    2 +-
 sysdeps/freebsd/proctime.c     |    2 +-
 sysdeps/freebsd/procuid.c      |    2 +-
 sysdeps/freebsd/suid_open.c    |   16 ++++++++--------
 sysdeps/freebsd/swap.c         |    2 +-
 18 files changed, 55 insertions(+), 45 deletions(-)
---
diff --git a/glibtop.h b/glibtop.h
index 91c3c13..29ee44a 100644
--- a/glibtop.h
+++ b/glibtop.h
@@ -98,7 +98,7 @@ struct _glibtop
        gid_t gid;
        gid_t egid;
 
-       glibtop_machine machine;        /* Machine dependent data */
+       glibtop_machine *machine;       /* Machine dependent data */
 };
 
 extern glibtop *glibtop_global_server;
diff --git a/include/glibtop/Makefile.am b/include/glibtop/Makefile.am
index 84359d0..95037b8 100644
--- a/include/glibtop/Makefile.am
+++ b/include/glibtop/Makefile.am
@@ -11,4 +11,4 @@ glibtop_HEADERS               = close.h loadavg.h prockernel.h procstate.h \
                          procwd.h procaffinity.h \
                          netlist.h procopenfiles.h open.h
 
-noinst_HEADERS         = error.h write.h read_data.h read.h init_hooks.h
+noinst_HEADERS         = error.h write.h read_data.h read.h init_hooks.h machine.h
diff --git a/lib/init.c b/lib/init.c
index 7fecdc2..2a52185 100644
--- a/lib/init.c
+++ b/lib/init.c
@@ -26,6 +26,8 @@
 #include <glibtop/open.h>
 #include <glibtop/parameter.h>
 #include <glibtop/init_hooks.h>
+#include <glibtop/machine.h>
+
 
 #ifndef DEFAULT_PORT
 #define DEFAULT_PORT 42800
@@ -173,6 +175,9 @@ glibtop_init_r (glibtop **server_ptr, unsigned long features, unsigned flags)
        /* Do the initialization, but only if not already initialized. */
 
        if ((server->flags & _GLIBTOP_INIT_STATE_INIT) == 0) {
+
+               glibtop_machine_new (server);
+
                if (flags & GLIBTOP_FEATURES_EXCEPT)
                        features = ~features & GLIBTOP_SYSDEPS_ALL;
 
@@ -221,6 +226,8 @@ glibtop_init_s (glibtop **server_ptr, unsigned long features, unsigned flags)
        glibtop *server;
        const _glibtop_init_func_t *init_fkt;
 
+       glibtop_debug("init_s with features=%#0lx and flags=%#0x", features, flags);
+
        if (server_ptr == NULL)
                return NULL;
 
diff --git a/src/daemon/server.c b/src/daemon/server.c
index eafa25a..60427e8 100644
--- a/src/daemon/server.c
+++ b/src/daemon/server.c
@@ -26,6 +26,7 @@
 #include <glibtop/union.h>
 #include <glibtop/sysdeps.h>
 #include <glibtop/error.h>
+#include <glibtop/machine.h>
 
 #include <sys/utsname.h>
 
@@ -75,6 +76,8 @@ main(int argc, char *argv[])
        }
 #endif
 
+       glibtop_machine_new (glibtop_global_server);
+
        glibtop_init_p (glibtop_global_server, 0, 0);
 
        glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
diff --git a/sysdeps/freebsd/glibtop_suid.h b/sysdeps/freebsd/glibtop_suid.h
index 47b0be3..6b9d803 100644
--- a/sysdeps/freebsd/glibtop_suid.h
+++ b/sysdeps/freebsd/glibtop_suid.h
@@ -36,13 +36,13 @@ G_BEGIN_DECLS
 
 static inline void glibtop_suid_enter (glibtop *server) {
        glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
-       setregid (server->machine.gid, server->machine.egid);
+       setregid (server->machine->gid, server->machine->egid);
        glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
 };
 
 static inline void glibtop_suid_leave (glibtop *server) {
        glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
-       if (setregid (server->machine.egid, server->machine.gid))
+       if (setregid (server->machine->egid, server->machine->gid))
                _exit (1);
        glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
 };
diff --git a/sysdeps/freebsd/netload.c b/sysdeps/freebsd/netload.c
index a9a609e..9ffaa6c 100644
--- a/sysdeps/freebsd/netload.c
+++ b/sysdeps/freebsd/netload.c
@@ -77,7 +77,7 @@ static struct nlist nlst [] =
 void
 _glibtop_init_netload_p (glibtop *server)
 {
-        if (kvm_nlist (server->machine.kd, nlst) < 0) {
+        if (kvm_nlist (server->machine->kd, nlst) < 0) {
                 glibtop_warn_io_r (server, "kvm_nlist");
                return;
        }
@@ -104,7 +104,7 @@ glibtop_get_netload_p (glibtop *server, glibtop_netload *buf,
 
        if (server->sysdeps.netload == 0) return;
 
-        if (kvm_read (server->machine.kd, nlst [0].n_value,
+        if (kvm_read (server->machine->kd, nlst [0].n_value,
                         &ifnetaddr, sizeof (ifnetaddr)) != sizeof (ifnetaddr)) {
                 glibtop_warn_io_r (server, "kvm_read (ifnet)");
                return;
@@ -116,7 +116,7 @@ glibtop_get_netload_p (glibtop *server, glibtop_netload *buf,
                 register char *cp;
                 u_long ifaddraddr;
 
-               if (kvm_read (server->machine.kd, ifnetaddr, &ifnet,
+               if (kvm_read (server->machine->kd, ifnetaddr, &ifnet,
                              sizeof (ifnet)) != sizeof (ifnet)) {
                        glibtop_warn_io_r (server,
                                           "kvm_read (ifnetaddr)");
@@ -183,7 +183,7 @@ glibtop_get_netload_p (glibtop *server, glibtop_netload *buf,
                 buf->flags = _glibtop_sysdeps_netload;
 
                 for (ifaddraddr = (u_long) ifnet.if_addrhead.tqh_first; ifaddraddr; ifaddraddr = (u_long) 
ifaddr.ifa.ifa_link.tqe_next) {
-                        if ((kvm_read (server->machine.kd, ifaddraddr, &ifaddr,
+                        if ((kvm_read (server->machine->kd, ifaddraddr, &ifaddr,
                                         sizeof (ifaddr)) != sizeof (ifaddr))) {
                                 glibtop_warn_io_r (server,
                                                   "kvm_read (ifaddraddr)");
diff --git a/sysdeps/freebsd/ppp.c b/sysdeps/freebsd/ppp.c
index 4710589..a0c98dd 100644
--- a/sysdeps/freebsd/ppp.c
+++ b/sysdeps/freebsd/ppp.c
@@ -77,7 +77,7 @@ _glibtop_init_ppp_p (glibtop *server)
 #endif
 #endif /* HAVE_I4B */
 
-       if (kvm_nlist (server->machine.kd, nlst) < 0) {
+       if (kvm_nlist (server->machine->kd, nlst) < 0) {
                glibtop_warn_io_r (server, "kvm_nlist");
                server->sysdeps.ppp = 0;
        }
@@ -100,7 +100,7 @@ glibtop_get_ppp_p (glibtop *server, glibtop_ppp *buf, unsigned short device)
 
        if (server->sysdeps.ppp == 0) return;
 
-       if (kvm_read (server->machine.kd, nlst [0].n_value,
+       if (kvm_read (server->machine->kd, nlst [0].n_value,
                      &data, sizeof (data)) != sizeof (data)) {
                glibtop_warn_io_r (server, "kvm_read (i4bisppp_softc)");
                return;
diff --git a/sysdeps/freebsd/procargs.c b/sysdeps/freebsd/procargs.c
index 5188620..2186b46 100644
--- a/sysdeps/freebsd/procargs.c
+++ b/sysdeps/freebsd/procargs.c
@@ -60,14 +60,14 @@ glibtop_get_proc_args_p (glibtop *server, glibtop_proc_args *buf,
        glibtop_suid_enter (server);
 
        /* Get the process data */
-       pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+       pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
        if ((pinfo == NULL) || (count < 1)) {
                glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                glibtop_suid_leave (server);
                return NULL;
        }
 
-       args = kvm_getargv (server->machine.kd, pinfo, max_len);
+       args = kvm_getargv (server->machine->kd, pinfo, max_len);
        if (args == NULL) {
                glibtop_warn_io_r (server, "kvm_getargv (%d)", pid);
                glibtop_suid_leave (server);
diff --git a/sysdeps/freebsd/prockernel.c b/sysdeps/freebsd/prockernel.c
index fbd65ef..0d3d3fe 100644
--- a/sysdeps/freebsd/prockernel.c
+++ b/sysdeps/freebsd/prockernel.c
@@ -80,7 +80,7 @@ glibtop_get_proc_kernel_p (glibtop *server,
        glibtop_suid_enter (server);
 
        /* Get the process information */
-       pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+       pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
        if ((pinfo == NULL) || (count != 1)) {
                glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                glibtop_suid_leave (server);
diff --git a/sysdeps/freebsd/procmap.c b/sysdeps/freebsd/procmap.c
index 3464447..181f392 100644
--- a/sysdeps/freebsd/procmap.c
+++ b/sysdeps/freebsd/procmap.c
@@ -91,9 +91,9 @@ _glibtop_sysdeps_freebsd_dev_inode (glibtop *server, struct vnode *vnode,
         *inum = 0;
         *dev = 0;
 
-        if (kvm_read (server->machine.kd, (gulong) &vnode->v_tag,
+        if (kvm_read (server->machine->kd, (gulong) &vnode->v_tag,
                     (char *) &tagptr, sizeof (tagptr)) != sizeof (tagptr) ||
-            kvm_read (server->machine.kd, (gulong) tagptr,
+            kvm_read (server->machine->kd, (gulong) tagptr,
                     (char *) tagstr, sizeof (tagstr)) != sizeof (tagstr))
         {
                 glibtop_warn_io_r (server, "kvm_read (tagptr)");
@@ -111,7 +111,7 @@ _glibtop_sysdeps_freebsd_dev_inode (glibtop *server, struct vnode *vnode,
                 return;
         }
 
-        if (kvm_read (server->machine.kd, (gulong) VTOI(vn), (char *) &inode,
+        if (kvm_read (server->machine->kd, (gulong) VTOI(vn), (char *) &inode,
                      sizeof (inode)) != sizeof (inode))
         {
                 glibtop_warn_io_r (server, "kvm_read (inode)");
@@ -151,7 +151,7 @@ _glibtop_sysdeps_freebsd_dev_inode (glibtop *server, struct vnode *vnode,
 
                 struct my_zfsvfs zvfs;
 
-                if (kvm_read(server->machine.kd,
+                if (kvm_read(server->machine->kd,
                              (unsigned long)(znode->z_zfsvfs),
                              &zvfs, sizeof zvfs) != sizeof zvfs) {
                         glibtop_warn_io_r(server, "kvm_read (z_zfsvfs)");
@@ -167,12 +167,12 @@ _glibtop_sysdeps_freebsd_dev_inode (glibtop *server, struct vnode *vnode,
 
 
 #if (__FreeBSD_version >= 800039) || (__FreeBSD_kernel_version >= 800039)
-        if (kvm_read (server->machine.kd, (gulong) cdev2priv(inode.i_dev), (char *) &priv,
+        if (kvm_read (server->machine->kd, (gulong) cdev2priv(inode.i_dev), (char *) &priv,
                      sizeof (priv))
 #else
-        if (kvm_read (server->machine.kd, (gulong) inode.i_dev, (char *) &si,
+        if (kvm_read (server->machine->kd, (gulong) inode.i_dev, (char *) &si,
                      sizeof (si)) != sizeof (si) ||
-            kvm_read (server->machine.kd, (gulong) si.si_priv, (char *) &priv,
+            kvm_read (server->machine->kd, (gulong) si.si_priv, (char *) &priv,
                      sizeof (priv))
 #endif
            != sizeof (priv))
@@ -219,7 +219,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
         glibtop_suid_enter (server);
 
         /* Get the process data */
-        pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+        pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
         if ((pinfo == NULL) || (count < 1)) {
                 glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                glibtop_suid_leave (server);
@@ -228,7 +228,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
 
         /* Now we get the memory maps. */
 
-        if (kvm_read (server->machine.kd,
+        if (kvm_read (server->machine->kd,
                         (gulong) pinfo [0].ki_vmspace,
                         (char *) &vmspace, sizeof (vmspace)) != sizeof (vmspace)) {
                 glibtop_warn_io_r (server, "kvm_read (vmspace)");
@@ -238,7 +238,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
 
         first = vmspace.vm_map.header.next;
 
-        if (kvm_read (server->machine.kd,
+        if (kvm_read (server->machine->kd,
                         (gulong) vmspace.vm_map.header.next,
                         (char *) &entry, sizeof (entry)) != sizeof (entry)) {
                 glibtop_warn_io_r (server, "kvm_read (entry)");
@@ -261,7 +261,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
                 guint len;
 
                 if (update) {
-                        if (kvm_read (server->machine.kd,
+                        if (kvm_read (server->machine->kd,
                                         (gulong) entry.next,
                                         (char *) &entry, sizeof (entry)) != sizeof (entry)) {
                                 glibtop_warn_io_r (server, "kvm_read (entry)");
@@ -279,7 +279,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
 
                 /* We're only interested in `vm_object's */
 
-                if (kvm_read (server->machine.kd,
+                if (kvm_read (server->machine->kd,
                                 (gulong) entry.object.vm_object,
                                 (char *) &object, sizeof (object)) != sizeof (object)) {
                         glibtop_warn_io_r (server, "kvm_read (object)");
@@ -294,7 +294,7 @@ glibtop_get_proc_map_p (glibtop *server, glibtop_proc_map *buf,
                 if (!object.handle)
                         continue;
 
-                if (kvm_read (server->machine.kd,
+                if (kvm_read (server->machine->kd,
                                 (gulong) object.handle,
                                 (char *) &vnode, sizeof (vnode)) != sizeof (vnode)) {
                         glibtop_warn_io_r (server, "kvm_read (vnode)");
diff --git a/sysdeps/freebsd/procmem.c b/sysdeps/freebsd/procmem.c
index b398c41..c7ffbee 100644
--- a/sysdeps/freebsd/procmem.c
+++ b/sysdeps/freebsd/procmem.c
@@ -84,7 +84,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
        if (pid == 0) return;
 
        /* Get the process data */
-       pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+       pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
        if ((pinfo == NULL) || (count < 1)) {
                glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                return;
@@ -108,7 +108,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
 
        /* Now we get the shared memory. */
 
-       if (kvm_read (server->machine.kd,
+       if (kvm_read (server->machine->kd,
                      (unsigned long) pinfo [0].PROC_VMSPACE,
                      (char *) &vmspace, sizeof (vmspace)) != sizeof (vmspace)) {
                glibtop_warn_io_r (server, "kvm_read (vmspace)");
@@ -117,7 +117,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
 
        first = vmspace.vm_map.header.next;
 
-       if (kvm_read (server->machine.kd,
+       if (kvm_read (server->machine->kd,
                      (unsigned long) vmspace.vm_map.header.next,
                      (char *) &entry, sizeof (entry)) != sizeof (entry)) {
                glibtop_warn_io_r (server, "kvm_read (entry)");
@@ -131,7 +131,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
         * to OBJT_DEFAULT so if seems this really works. */
 
        while (entry.next != first) {
-               if (kvm_read (server->machine.kd,
+               if (kvm_read (server->machine->kd,
                              (unsigned long) entry.next,
                              (char *) &entry, sizeof (entry)) != sizeof (entry)) {
                        glibtop_warn_io_r (server, "kvm_read (entry)");
@@ -146,7 +146,7 @@ glibtop_get_proc_mem_p (glibtop *server, glibtop_proc_mem *buf,
 
                /* We're only interested in `vm_object's */
 
-               if (kvm_read (server->machine.kd,
+               if (kvm_read (server->machine->kd,
                              (unsigned long) entry.object.vm_object,
                              (char *) &object, sizeof (object)) != sizeof (object)) {
                        glibtop_warn_io_r (server, "kvm_read (object)");
diff --git a/sysdeps/freebsd/procsegment.c b/sysdeps/freebsd/procsegment.c
index 4a16c5a..e445598 100644
--- a/sysdeps/freebsd/procsegment.c
+++ b/sysdeps/freebsd/procsegment.c
@@ -61,7 +61,7 @@ glibtop_get_proc_segment_p (glibtop *server,
        if (pid == 0) return;
 
        /* Get the process info from the kernel */
-       pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+       pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
        if ((pinfo == NULL) || (count != 1)) {
                glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                return;
diff --git a/sysdeps/freebsd/procsignal.c b/sysdeps/freebsd/procsignal.c
index f8eaf4a..c5dbc03 100644
--- a/sysdeps/freebsd/procsignal.c
+++ b/sysdeps/freebsd/procsignal.c
@@ -58,7 +58,7 @@ glibtop_get_proc_signal_p (glibtop *server,
        if (pid == 0) return;
 
        /* Get the process information */
-       pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+       pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
        if ((pinfo == NULL) || (count != 1)) {
                glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                return;
diff --git a/sysdeps/freebsd/procstate.c b/sysdeps/freebsd/procstate.c
index 993bb78..a7fd215 100644
--- a/sysdeps/freebsd/procstate.c
+++ b/sysdeps/freebsd/procstate.c
@@ -53,7 +53,7 @@ glibtop_get_proc_state_p (glibtop *server,
        memset (buf, 0, sizeof (glibtop_proc_state));
 
        /* Get the process information */
-       pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+       pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
        if ((pinfo == NULL) || (count != 1)) {
                glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                return;
diff --git a/sysdeps/freebsd/proctime.c b/sysdeps/freebsd/proctime.c
index 836d289..f01b905 100644
--- a/sysdeps/freebsd/proctime.c
+++ b/sysdeps/freebsd/proctime.c
@@ -74,7 +74,7 @@ glibtop_get_proc_time_p (glibtop *server, glibtop_proc_time *buf,
        glibtop_suid_enter (server);
 
        /* Get the process information */
-       pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+       pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
        if ((pinfo == NULL) || (count != 1)) {
                glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                glibtop_suid_leave (server);
diff --git a/sysdeps/freebsd/procuid.c b/sysdeps/freebsd/procuid.c
index 6594690..b3fecf7 100644
--- a/sysdeps/freebsd/procuid.c
+++ b/sysdeps/freebsd/procuid.c
@@ -56,7 +56,7 @@ glibtop_get_proc_uid_p (glibtop *server, glibtop_proc_uid *buf,
        if (pid == 0) return;
 
        /* Get the process information */
-       pinfo = kvm_getprocs (server->machine.kd, KERN_PROC_PID, pid, &count);
+       pinfo = kvm_getprocs (server->machine->kd, KERN_PROC_PID, pid, &count);
        if ((pinfo == NULL) || (count != 1)) {
                glibtop_warn_io_r (server, "kvm_getprocs (%d)", pid);
                return;
diff --git a/sysdeps/freebsd/suid_open.c b/sysdeps/freebsd/suid_open.c
index 5545607..c1e1987 100644
--- a/sysdeps/freebsd/suid_open.c
+++ b/sysdeps/freebsd/suid_open.c
@@ -59,24 +59,24 @@ glibtop_open_p (glibtop *server, const char *program_name,
        glibtop_debug ("glibtop_open_p ()");
 
        /* !!! WE ARE ROOT HERE - CHANGE WITH CAUTION !!! */
-       server->machine.uid = getuid ();
-       server->machine.euid = geteuid ();
-       server->machine.gid = getgid ();
-       server->machine.egid = getegid ();
+       server->machine->uid = getuid ();
+       server->machine->euid = geteuid ();
+       server->machine->gid = getgid ();
+       server->machine->egid = getegid ();
        /* Setup machine-specific data */
-       server->machine.kd = kvm_openfiles (NULL, NULL, NULL, O_RDONLY, errbuf);
+       server->machine->kd = kvm_openfiles (NULL, NULL, NULL, O_RDONLY, errbuf);
 
-       if (server->machine.kd == NULL)
+       if (server->machine->kd == NULL)
                glibtop_error_io_r (server, "kvm_open");
 
        /* Drop priviledges. */
 
        glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
 
-       if (setreuid (server->machine.euid, server->machine.uid))
+       if (setreuid (server->machine->euid, server->machine->uid))
                _exit (1);
 
-       if (setregid (server->machine.egid, server->machine.gid))
+       if (setregid (server->machine->egid, server->machine->gid))
                _exit (1);
 
        glibtop_debug ("uid=%d euid=%d gid=%d egid=%d", getuid(), geteuid(), getgid(), getegid());
diff --git a/sysdeps/freebsd/swap.c b/sysdeps/freebsd/swap.c
index 44e833e..1b4cbad 100644
--- a/sysdeps/freebsd/swap.c
+++ b/sysdeps/freebsd/swap.c
@@ -59,7 +59,7 @@ glibtop_get_swap_p (glibtop *server, glibtop_swap *buf)
        memset (buf, 0, sizeof (glibtop_swap));
        memset (kvmsw, 0, sizeof (kvmsw));
 
-       nswdev = kvm_getswapinfo (server->machine.kd, kvmsw, 16, 0);
+       nswdev = kvm_getswapinfo (server->machine->kd, kvmsw, 16, 0);
        if (nswdev < 1) return;
 
        buf->flags = _glibtop_sysdeps_swap;


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]