aResult.Append(NS_LITERAL_STRING("</").get()); aResult.Append(attrNameStr.get()); aResult.Append(NS_LITERAL_STRING(">").get());
aResult.AppendLiteral("</"); aResult.Append(attrNameStr); aResult.Append(PRUnichar('>'));
nsresult AppendLine(nsAbCardProperty *aCard, AppendItem *aItem, mozITXTToHTMLConv *aConv, nsString &aResult){  nsXPIDLString attrValue;  nsresult rv = aCard->GetCardValue(aItem->mColumn, getter_Copies(attrValue));  NS_ENSURE_SUCCESS(rv,rv);  if (attrValue.IsEmpty())    return NS_OK;   nsAutoString attrNameStr;  attrNameStr.AssignWithConversion(aItem->mColumn);    aResult.Append(NS_LITERAL_STRING("<").get());  aResult.Append(attrNameStr.get());  aResult.Append(NS_LITERAL_STRING(">").get());    // use ScanTXT to convert < > & to safe values.  nsXPIDLString safeText;  rv = aConv->ScanTXT(attrValue.get(), mozITXTToHTMLConv::kEntities, getter_Copies(safeText));  NS_ENSURE_SUCCESS(rv,rv);  aResult.Append(safeText.get());  aResult.Append(NS_LITERAL_STRING("</").get());  aResult.Append(attrNameStr.get());  aResult.Append(NS_LITERAL_STRING(">").get());  return NS_OK;}