void AddressBookParser::AddLdifRowToDatabase()
void AddressBookParser::AddLdifRowToDatabase(PRBool bIsList)
void AddressBookParser::AddLdifRowToDatabase(){	PRBool bIsList = PR_FALSE;	if (mLine.Find("groupOfNames") == -1)		bIsList = PR_FALSE;	else		bIsList = PR_TRUE;	nsIMdbRow* newRow = nsnull;	if (mDatabase)	{		if (bIsList)			mDatabase->GetNewListRow(&newRow); 		else			mDatabase->GetNewRow(&newRow); 		if (!newRow)			return;	}	else		return;	char* cursor = (char*)mLine.ToNewCString(); 	char* saveCursor = cursor;  /* keep for deleting */ 	char* line = 0; 	char* typeSlot = 0; 	char* valueSlot = 0; 	int length = 0;  // the length  of an ldif attribute	while ( (line = str_getline(&cursor)) != NULL)	{		if ( str_parse_line(line, &typeSlot, &valueSlot, &length) == 0 )		{			AddLdifColToDatabase(newRow, typeSlot, valueSlot, bIsList);		}		else			continue; // parse error: continue with next loop iteration	}	delete [] saveCursor;	mDatabase->AddCardRowToDB(newRow);		if (bIsList)		mDatabase->AddListDirNode(newRow);	if (mLine.Length() > 0)		mLine.Truncate();}