{	sprintf(number, "%d", C->frame);
{	assert( C != NULL ); sprintf(number, "%d", C->frame);
void HrefOutputPass2(	const char *tag, 	const char *head, 	const char *external,	const char *displayframe ){	char number[200];	char *taglower;	char *url;	char *target;	char *converted;	int  i;	CrossReference *C;		assert( *tag != '\0' );	assert( ! isspace(*tag) );	assert( strcmp(external, "true") == 0 || 	        strcmp(external, "false") == 0 	);	if( strcmp(external, "false") == 0 )	{		C = FindCrossReference(tag, head);		assert( C != NULL );		assert( C->defined );	}	// links must be in lower case (see discussion in PushOutput)	taglower = str_alloc(tag);	for(i = 0; taglower[i] != '\0'; i++)		taglower[i] = tolower(taglower[i]);	// make sure not nesting href calls	assert(PreviousItalic == UNDEFINED);	assert(PreviousPass   == UNDEFINED);	// set url	if( head[0] == '\0' )	{	if( strcmp(external, "true") == 0 )			url = str_alloc(tag);		else	url = str_cat(				taglower, 				Internal2Out("OutputExtension")		);	}	else	{	// XHTML cannot have certain character, such as <, here		// This is an unspecified kludge to fix this		converted = ConvertInternalString(head);			if( strcmp(external, "true") == 0 )			url = StrCat(				__FILE__, 				__LINE__, 				tag, 				"#", 				converted,				NULL		);		else		{	sprintf(number, "%d", C->frame);			url = StrCat(				__FILE__, 				__LINE__, 				taglower, 				"_frame", 				number, 				Internal2Out("OutputExtension"),				"#",				converted,				NULL			);		}			FreeMem(converted);	}	// set target	if( displayframe[0] == '\0' )		target = str_alloc( "_top" );	else	target = str_cat("frame", displayframe);	FormatOutput("<a href=\"%s\"", url);	FormatOutput(" target=\"%s\">", target);	PreviousItalic = NO;	if( displayframe[0] != '\0' )	{	PreviousItalic = YES;		OutputString("<i>");	}	PreviousPass = 2;		FreeMem(taglower);	FreeMem(url);	FreeMem(target);	return;}