Index: src/bin/date/date.1 =================================================================== RCS file: /home/ncvs/src/bin/date/date.1,v retrieving revision 1.34.2.8 diff -u -r1.34.2.8 date.1 --- src/bin/date/date.1 2001/01/17 21:28:52 1.34.2.8 +++ src/bin/date/date.1 2001/03/30 12:25:25 @@ -43,7 +43,7 @@ .Nd display or set date and time .Sh SYNOPSIS .Nm -.Op Fl jnu +.Op Fl Rjnu .Op Fl d Ar dst .Op Fl r Ar seconds .Op Fl t Ar minutes_west @@ -86,6 +86,8 @@ .Pp The options are as follows: .Bl -tag -width Ds +.It Fl R +Print the date in RFC-822 format. .It Fl d Ar dst Set the kernel's value for daylight saving time. If Index: src/bin/date/date.c =================================================================== RCS file: /home/ncvs/src/bin/date/date.c,v retrieving revision 1.32.2.3 diff -u -r1.32.2.3 date.c --- src/bin/date/date.c 2000/09/18 02:07:11 1.32.2.3 +++ src/bin/date/date.c 2001/03/30 12:25:26 @@ -80,6 +80,7 @@ { struct timezone tz; int ch, rflag; + int Rflag; int jflag, nflag; char *format, buf[1024]; char *endptr, *fmt; @@ -92,11 +93,15 @@ fmt = NULL; (void) setlocale(LC_TIME, ""); tz.tz_dsttime = tz.tz_minuteswest = 0; + Rflag = 0; rflag = 0; jflag = nflag = 0; set_timezone = 0; - while ((ch = getopt(argc, argv, "d:f:jnr:t:uv:")) != -1) + while ((ch = getopt(argc, argv, "Rd:f:jnr:t:uv:")) != -1) switch((char)ch) { + case 'R': + Rflag = 1; + break; case 'd': /* daylight savings time */ tz.tz_dsttime = strtol(optarg, &endptr, 10) ? 1 : 0; if (endptr == optarg || *endptr != '\0') @@ -146,7 +151,10 @@ if (!rflag && time(&tval) == -1) err(1, "time"); - format = "%+"; + if (!Rflag) + format = "%+"; + else + format = "%a, %e %b %Y %T %z (%Z)"; /* allow the operands in any order */ if (*argv && **argv == '+') {