date(1) didn't emit a final newline if the format had been specified

with `+'.  This breaks tradition and violates Posix 1003.2.

Discoverd by: luigi@labinfo.iet.unipi.it (Luigi Rizzo)
This commit is contained in:
Joerg Wunsch 1995-04-03 20:08:33 +00:00
parent 021ad37586
commit 29c52ddd49
2 changed files with 5 additions and 5 deletions

View File

@ -33,7 +33,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)date.1 8.2 (Berkeley) 11/17/93
.\" $Id$
.\" $Id: date.1,v 1.4 1994/09/24 02:54:34 davidg Exp $
.\"
.Dd November 17, 1993
.Dt DATE 1
@ -107,7 +107,7 @@ in the
manual page, as well as any arbitrary text.
The format string for the default display is:
.Bd -literal -offset indent
``%a %b %e %H:%M:%S %Z %Y%n''.
``%a %b %e %H:%M:%S %Z %Y''.
.Ed
.Pp
If an operand does not have a leading plus sign, it is interpreted as

View File

@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: date.c,v 1.2 1994/09/24 02:54:36 davidg Exp $
* $Id: date.c,v 1.3 1994/12/26 12:59:28 bde Exp $
*/
#ifndef lint
@ -123,7 +123,7 @@ main(argc, argv)
if (!rflag && time(&tval) == -1)
err(1, "time");
format = "%a %b %e %H:%M:%S %Z %Y\n";
format = "%a %b %e %H:%M:%S %Z %Y";
/* allow the operands in any order */
if (*argv && **argv == '+') {
@ -140,7 +140,7 @@ main(argc, argv)
format = *argv + 1;
(void)strftime(buf, sizeof(buf), format, localtime(&tval));
(void)printf("%s", buf);
(void)printf("%s\n", buf);
exit(retval);
}