XP_MEMCPY(*destination, source, source_length);
nsCRT::memcpy(*destination, source, source_length);
NET_BACat (char **destination, 		   size_t destination_length, 		   const char *source, 		   size_t source_length){    if (source) 	  {        if (*destination) 	      {      	    *destination = (char *) PR_REALLOC (*destination, destination_length + source_length);            if (*destination == NULL) 	          return(NULL);            XP_MEMMOVE (*destination + destination_length, source, source_length);          } 		else 		  {            *destination = (char *) PR_MALLOC (source_length);            if (*destination == NULL) 	          return(NULL);            XP_MEMCPY(*destination, source, source_length);          }    }  return *destination;}