=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/mail/main.c,v retrieving revision 1.27 retrieving revision 1.28 diff -c -r1.27 -r1.28 *** src/usr.bin/mail/main.c 2015/01/16 06:40:09 1.27 --- src/usr.bin/mail/main.c 2015/01/20 16:59:07 1.28 *************** *** 1,4 **** ! /* $OpenBSD: main.c,v 1.27 2015/01/16 06:40:09 deraadt Exp $ */ /* $NetBSD: main.c,v 1.7 1997/05/13 06:15:57 mikel Exp $ */ /* --- 1,4 ---- ! /* $OpenBSD: main.c,v 1.28 2015/01/20 16:59:07 millert Exp $ */ /* $NetBSD: main.c,v 1.7 1997/05/13 06:15:57 mikel Exp $ */ /* *************** *** 49,54 **** --- 49,55 ---- { int i; struct name *to, *cc, *bcc, *smopts; + char *fromaddr; char *subject; char *ef; char nosrc = 0; *************** *** 77,84 **** cc = NULL; bcc = NULL; smopts = NULL; subject = NULL; ! while ((i = getopt(argc, argv, "EIN:b:c:dfins:u:v")) != -1) { switch (i) { case 'u': /* --- 78,86 ---- cc = NULL; bcc = NULL; smopts = NULL; + fromaddr = NULL; subject = NULL; ! while ((i = getopt(argc, argv, "EIN:b:c:dfinr:s:u:v")) != -1) { switch (i) { case 'u': /* *************** *** 100,105 **** --- 102,113 ---- case 'd': debug++; break; + case 'r': + /* + * Set From: address + */ + fromaddr = optarg; + break; case 's': /* * Give a subject field for sending from *************** *** 203,209 **** rc = "~/.mailrc"; load(expand(rc)); if (!rcvmode) { ! mail(to, cc, bcc, smopts, subject); /* * why wait? */ --- 211,217 ---- rc = "~/.mailrc"; load(expand(rc)); if (!rcvmode) { ! mail(to, cc, bcc, smopts, fromaddr, subject); /* * why wait? */ *************** *** 272,278 **** { fprintf(stderr, "usage: %s [-dEIinv] [-b list] [-c list] " ! "[-s subject] to-addr ...\n", __progname); fprintf(stderr, " %s [-dEIiNnv] -f [file]\n", __progname); fprintf(stderr, " %s [-dEIiNnv] [-u user]\n", __progname); exit(1); --- 280,286 ---- { fprintf(stderr, "usage: %s [-dEIinv] [-b list] [-c list] " ! "[-r from-addr] [-s subject] to-addr ...\n", __progname); fprintf(stderr, " %s [-dEIiNnv] -f [file]\n", __progname); fprintf(stderr, " %s [-dEIiNnv] [-u user]\n", __progname); exit(1);