Index: src/bin/date/date.1 =================================================================== RCS file: /home/ncvs/src/bin/date/date.1,v retrieving revision 1.64 diff -u -r1.64 date.1 --- src/bin/date/date.1 16 May 2004 21:33:48 -0000 1.64 +++ src/bin/date/date.1 17 May 2004 08:45:27 -0000 @@ -39,7 +39,7 @@ .Nd display or set date and time .Sh SYNOPSIS .Nm -.Op Fl ju +.Op Fl Rju .Op Fl r Ar seconds .Oo .Fl v @@ -57,7 +57,7 @@ .Ar MM Op Ar .ss .Sm on .Nm -.Op Fl jnu +.Op Fl Rjnu .Fl f Ar input_fmt new_date .Op Cm + Ns Ar output_fmt .Nm @@ -85,6 +85,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.46 diff -u -r1.46 date.c --- src/bin/date/date.c 6 Apr 2004 20:06:45 -0000 1.46 +++ src/bin/date/date.c 7 Apr 2004 07:44:23 -0000 @@ -74,6 +74,7 @@ { struct timezone tz; int ch, rflag; + int Rflag; int jflag, nflag; const char *format; char buf[1024]; @@ -88,11 +89,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') @@ -143,7 +148,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 == '+') { @@ -299,7 +307,7 @@ usage(void) { (void)fprintf(stderr, "%s\n%s\n", - "usage: date [-jnu] [-d dst] [-r seconds] [-t west] " + "usage: date [-Rjnu] [-d dst] [-r seconds] [-t west] " "[-v[+|-]val[ymwdHMS]] ... ", " " "[-f fmt date | [[[[[cc]yy]mm]dd]HH]MM[.ss]] [+format]");