Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 2 Apr 1999 13:11:38 -0500 (EST)
From:      James howard <howardjp@byzantine.student.umd.edu>
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   bin/10921: I wished from(1) would count the number of messages.
Message-ID:  <199904021811.NAA07533@byzantine.student.umd.edu>

next in thread | raw e-mail | index | archive | help

>Number:         10921
>Category:       bin
>Synopsis:       I wished from(1) would count the number of messages.
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Fri Apr  2 10:10:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     James howard
>Release:        FreeBSD 4.0-CURRENT i386
>Organization:
University of Maryland
>Environment:

	FreeBSD byzantine.student.umd.edu 4.0-CURRENT FreeBSD 4.0-CURRENT #2: Thu Apr  1 00:29:18 EST 1999     howardjp@byzantine.student.umd.edu:/usr/src/sys/compile/BYZANTINE  i386

>Description:

	I typed ``message'' the other day at a command prompt and when nothing
    happened I realized elm was not installed.  So anyway, rather than
    installing elm, I patched from(1) so that when given the option -c
    it will behave just like message(1L).

>How-To-Repeat:

	

>Fix:
	
	Apply the following patch to /usr/src/usr.bin/from and it will 
    patch from.c and update from.1 with the needed changes.

diff -c -r /usr/src/usr.bin/from/from.1 from/from.1
*** /usr/src/usr.bin/from/from.1	Sat Oct  5 21:54:21 1996
--- from/from.1	Fri Apr  2 11:48:40 1999
***************
*** 39,44 ****
--- 39,45 ----
  .Nd print names of those who have sent mail
  .Sh SYNOPSIS
  .Nm from
+ .Op Fl c
  .Op Fl s Ar sender
  .Op Fl f Ar file
  .Op Ar user
***************
*** 49,54 ****
--- 50,57 ----
  .Pp
  Options:
  .Bl -tag -width Fl
+ .It Fl c
+ Only provide a count of messages.
  .It Fl f Ar file 
  The supplied file
  is examined instead of the invoker's mailbox.
diff -c -r /usr/src/usr.bin/from/from.c from/from.c
*** /usr/src/usr.bin/from/from.c	Tue Jul  8 06:59:50 1997
--- from/from.c	Fri Apr  2 10:32:41 1999
***************
*** 66,72 ****
  	extern char *optarg;
  	extern int optind;
  	struct passwd *pwd;
! 	int ch, newline;
  	char *file, *sender, *p;
  #if MAXPATHLEN > BUFSIZ
  	char buf[MAXPATHLEN];
--- 66,72 ----
  	extern char *optarg;
  	extern int optind;
  	struct passwd *pwd;
! 	int ch, count = -1, newline;
  	char *file, *sender, *p;
  #if MAXPATHLEN > BUFSIZ
  	char buf[MAXPATHLEN];
***************
*** 75,82 ****
  #endif
  
  	file = sender = NULL;
! 	while ((ch = getopt(argc, argv, "f:s:")) != -1)
  		switch((char)ch) {
  		case 'f':
  			file = optarg;
  			break;
--- 75,85 ----
  #endif
  
  	file = sender = NULL;
! 	while ((ch = getopt(argc, argv, "cf:s:")) != -1)
  		switch((char)ch) {
+         case 'c':
+             count = 0;
+             break;
  		case 'f':
  			file = optarg;
  			break;
***************
*** 120,136 ****
  			continue;
  		}
  		if (newline && !strncmp(buf, "From ", 5) &&
! 		    (!sender || match(buf + 5, sender)))
! 			printf("%s", buf);
  		newline = 0;
  	}
  	exit(0);
  }
  
  static void
  usage()
  {
! 	fprintf(stderr, "usage: from [-f file] [-s sender] [user]\n");
  	exit(1);
  }
  
--- 123,153 ----
  			continue;
  		}
  		if (newline && !strncmp(buf, "From ", 5) &&
! 		    (!sender || match(buf + 5, sender))) 
!             if (count != -1)
!                 count++;
!             else
!                 printf("%s", buf);
  		newline = 0;
  	}
+     if (count != -1) 
+         switch(count) {
+         case 0:
+             printf("There are no messages in your incoming mailbox.\n");
+             break;
+         case 1:
+             printf("There is 1 message in your incoming mailbox.\n");
+             break;
+         default:
+             printf("There are %i messages in your incoming mailbox.\n", count);
+         }
  	exit(0);
  }
  
  static void
  usage()
  {
! 	fprintf(stderr, "usage: from [-c] [-f file] [-s sender] [user]\n");
  	exit(1);
  }
  

>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199904021811.NAA07533>