htmlLen += PL_strlen (" BORDER");
htmlLen += nsCRT::strlen (" BORDER");
static int OutputTable (MimeObject *obj, PRBool endTable, PRBool border, char *cellspacing, char *cellpadding, char *bgcolor){	int status = 0;	char * htmlLine = NULL;	if (endTable)	{		status = WriteEachLineToStream (obj, "</TABLE>");	}	else	{		int htmlLen = PL_strlen("<TABLE>") + 1;		if (border)			htmlLen += PL_strlen (" BORDER");		if (cellspacing)			htmlLen += PL_strlen(" CELLSPACING=") + PL_strlen(cellspacing);		if (cellpadding)			htmlLen += PL_strlen(" CELLPADDING=") + PL_strlen(cellpadding);		if (bgcolor)			htmlLen += PL_strlen(" BGCOLOR=") + PL_strlen(bgcolor);		if (border || cellspacing || cellpadding || bgcolor)			htmlLen++;		htmlLine = (char *) PR_MALLOC (htmlLen);		if (htmlLine)		{			htmlLine[0] = '\0';			PL_strcat (htmlLine, "<TABLE");			if (border)				PL_strcat (htmlLine, " BORDER");			if (cellspacing)			{					PL_strcat (htmlLine, " CELLSPACING=");				PL_strcat (htmlLine, cellspacing);			}			if (cellpadding)			{					PL_strcat (htmlLine, " CELLPADDING=");				PL_strcat (htmlLine, cellpadding);			}			if (bgcolor)			{					PL_strcat (htmlLine, " BGCOLOR=");				PL_strcat (htmlLine, bgcolor);			}			if (border || cellspacing || cellpadding || bgcolor)				PL_strcat (htmlLine, " ");			PL_strcat (htmlLine, ">");			status = COM_MimeObject_write(obj, htmlLine, PL_strlen(htmlLine), PR_TRUE);			PR_Free ((void*) htmlLine);		}		else			status = VCARD_OUT_OF_MEMORY;	}		return status;}