diff -Naur utempter.c.orig utempter.c
--- utempter.c.orig  2010-11-04 13:14:53.000000000 -0400
+++ utempter.c    2014-06-20 16:37:09.762403323 -0400
@@ -34,13 +34,7 @@
 #include <sys/stat.h>
 #include <utmp.h>

-#ifdef __GLIBC__
 # include <pty.h>
-#elif defined(__FreeBSD__)
-# include <libutil.h>
-#else
-# error Unsupported platform
-#endif /* __GLIBC__ || __FreeBSD__ */

 #define    DEV_PREFIX  "/dev/"
 #define    DEV_PREFIX_LEN  (sizeof(DEV_PREFIX)-1)
@@ -106,17 +100,12 @@

 static int
 write_uwtmp_record(const char *user, const char *term, const char *host,
-#ifdef __GLIBC__
           pid_t pid,
-#endif
           int add)
 {
    struct utmp ut;
    struct timeval tv;
-
-#ifdef __GLIBC__
    size_t offset;
-#endif

    memset(&ut, 0, sizeof(ut));

@@ -128,8 +117,6 @@
    if (host)
        strncpy(ut.ut_host, host, sizeof(ut.ut_host));

-#ifdef __GLIBC__
-
    offset = (strlen(term) <= sizeof(ut.ut_id)) ? 0 :
            strlen(term) - sizeof(ut.ut_id);
    strncpy(ut.ut_id, term + offset, sizeof(ut.ut_id));
@@ -156,27 +143,6 @@

    (void) updwtmp(_PATH_WTMP, &ut);

-#elif defined(__FreeBSD__)
-
-   ut.ut_time = tv.tv_sec;
-
-   if (add)
-   {
-       login(&ut);
-   } else
-   {
-       if (logout(term) != 1)
-       {
-#ifdef UTEMPTER_DEBUG
-           fprintf(stderr, "utempter: logout: %s\n",
-               strerror(errno));
-#endif
-           exit(EXIT_FAILURE);
-       }
-   }
-
-#endif /* __GLIBC__ || __FreeBSD__ */
-
 #ifdef UTEMPTER_DEBUG
    fprintf(stderr,
        "utempter: DEBUG: utmp/wtmp record %s for terminal '%s'\n",
@@ -255,8 +221,6 @@
    validate_device(device);

    return write_uwtmp_record(pw->pw_name, device + DEV_PREFIX_LEN, host,
-#ifdef __GLIBC__
                  pid,
-#endif
                  add);
 }
