1diff -Naur libutempter-1.1.6.orig/utempter.c libutempter-1.1.6/utempter.c
2--- libutempter-1.1.6.orig/utempter.c	2010-11-04 13:14:53.000000000 -0400
3+++ libutempter-1.1.6/utempter.c	2014-06-20 16:37:09.762403323 -0400
4@@ -34,13 +34,7 @@
5 #include <sys/stat.h>
6 #include <utmp.h>
7
8-#ifdef __GLIBC__
9 # include <pty.h>
10-#elif defined(__FreeBSD__)
11-# include <libutil.h>
12-#else
13-# error Unsupported platform
14-#endif /* __GLIBC__ || __FreeBSD__ */
15
16 #define	DEV_PREFIX	"/dev/"
17 #define	DEV_PREFIX_LEN	(sizeof(DEV_PREFIX)-1)
18@@ -106,17 +100,12 @@
19
20 static int
21 write_uwtmp_record(const char *user, const char *term, const char *host,
22-#ifdef __GLIBC__
23 		   pid_t pid,
24-#endif
25 		   int add)
26 {
27 	struct utmp ut;
28 	struct timeval tv;
29-
30-#ifdef __GLIBC__
31 	size_t offset;
32-#endif
33
34 	memset(&ut, 0, sizeof(ut));
35
36@@ -128,8 +117,6 @@
37 	if (host)
38 		strncpy(ut.ut_host, host, sizeof(ut.ut_host));
39
40-#ifdef __GLIBC__
41-
42 	offset = (strlen(term) <= sizeof(ut.ut_id)) ? 0 :
43 			strlen(term) - sizeof(ut.ut_id);
44 	strncpy(ut.ut_id, term + offset, sizeof(ut.ut_id));
45@@ -156,27 +143,6 @@
46
47 	(void) updwtmp(_PATH_WTMP, &ut);
48
49-#elif defined(__FreeBSD__)
50-
51-	ut.ut_time = tv.tv_sec;
52-
53-	if (add)
54-	{
55-		login(&ut);
56-	} else
57-	{
58-		if (logout(term) != 1)
59-		{
60-#ifdef	UTEMPTER_DEBUG
61-			fprintf(stderr, "utempter: logout: %s\n",
62-				strerror(errno));
63-#endif
64-			exit(EXIT_FAILURE);
65-		}
66-	}
67-
68-#endif /* __GLIBC__ || __FreeBSD__ */
69-
70 #ifdef	UTEMPTER_DEBUG
71 	fprintf(stderr,
72 		"utempter: DEBUG: utmp/wtmp record %s for terminal '%s'\n",
73@@ -255,8 +221,6 @@
74 	validate_device(device);
75
76 	return write_uwtmp_record(pw->pw_name, device + DEV_PREFIX_LEN, host,
77-#ifdef __GLIBC__
78 				  pid,
79-#endif
80 				  add);
81 }
82