From owner-svn-src-user@FreeBSD.ORG Wed Jan 6 10:41:27 2010 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id CF67D1065672; Wed, 6 Jan 2010 10:41:27 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id BF4CC8FC14; Wed, 6 Jan 2010 10:41:27 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id o06AfRmQ099226; Wed, 6 Jan 2010 10:41:27 GMT (envelope-from ed@svn.freebsd.org) Received: (from ed@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id o06AfRT5099222; Wed, 6 Jan 2010 10:41:27 GMT (envelope-from ed@svn.freebsd.org) Message-Id: <201001061041.o06AfRT5099222@svn.freebsd.org> From: Ed Schouten Date: Wed, 6 Jan 2010 10:41:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r201638 - in user/ed/utmpx: include lib/libc/gen X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Jan 2010 10:41:27 -0000 Author: ed Date: Wed Jan 6 10:41:27 2010 New Revision: 201638 URL: http://svn.freebsd.org/changeset/base/201638 Log: Reintroduce getutxuser(). This function will be used by applications that crawl through the lastlogin database. Modified: user/ed/utmpx/include/utmpx.h user/ed/utmpx/lib/libc/gen/Symbol.map user/ed/utmpx/lib/libc/gen/getutxent.c Modified: user/ed/utmpx/include/utmpx.h ============================================================================== --- user/ed/utmpx/include/utmpx.h Wed Jan 6 10:29:53 2010 (r201637) +++ user/ed/utmpx/include/utmpx.h Wed Jan 6 10:41:27 2010 (r201638) @@ -78,6 +78,7 @@ struct utmpx *pututxline(const struct ut void setutxent(void); #if __BSD_VISIBLE +struct utmpx *getutxuser(const char *); int setutxdb(int, const char *); #endif __END_DECLS Modified: user/ed/utmpx/lib/libc/gen/Symbol.map ============================================================================== --- user/ed/utmpx/lib/libc/gen/Symbol.map Wed Jan 6 10:29:53 2010 (r201637) +++ user/ed/utmpx/lib/libc/gen/Symbol.map Wed Jan 6 10:41:27 2010 (r201638) @@ -372,6 +372,7 @@ FBSD_1.2 { getutxent; getutxid; getutxline; + getutxuser; pututxline; setutxdb; setutxent; Modified: user/ed/utmpx/lib/libc/gen/getutxent.c ============================================================================== --- user/ed/utmpx/lib/libc/gen/getutxent.c Wed Jan 6 10:29:53 2010 (r201637) +++ user/ed/utmpx/lib/libc/gen/getutxent.c Wed Jan 6 10:41:27 2010 (r201638) @@ -238,3 +238,25 @@ found: futx_to_utx(fu, &utx); return (&utx); } + +struct utmpx * +getutxuser(const char *user) +{ + struct futx *fu; + + for (;;) { + fu = getfutxent(); + if (fu == NULL) + return (NULL); + + switch (fu->fu_type) { + case USER_PROCESS: + if (strncmp(fu->fu_user, user, sizeof fu->fu_user) == 0) + goto found; + } + } + +found: + futx_to_utx(fu, &utx); + return (&utx); +}