host = PL_strchr (from, '@');
host = strchr(from,'@');    if (host)
msg_generate_message_id (nsIMsgIdentity *identity){  PRUint32 now;  PRTime prNow = PR_Now();  PRInt64 microSecondsPerSecond, intermediateResult;    LL_I2L(microSecondsPerSecond, PR_USEC_PER_SEC);  LL_DIV(intermediateResult, prNow, microSecondsPerSecond);    LL_L2UI(now, intermediateResult);  PRUint32 salt = 0;  const char *host = 0;    nsXPIDLCString forcedFQDN;  nsXPIDLCString from;  nsresult rv = NS_OK;  rv = identity->GetCharAttribute("FQDN", getter_Copies(forcedFQDN));  if (NS_SUCCEEDED(rv) && forcedFQDN)    host = forcedFQDN.get();  if (!isValidHost(host))  {    nsresult rv = identity->GetEmail(getter_Copies(from));    if (NS_SUCCEEDED(rv) && from)      host = PL_strchr (from, '@');      ++host; }  if (!isValidHost(host))  /* If we couldn't find a valid host name to use, we can't generate a     valid message ID, so bail, and let NNTP and SMTP generate them. */    return 0;  GenerateGlobalRandomBytes((unsigned char *) &salt, sizeof(salt));  return PR_smprintf("<%lX.%lX@%s>",           (unsigned long) now, (unsigned long) salt, host);}