Runtime detection of working UTMP/WTMP support in system

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
Joachim Wiberg committed 2021-02-14 04:17:15 +01:00
1 parent 87f6769c51
commit d9b705ab98
2 files changed
+12

No files matched your search

+11
View File
@@ -30,6 +30,7 @@
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <utmp.h>
#include <sys/sysinfo.h> /* sysinfo() */
#include <lite/lite.h> /* strlcat() */
#include "util.h"
@@ -75,6 +76,16 @@ int echo(char *file, int append, char *fmt, ...)
return 0;
}
/*
* musl libc default to /dev/null/utmp and /dev/null/wtmp, respectively.
* See https://www.openwall.com/lists/musl/2012/03/04/4 for reasoning.
* Also, there's no __MUSL__, so we cannot make a libc-specific #ifdef
*/
int has_utmp(void)
{
return strncmp(_PATH_UTMP, "/dev/null", 9);
}
int strtobytes(char *arg)
{
int mod = 0, bytes;