#include "bbs.h"
/**** totally revised
int MenuSend(char *s)
{
 FILE *fp;
 int stat;
 char c[1000];

 if(!(fp= fopen(s,"r"))) {
 	UnAvailNotice(s,c);
	    return(FAILURE);
	}


 while(fgets(c,995,fp!=NULL)	{
 	c[996]='\0';
 	if(c[strlen(c)-1]=='\n')		strcat(c,"\r");
     AEPutStr(c);

 	if(SCheckInput())	{                  /* CHECK FOR INPUT && CARRIER */
 		stat=ReadChar(1L);
	    	if(stat<0)	{
 			if(fp) fclose(fp); 		return(NO_CARRIER);
			}
	    	switch(stat) {
			case '\023': /* Pause */
				stat=ReadChar(KEYBOARD_TIMEOUT);
				if(stat<0)	{
					if(fp) fclose(fp);	return(NO_CARRIER);
				}
				break;
			case '\003': /* ^C */
				AEPutStr("**Break\r\n\r\n");
				if(fp) fclose(fp);
				if(AnsiColor)  AEPutStr("[0m");
				return(SUCCESS);
				break;
			}
		}
	}
 if(fp) fclose(fp);
 if(AnsiColor)  AEPutStr("[0m");
 if(Whence_The_Logon>=REMOTE_LOGON)	{
 	stat=CheckCarrier();
	    if(stat==FALSE)		return(NO_CARRIER);
	}
 return(SUCCESS);
}

***/
int MenuSend(char *s)
{
FILE *fp;
int stat;
BOOL checked=FALSE;
char c[1000]; /****  old char c[255],*p; ****/
stat=Restricted(s);
fp=fopen(s,"r");
if(fp==NULL || stat)
	{
	UnAvailNotice(s,c);
	return(FAILURE);
	}
ConPutStr("[0 p"); /* turn console cursor off */
while(fgets(c,995,fp)!=NULL)
	{
	c[996]='\0'; /**** old c[251]='\0'; ****/
     if(c[0]=='~' && !checked){ fclose(fp); return(mcisend(s)); }
     checked=TRUE;
	if(c[strlen(c)-1]=='\n')
		{
		strcat(c,"\r");
		}
	AEPutStr(c);
	/* CHECK FOR INPUT && CARRIER */
	if(SCheckInput())
		{
		stat=ReadChar(1L);
		if(stat<0)
			{
			fclose(fp);ConPutStr("[ p");  /* turn console cursor back on */

			return(NO_CARRIER);
			}
		switch(stat)
			{
			case '\023': /* Pause */
				stat=ReadChar(KEYBOARD_TIMEOUT);
				if(stat<0)
					{
					fclose(fp);
                         ConPutStr("[ p");  /* turn console cursor back on */

					return(NO_CARRIER);
					}
				break;
			case '\003': /* ^C */
				AEPutStr("**Break\r\n\r\n");
				fclose(fp);
				if(AnsiColor) { AEPutStr("[0m"); }
                   ConPutStr("[ p");  /* turn console cursor back on */

				return(FAILURE);
				break;
			}
		}
	}
fclose(fp);
ConPutStr("[ p");  /* turn console cursor back on */

if(AnsiColor) { AEPutStr("[0m"); }
if(Whence_The_Logon>=REMOTE_LOGON)
	{
	stat=CheckCarrier();
	if(stat==FALSE)
		{
		return(NO_CARRIER);
		}
	}
return(SUCCESS);
}

