png_memcpy(buffer+iout, error_message, 64);
png_strncpy(buffer+iout, error_message, 63);
png_format_buffer(png_structp png_ptr, png_charp buffer, png_const_charp   error_message){   int iout = 0, iin = 0;   while (iin < 4)   {      int c = png_ptr->chunk_name[iin++];      if (isnonalpha(c))      {         buffer[iout++] = '[';         buffer[iout++] = png_digit[(c & 0xf0) >> 4];         buffer[iout++] = png_digit[c & 0x0f];         buffer[iout++] = ']';      }      else      {         buffer[iout++] = (png_byte)c;      }   }   if (error_message == NULL)      buffer[iout] = 0;   else   {      buffer[iout++] = ':';      buffer[iout++] = ' ';      png_memcpy(buffer+iout, error_message, 64);      buffer[iout+63] = 0;   }}