rem: char initbuf[MAX (256, INT_STRLEN_BOUND (long) + 1)];
add: char initbuf[MAX (256, INT_STRLEN_BOUND (long int) + 1)];
context: init_header (char *filename, int desc){  char *buf;  char initbuf[MAX (256, INT_STRLEN_BOUND (long) + 1)];  struct stat st;  struct tm *tm;  /* If parallel files or standard input, use current date. */  if (STREQ (filename, "-"))    desc = -1;  if (desc < 0 || fstat (desc, &st) != 0)    st.st_mtime = time (NULL);  buf = initbuf;  tm = localtime (&st.st_mtime);  if (! tm)    sprintf (buf, "%ld", (long) st.st_mtime);  else    {      size_t bufsize = sizeof initbuf;      for (;;)	{	  *buf = '\1';	  if (strftime (buf, bufsize, date_format, tm) || ! *buf)	    break;	  buf = alloca (bufsize *= 2);	}    }  if (date_text)    free (date_text);  date_text = xstrdup (buf);  file_text = custom_header ? custom_header : desc < 0 ? "" : filename;  header_width_available = (chars_per_line			    - mbswidth (date_text, 0)			    - mbswidth (file_text, 0));}