From b5ef7a4be75e46cd44eb2f3cfa2512a84026ce98 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 18 Aug 1997 19:50:35 +0000 Subject: [PATCH] (show_date): Don't hang if strftime produces an empty string. --- src/date.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/date.c b/src/date.c index 36bc01f..591264e 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); -- 2.7.4