/* DIVIDE_START=error.c */
/*
	ＮＩＦＴＹのＬＯＧ整理				error.c
*/

#include	"catlog.h"
#include	"dir.h"

#define	TEST	1
#undef	TEST

/************************************************************************/
/*                                                                      */
/*   error 処理                                                         */
/*                                                                      */
/************************************************************************/
void	error_end()
{
	print_now_time();	exit( 1 );
}

void	error_return( char *str )
{
	error = YES;
	printf("\n%s",str);
	printf("\n処理を続けますか？");
	if ( get_yesno_mes() == NO )	error_end( );
}

void	error_bug( char *str )
{
	printf("\nCATLOG %s のバグ<%s>です。",Version,str);
	error_end();
}

/************************************************************************/
/*                                                                      */
/*   error file 名の処理                                                */
/*                                                                      */
/************************************************************************/
void	error_open_file( char *function_name )
{
	char	str[ 256 ];

	sprintf(str,"%s で ファイル<%s>をオープンできません。\n" ,
		function_name ,
		file_name
	);
	error_return( str );
}

static	void	error_full_name_sub( const char *typ , const char *id_name )
{
	int	i;

	printf("<%s>の%sのデータが多すぎます\n", id_name , typ );
	for (i=0;i<10;i++) printf("<%s.%s%d> ",id_name , typ , i);
	puts("\nのデータを違うﾃﾞｨﾚｸﾄﾘに移動して下さい｡");
	error_end();
}

void	error_full_name( const int i )
{
	switch ( MesNum ) {
		case CLIP:	error_full_name_sub( "CLIP", ForumName );			break;
		case PATIO:	error_full_name_sub( "PATIO", ForumName );			break;
		case HP:	error_full_name_sub( "HP"   , ForumName );			break;
		case MAIL:	error_full_name_sub( "MAIL" , ForumName );			break;
		case ALL_MAIL:	error_full_name_sub( "ALL_MAIL" , ForumName );	break;
		case BILL:	error_full_name_sub( "BILL" , BILL_FILE_NAME );		break;
		case COLLECT_ID:
					error_full_name_sub( "COLLECT_ID" , ForumName );	break;
		default:	error_full_name_sub( "MES"  , ForumName );			break;
	};
}

void	ForcedEndCheck()
{
	int		sw;

	sw= _dos_direct_console_input();
	if ( sw == ESC ) {
		printf( "\n強制的に終了します" );
		error_end( );
	};
}

/* DIVIDE_END */
