}
}
-/* Kludge around the fact that the binary format for utmp has changed, and the
- * fact the stupid libc doesn't have a reliable #define to announce that libc5
- * is being used. sigh.
- */
-#if ! defined __GLIBC__ || defined __UCLIBC__
+/* Kludge around the fact that the binary format for utmp has changed. */
+#if __GNU_LIBRARY__ < 5 || defined __UCLIBC__
+ /* Linux libc5 */
while (read(file, (void*)&ut, sizeof(struct utmp))) {
printf("%d|%d|%s|%s|%s|%s|%s|%lx\n",
ut.ut_type, ut.ut_pid, ut.ut_line,
(long)ut.ut_addr);
}
#else
+ /* Glibc, uClibc, etc */
while (read(file, (void*)&ut, sizeof(struct utmp))) {
printf("%d|%d|%s|%s|%s|%s|%d|%d|%ld|%ld|%ld|%x\n",
ut.ut_type, ut.ut_pid, ut.ut_line,