*output_size_ret = PL_strlen(converted);
*output_size_ret = nsCRT::strlen(converted);
mime_convert_rfc1522 (const char *input_line, PRInt32 input_length,                      const char *input_charset, const char *output_charset,                      char **output_ret, PRInt32 *output_size_ret,                      void *stream_closure){  /*  struct mime_stream_data *msd = (struct mime_stream_data *) stream_closure; */  char *converted;  char *line;  char charset[128];    charset[0] = '\0';  if (input_line[input_length] == 0)  /* oh good, it's null-terminated */    line = (char *) input_line;  else    {      line = (char *) PR_MALLOC(input_length+1);      if (!line) return MIME_OUT_OF_MEMORY;      nsCRT::memcpy(line, input_line, input_length);      line[input_length] = 0;    }  converted = MIME_DecodeMimePartIIStr(line, charset);  if (line != input_line)    PR_Free(line);  if (converted)    {      char  *convertedString = NULL;       PRInt32 res = MIME_ConvertString(charset, "UTF-8", converted, &convertedString);       if ( (res != 0) || (!convertedString) )      {        *output_ret = converted;        *output_size_ret = PL_strlen(converted);      }      else      {        PR_Free(converted);         *output_ret = convertedString;        *output_size_ret = PL_strlen(convertedString);      }    }  else    {      *output_ret = 0;      *output_size_ret = 0;    }  return 0;}