g_pTestRegistry->uiNumberOfFailures++;
if (pResult->uiLineNumber) g_pTestRegistry->uiNumberOfFailures++;
void add_failure(unsigned int uiLineNumber, char szCondition[],		char szFileName[], PTestGroup pGroup, PTestCase pTest){	PTestResult pResult = NULL;	PTestResult pTemp = NULL;	if (!g_pTestRegistry) {		assert(!"PTestRegistry is NULL which is not supposed "				"to be so at this stage.");		abort();	}	pResult = (PTestResult)malloc(sizeof(TestResult));	if (!pResult) {		goto exit;	}	pResult->strFileName = NULL;	pResult->strCondition = NULL;	if (szFileName) {		pResult->strFileName = (char*)malloc(strlen(szFileName) + 1);		if(!pResult->strFileName) {			goto delete_result;		}		strcpy(pResult->strFileName, szFileName);	}		if (szCondition) {		pResult->strCondition = (char*)malloc(strlen(szCondition) + 1);		if (!pResult->strCondition) {			goto delete_filename;		}		strcpy(pResult->strCondition, szCondition);	}	pResult->uiLineNumber = uiLineNumber;	pResult->pTestCase = pTest;	pResult->pTestGroup = pGroup;	pResult->pNext = pResult->pPrev = NULL;		pTemp = g_pTestRegistry->pResult;	if (pTemp) {		while (pTemp->pNext) {			pTemp = pTemp->pNext;		}		pTemp->pNext = pResult;		pResult->pPrev = pTemp;	}	else {		g_pTestRegistry->pResult = pResult;		g_pTestRegistry->uiNumberOfFailures = 0;	}	g_pTestRegistry->uiNumberOfFailures++;	goto exit;delete_filename:	free(pResult->strFileName);	delete_result:	free(pResult);	exit:	return;}