/* アクセス局チェック  */

#include <string.h>

#include "extern.h"

/* login */
        
hischk()
	{
		int i;
		char passw[9],pasw2[9];

		rsans(5);
		strcpy(ssent,"\n                 \nPlease Return ==>");

		rsout();
		rsin(0);

		rsbwrite('\f',0);

		sprintf(ssent,"\nThis is %s\n",rbbscall);	rsout();
		sprintf(ssent,"\nゲストのかたは、ID を %s として入れてください\n",guestid);
		rsout();

		for( i = 0 ; i < 3 ; i++ )
			{
				strcpy(ssent,"Your ID ==>");
				rsout();
				rsin(0);
				idcpy(hiscall,rsent);

				if ( ! strcmp(hiscall,guestid) )
		 		 { 
					if ( signup )
						{ strcpy(ssent,"\nこのＢＢＳは、ＩＤをオンラインで登録することができます\n");
						  rsout();
						  strcpy(ssent,"\n登録には、コマンド SIGNUP を使用してください\n");
						  rsout();
						}
					else
						{ strcpy(ssent,"\nこのＢＢＳにＩＤ登録するには、ＳＹＳＯＰ宛メールをだしてください\n");
						  rsout();
						  strcpy(ssent,"メールを出すには、コマンド MAIL,W を使用してください\n");
						  rsout();
						}
				 return(0);
				}


			fpw = fopen(PASSWORD,"r");
			if ( fpw == NULL )
			   { strcpy(ssent,"\nID が登録されていません\n");
				 rsout();
				 continue;
			   }

			 while(1)
			   { if ( feof(fpw) )
					{ sprintf(ssent,"\nこのIDは登録されていません %s\n",hiscall);
					  rsout();
					  break;
					}
			 	fgets(fbuff,255,fpw);
			 	if ( strncmp(hiscall,fbuff,8) ) continue;
				substr(fbuff,9,8,passw);
				i = 99; 
				break;
		   		}
       		 fclose(fpw);
		}
		if ( i != 100 ) { hisdis();  return(1);  }

	for( i = 0 ; i < 3 ; i++ )
		{
			strcpy(ssent,"\nPASSWORD ==>"); rsout();
			rsin(1);
			idcpy(pasw2,rsent);
			if ( strcmp(pasw2,passw) )
				{ strcpy(ssent,"\nパスワードが違います\n");
				  rsout();
				  continue;
				}
			i =99;
		}
		if ( i != 100 ) { hisdis();  return(1);  }
	rsbwrite('\f',0);

	return(0);
	}

