projects
/
gnulib.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
(quotearg_buffer):
[gnulib.git]
/
lib
/
readutmp.c
diff --git
a/lib/readutmp.c
b/lib/readutmp.c
index
f2fd7f9
..
f395352
100644
(file)
--- a/
lib/readutmp.c
+++ b/
lib/readutmp.c
@@
-66,13
+66,16
@@
read_utmp (const char *filename, int *n_entries, STRUCT_UTMP **utmp_buf)
STRUCT_UTMP *u;
STRUCT_UTMP *utmp = NULL;
STRUCT_UTMP *u;
STRUCT_UTMP *utmp = NULL;
- if (utmpname (filename))
- return 1;
+ /* Ignore the return value for now.
+ Solaris' utmpname returns 1 upon success -- which is contrary
+ to what the GNU libc version does. In addition, older GNU libc
+ versions are actually void. */
+ UTMP_NAME_FUNCTION (filename);
-
setutent
();
+
SET_UTMP_ENT
();
n_read = 0;
n_read = 0;
- while ((u =
getutent
()) != NULL)
+ while ((u =
GET_UTMP_ENT
()) != NULL)
{
++n_read;
utmp = (STRUCT_UTMP *) realloc (utmp, n_read * sizeof (STRUCT_UTMP));
{
++n_read;
utmp = (STRUCT_UTMP *) realloc (utmp, n_read * sizeof (STRUCT_UTMP));
@@
-81,7
+84,7
@@
read_utmp (const char *filename, int *n_entries, STRUCT_UTMP **utmp_buf)
utmp[n_read - 1] = *u;
}
utmp[n_read - 1] = *u;
}
-
endutent
();
+
END_UTMP_ENT
();
*n_entries = n_read;
*utmp_buf = utmp;
*n_entries = n_read;
*utmp_buf = utmp;