diff --git a/src/users.c b/src/users.c
index afe26e1e27fc27a3d155b135b56d3571290bcd46..1e337540e5b4f5b258d00234472385c8a1187454 100644 (file)
--- a/src/users.c
+++ b/src/users.c
/**
* collectd - src/users.c
* Copyright (C) 2005-2007 Sebastian Harl
+ * Copyright (C) 2005 Niki W. Waibel
+ * Copyright (C) 2005-2007 Florian octo Forster
+ * Copyright (C) 2008 Oleg King
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
*
* Authors:
* Sebastian Harl <sh at tokkee.org>
+ * Niki W. Waibel <niki.waibel at newlogic.com>
+ * Florian octo Forster <octo at verplant.org>
+ * Oleg King <king2 at kaluga.ru>
**/
#include "collectd.h"
#include "common.h"
#include "plugin.h"
+#if HAVE_STATGRAB_H
+# include <statgrab.h>
+#endif /* HAVE_STATGRAB_H */
+
#if HAVE_UTMPX_H
# include <utmpx.h>
/* #endif HAVE_UTMPX_H */
vl.values = values;
vl.values_len = 1;
- vl.time = time (NULL);
- strcpy (vl.host, hostname_g);
- strcpy (vl.plugin, "users");
+ sstrncpy (vl.host, hostname_g, sizeof (vl.host));
+ sstrncpy (vl.plugin, "users", sizeof (vl.plugin));
+ sstrncpy (vl.type, "users", sizeof (vl.plugin));
- plugin_dispatch_values ("users", &vl);
+ plugin_dispatch_values (&vl);
} /* void users_submit */
static int users_read (void)
users_submit (users);
/* #endif HAVE_GETUTENT */
+#elif HAVE_LIBSTATGRAB
+ sg_user_stats *us;
+
+ us = sg_get_user_stats ();
+ if (us == NULL)
+ return (-1);
+
+ users_submit ((gauge_t) us->num_entries);
+/* #endif HAVE_LIBSTATGRAB */
+
#else
# error "No applicable input method."
#endif