X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fusers.c;h=139c97659a974701c2f69051c4d8fb93e78fc833;hb=6f4f918d4d5e70c75471632254ecb9c55fd8d62f;hp=781e778734687b70ecbcbd24ffd73e1c6ff8545e;hpb=e30c4b09f2ba06ed279d7ddfdc3714e1b3ab3a06;p=collectd.git diff --git a/src/users.c b/src/users.c index 781e7787..ce626ae3 100644 --- a/src/users.c +++ b/src/users.c @@ -3,7 +3,7 @@ * Copyright (C) 2005-2007 Sebastian Harl * Copyright (C) 2005 Niki W. Waibel * Copyright (C) 2005-2007 Florian octo Forster - * Copyright (C) 2008 Oleg King + * 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 @@ -26,6 +26,7 @@ **/ #include "collectd.h" + #include "common.h" #include "plugin.h" @@ -40,19 +41,13 @@ #elif HAVE_UTMP_H # include /* #endif HAVE_UTMP_H */ - -#else -# error "No applicable input method." #endif static void users_submit (gauge_t value) { - value_t values[1]; value_list_t vl = VALUE_LIST_INIT; - values[0].gauge = value; - - vl.values = values; + vl.values = &(value_t) { .gauge = value }; vl.values_len = 1; sstrncpy (vl.host, hostname_g, sizeof (vl.host)); sstrncpy (vl.plugin, "users", sizeof (vl.plugin)); @@ -80,7 +75,7 @@ static int users_read (void) users_submit (users); /* #endif HAVE_GETUTXENT */ - + #elif HAVE_GETUTENT unsigned int users = 0; struct utmp *entry = NULL; @@ -102,11 +97,21 @@ static int users_read (void) #elif HAVE_LIBSTATGRAB sg_user_stats *us; +# if HAVE_LIBSTATGRAB_0_90 + size_t num_entries; + us = sg_get_user_stats (&num_entries); +# else us = sg_get_user_stats (); +# endif if (us == NULL) - return (-1); - - users_submit ((gauge_t) us->num_entries); + return (-1); + + users_submit ((gauge_t) +# if HAVE_LIBSTATGRAB_0_90 + num_entries); +# else + us->num_entries); +# endif /* #endif HAVE_LIBSTATGRAB */ #else