#include <process.h>
#include <stdlib.h>
#include <string.h>

#include "extern.h"



config_read()
     {  int i;
	*(fname) = NULL;
	strcpy(fname,getenv("BBS"));
	if ( getenv("BBS") )  strcat(fname,"\\");
	strcat(fname,CONFIG_FIL);
        fpw = fopen(fname,"r");
		wait_time = 0;

        if ( fpw == NULL ) { printf("CONFIG.BBSがありません\n");
                             exit(1); }

        for ( i = 1 ; i <= 14 ; i++ )
        { if ( fgets( fbuff,255,fpw) == NULL )
                           { fclose(fpw);
                             if ( i <= 13 ) conf_err(i);
                           }
        
          switch(i)
	     {
                case 1: strncpy(rbbscall,fbuff,strlen(fbuff) - 1);
			*(rbbscall + strlen(rbbscall) ) = NULL; break;
                case 2: idcpy(sysop,fbuff);
                        break;
                case 3: strncpy(sysopname,fbuff,strlen(fbuff) -1 );
			*(sysopname + strlen(sysopname) ) = NULL; break;
                case 4: strcpy(fname,"cd "); strcat(fname,fbuff);
			system(fname);
			strncpy(fname,fbuff,2); *(fname + 2) = NULL;
			system(fname);  break;
                case 5: strncpy(msgpass,fbuff,strlen(fbuff) - 1);
			*(msgpass + strlen(msgpass) ) = NULL; break;
                case 6: strncpy(pdspass,fbuff,strlen(fbuff) - 1);
			*(pdspass + strlen(pdspass) ) = NULL; break;
                case 7: strncpy(datpass,fbuff,strlen(fbuff) - 1);
			*(datpass + strlen(datpass) ) = NULL; break;
                case 8: strncpy(fname,fbuff,strlen(fbuff) - 1);
			*(fname + strlen(fname) ) = NULL;
     		 	sprintf(temp_fil,"%s\\TMP%d",fname,getpid());
      			sprintf(seek_hdr,"%s\\SEK%d",fname,getpid());
			sprintf(whofile,"%s\\WHOFILE",fname);
			break;
                case 9:  fnumb_max = atoi(fbuff); break;
                case 10: idcpy(guestid,fbuff);    break;
				case 11: signup    = atoi(fbuff); break;
                case 12: moniflg   = atoi(fbuff); break;
                case 13: cyclic_flg = atoi(fbuff); break;
                case 14: wait_time = atoi(fbuff); break;
                default: break;
             }
        }
        fclose(fpw);
        
	return(0);                             
     }

