From owner-freebsd-bugs@FreeBSD.ORG Wed Mar 24 07:20:21 2004 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7A6B216A4CF for ; Wed, 24 Mar 2004 07:20:21 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5857F43D49 for ; Wed, 24 Mar 2004 07:20:21 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) i2OFKLbv078302 for ; Wed, 24 Mar 2004 07:20:21 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.10/8.12.10/Submit) id i2OFKLLc078301; Wed, 24 Mar 2004 07:20:21 -0800 (PST) (envelope-from gnats) Resent-Date: Wed, 24 Mar 2004 07:20:21 -0800 (PST) Resent-Message-Id: <200403241520.i2OFKLLc078301@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, MUKAIGAITO Takeya Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 546C516A4CE for ; Wed, 24 Mar 2004 07:10:22 -0800 (PST) Received: from www.freebsd.org (www.freebsd.org [216.136.204.117]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4EA4343D3F for ; Wed, 24 Mar 2004 07:10:22 -0800 (PST) (envelope-from nobody@FreeBSD.org) Received: from www.freebsd.org (localhost [127.0.0.1]) by www.freebsd.org (8.12.10/8.12.10) with ESMTP id i2OFAL72084411 for ; Wed, 24 Mar 2004 07:10:21 -0800 (PST) (envelope-from nobody@www.freebsd.org) Received: (from nobody@localhost) by www.freebsd.org (8.12.10/8.12.10/Submit) id i2OFALtm084410; Wed, 24 Mar 2004 07:10:21 -0800 (PST) (envelope-from nobody) Message-Id: <200403241510.i2OFALtm084410@www.freebsd.org> Date: Wed, 24 Mar 2004 07:10:21 -0800 (PST) From: MUKAIGAITO Takeya To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-2.3 Subject: bin/64658: lastcomm dosen't accept arguments X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 24 Mar 2004 15:20:21 -0000 >Number: 64658 >Category: bin >Synopsis: lastcomm dosen't accept arguments >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Wed Mar 24 07:20:20 PST 2004 >Closed-Date: >Last-Modified: >Originator: MUKAIGAITO Takeya >Release: 5.2 Current >Organization: >Environment: FreeBSD belfort 5.2-CURRENT FreeBSD 5.2-CURRENT #1: Fri Mar 19 16:31:28 JST 2004 root@belfort:/usr/obj/usr/src/sys/belfort i386 >Description: The lastcomm command dosen't accept arguments. When I run lastcomm with an argument, it fails. e.g. bash-2.05b# lastcomm who lastcomm: /var/account/acct: Unknown error: 0 bash-2.05b# >How-To-Repeat: $ lastcomm command >Fix: When i run the lastcomm with some argments, the next comparison in the main loop may become true. if (*argv && !requested(argv, &ab)) continue; It would `continue' without fseeking the acct file. The easiest and worst fix: --- lastcomm.c.orig Tue Jan 28 03:16:32 2003 +++ lastcomm.c Wed Mar 24 18:57:09 2004 @@ -167,7 +167,7 @@ if (!isprint(*p)) *p = '?'; if (*argv && !requested(argv, &ab)) - continue; + goto L1;; (void)printf("%-*.*s %-7s %-*s %-*s", AC_COMM_LEN, AC_COMM_LEN, ab.ac_comm, @@ -210,7 +210,7 @@ (void)printf(" %.16s", ctime(&t)); } printf("\n"); - +L1: if (size == 0) break; size -= sizeof(struct acct); >Release-Note: >Audit-Trail: >Unformatted: