if (m_newsDB != nsnull)
if (m_newsDB)
nsNNTPNewsgroupList::ProcessXOVERLINE(const char *line, PRUint32 *status){	PRUint32 message_number=0;	//  PRInt32 lines;	PRBool read_p = PR_FALSE;	nsresult rv = NS_OK;	PR_ASSERT (line);	if (!line)        return NS_ERROR_NULL_POINTER;	if (m_newsDB != nsnull)	{		char *xoverline = PL_strdup(line);		rv = ParseLine(xoverline, &message_number);		PL_strfree(xoverline);	}	else		return NS_ERROR_NOT_INITIALIZED;	PR_ASSERT(message_number > m_lastProcessedNumber ||			message_number == 1);	if (m_set && message_number > m_lastProcessedNumber + 1)	{		/* There are some articles that XOVER skipped; they must no longer		   exist.  Mark them as read in the newsrc, so we don't include them		   next time in our estimated number of unread messages. */		if (m_set->AddRange(m_lastProcessedNumber + 1, message_number - 1)) 		{		  /* This isn't really an important enough change to warrant causing			 the newsrc file to be saved; we haven't gathered any information			 that won't also be gathered for free next time.		   */		}	}	m_lastProcessedNumber = message_number;	if (m_knownArts.set) 	{		int result = m_knownArts.set->Add(message_number);		if (result < 0) {            if (status) *status = result;            return NS_ERROR_NOT_INITIALIZED;        }	}	if (message_number > m_lastMsgNumber)	m_lastMsgNumber = message_number;	else if (message_number < m_firstMsgNumber)	m_firstMsgNumber = message_number;	if (m_set) {		read_p = m_set->IsMember(message_number);	}	/* Update the thermometer with a percentage of articles retrieved.	*/	if (m_lastMsgNumber > m_firstMsgNumber)	{		PRInt32	totToDownload = m_lastMsgToDownload - m_firstMsgToDownload;		PRInt32	lastIndex = m_lastProcessedNumber - m_firstMsgNumber + 1;		PRInt32	numDownloaded = lastIndex;		PRInt32	totIndex = m_lastMsgNumber - m_firstMsgNumber + 1;#ifdef HAVE_PANES		PRInt32 	percent = (totIndex) ? (PRInt32)(100.0 * (double)numDownloaded / (double)totToDownload) : 0;		FE_SetProgressBarPercent (m_pane->GetContext(), percent);#endif				/* only update every 10 articles for speed */		if ( (totIndex <= NEWS_ART_DISPLAY_FREQ) || ((lastIndex % NEWS_ART_DISPLAY_FREQ) == 0) || (lastIndex == totIndex))		{#ifdef HAVE_XPGETSTRING			char *statusTemplate = XP_GetString (MK_HDR_DOWNLOAD_COUNT);#else			char *statusTemplate = "XP_GetString not implemented in nsNNTPNewsgroupList.";#endif			char *statusString = PR_smprintf (statusTemplate, numDownloaded, totToDownload);#ifdef HAVE_PANES			FE_Progress (m_pane->GetContext(), statusString);#endif			PR_Free(statusString);		}	}    	return NS_OK;}