Made utmpx optional
diff --git a/acconfig.h b/acconfig.h
index 35d4fb4..bbb9928 100644
--- a/acconfig.h
+++ b/acconfig.h
@@ -27,6 +27,9 @@
/* Define is utmpx.h has a ut_host field */
#undef HAVE_HOST_IN_UTMPX
+/* Define if you want to use utmpx */
+#undef USE_UTMPX
+
/* Define is libutil has login() function */
#undef HAVE_LIBUTIL_LOGIN
@@ -91,7 +94,7 @@
# include <utmp.h> /* For _PATH_XXX */
#endif
-#ifdef HAVE_UTMPX_H
+#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX)
# include <utmpx.h> /* For _PATH_XXX */
#endif
@@ -183,7 +186,7 @@
#endif
/* Use utmpx if supported */
-#ifdef HAVE_UTMPX_H
+#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX)
# define UTMP_STR utmpx
#else
# ifdef HAVE_UTMP_H
@@ -192,7 +195,7 @@
#endif
#ifndef _PATH_UTMP
-# ifdef UTMPX_FILE
+# if defined(UTMPX_FILE) && defined(USE_UTMPX)
# define _PATH_UTMP UTMPX_FILE
# else
# ifdef UTMP_FILE
@@ -204,7 +207,7 @@
#endif
#ifndef _PATH_WTMP
-# ifdef WTMPX_FILE
+# if defined(WTMPX_FILE) && defined(USE_UTMPX)
# define _PATH_WTMP WTMPX_FILE
# else
# ifdef WTMP_FILE
diff --git a/bsd-login.c b/bsd-login.c
index a2ec741..c0f4c1a 100644
--- a/bsd-login.c
+++ b/bsd-login.c
@@ -45,7 +45,7 @@
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
-#ifdef HAVE_UTMPX_H
+#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX)
# include <utmpx.h>
#endif
#ifdef HAVE_UTMP_H
@@ -64,7 +64,7 @@
#ifndef UT_LINESIZE
# define UT_LINESIZE (sizeof(old_ut.ut_line))
-# ifdef HAVE_UTMPX_H
+# if defined(HAVE_UTMPX_H) && defined(USE_UTMPX)
# define UT_NAMESIZE (sizeof(old_ut.ut_user))
# else
# define UT_NAMESIZE (sizeof(old_ut.ut_name))
@@ -72,7 +72,7 @@
# ifdef HAVE_HOST_IN_UTMP
# define UT_HOSTSIZE (sizeof(old_ut.ut_host))
# endif
-# ifdef HAVE_HOST_IN_UTMPX
+# if defined(HAVE_HOST_IN_UTMPX) && defined(USE_UTMPX)
# define UT_HOSTSIZE (sizeof(old_ut.ut_host))
# endif
#endif
diff --git a/configure.in b/configure.in
index 19372e2..86d6a32 100644
--- a/configure.in
+++ b/configure.in
@@ -290,6 +290,12 @@
[AC_DEFINE(HAVE_MD5_PASSWORDS)]
)
+dnl Check whether to enable utmpx support
+AC_ARG_WITH(utmpx,
+ [ --with-utmpx Enable utmpx support],
+ [AC_DEFINE(USE_UTMPX)]
+)
+
dnl Check for the path to xauth
AC_PATH_PROG(xauth_path, xauth)
AC_DEFINE_UNQUOTED(XAUTH_PATH, "$xauth_path")
diff --git a/login.c b/login.c
index ff41845..e506d24 100644
--- a/login.c
+++ b/login.c
@@ -18,9 +18,9 @@
*/
#include "includes.h"
-RCSID("$Id: login.c,v 1.6 1999/12/08 23:16:55 damien Exp $");
+RCSID("$Id: login.c,v 1.7 1999/12/20 22:51:36 damien Exp $");
-#ifdef HAVE_UTMPX_H
+#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX)
# include <utmpx.h>
#endif
#ifdef HAVE_UTMP_H
@@ -94,7 +94,7 @@
/* Construct an utmp/wtmp entry. */
memset(&u, 0, sizeof(u));
strncpy(u.ut_line, ttyname + 5, sizeof(u.ut_line));
-#ifdef HAVE_UTMPX_H
+#if defined(HAVE_UTMPX_H) && defined(USE_UTMPX)
u.ut_tv.tv_sec = time(NULL);
strncpy(u.ut_user, user, sizeof(u.ut_name));
#else