From: Jim Meyering Date: Thu, 23 Nov 2000 07:24:51 +0000 (+0000) Subject: (my_strftime): Do not invoke mbrlen with a X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a1afa17b675e8a9fb76941ea4c885bc7f9a4b644;p=pspp (my_strftime): Do not invoke mbrlen with a size of (size_t) -1; it's not portable. --- diff --git a/lib/strftime.c b/lib/strftime.c index e10a87c78c..a8c9072670 100644 --- a/lib/strftime.c +++ b/lib/strftime.c @@ -515,6 +515,9 @@ my_strftime (s, maxsize, format, tp ut_argument) size_t i = 0; CHAR_T *p = s; const CHAR_T *f; +#if DO_MULTIBYTE && !defined COMPILE_WIDE + const char *format_end = NULL; +#endif zone = NULL; #if HAVE_TM_ZONE @@ -607,10 +610,15 @@ my_strftime (s, maxsize, format, tp ut_argument) { mbstate_t mbstate = mbstate_zero; size_t len = 0; + size_t fsize; + + if (! format_end) + format_end = f + strlen (f) + 1; + fsize = format_end - f; do { - size_t bytes = mbrlen (f + len, (size_t) -1, &mbstate); + size_t bytes = mbrlen (f + len, fsize - len, &mbstate); if (bytes == 0) break;