*destination = (char *) PR_Malloc (PL_strlen(source) + 1);
*destination = (char *) PR_Malloc (nsCRT::strlen(source) + 1);
mime_SACat (char **destination, const char *source){  if (source && *source)  {    if (*destination)    {      int length = PL_strlen (*destination);      *destination = (char *) PR_Realloc (*destination, length + PL_strlen(source) + 1);      if (*destination == NULL)        return(NULL);            PL_strcpy (*destination + length, source);    }    else    {      *destination = (char *) PR_Malloc (PL_strlen(source) + 1);      if (*destination == NULL)        return(NULL);            PL_strcpy (*destination, source);    }  }  return *destination;}