From b5ef7a4be75e46cd44eb2f3cfa2512a84026ce98 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 18 Aug 1997 19:50:35 +0000 Subject: (show_date): Don't hang if strftime produces an empty string. --- src/date.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/date.c') diff --git a/src/date.c b/src/date.c index 36bc01feb..591264e5c 100644 --- a/src/date.c +++ b/src/date.c @@ -399,8 +399,14 @@ show_date (const char *format, time_t when) { out_length += 200; out = (char *) xrealloc (out, out_length); + + /* Mark the first byte of the buffer so we can detect the case + of strftime producing an empty string. Otherwise, this loop + would not terminate when date was invoked like this + `LANG=de date +%p' on a system with good language support. */ + out[0] = '\1'; } - while (strftime (out, out_length, format, tm) == 0); + while (strftime (out, out_length, format, tm) == 0 && out[0] != '\0'); printf ("%s\n", out); free (out); -- cgit v1.2.3-70-g09d2