#include <conio.h>
#include <string.h>
#include <ctype.h>

#include "extern.h"

cmdrcv()
 {char ch ; 
  int  i,psw;
  int cmdpt , cmdstpt ;  /* cmdpt...cmdtbl ﾎﾟｲﾝﾀ  cmdstpt...cmdstr ﾎﾟｲﾝﾀ */
  
  psw = 1;

  while(psw)
   { 
     if ( kbhit() ) chat();   /*  ﾁｬｯﾄ ﾓｰﾄﾞ */   

     strcpy(ssent,"\nH)elp,F)ile,R)ead,W)rite,A)ns,K)ill,U)ser,L)og,R N)ew,MAIN,MAIL,PLAZA\n");
     strcat(ssent,"  BBS,AUTO,SEEK,NODE,ﾎﾞｰﾄﾞ名,RENAME,REWRITE,SELECT,EXPERT,SIGNUP,AGAIN,BYE\n");
     if (! strcmp(nowjle,mainjle))
          {strcpy(ssent,"\nH)elp,F)ile,R)ead,A)ns,K)ill,U)ser,L)og,R N)ew,MAIL,PLAZA\n");
           strcat(ssent,"  BBS,AUTO,NODE,ﾎﾞｰﾄﾞ名,RENAME,REWRITE,SELECT,EXPERT,SIGNUP,AGAIN,BYE\n"); }
     if (! strcmp(nowjle,"PLAZA   "))
          {strcpy(ssent,"\nH)elp,F)ile,R)ead,W)rite,A)ns,K)ill,U)ser,L)og,R N)ew,MAIL\n");
           strcat(ssent,"  BBS,AUTO,SEEK,NODE,ﾎﾞｰﾄﾞ名,RENAME,REWRITE,SELECT,EXPERT,SIGNUP,AGAIN,BYE\n"); }
     if ( exp_flg ) strcpy(ssent,"\n");
     strcat(ssent,jlepmt);
    rsout();

    rsin(0);

    *(pastcmd) = NULL; sep_cnt = 0;
	*(rsent + 80) = NULL;
    strcpy(cmdtbl,rsent) ;  /* ｼﾞｭｼﾝ ﾓｼﾞﾚﾂ ﾖﾘ ﾁｭｳｼｭﾂ */ 
    for ( cmdpt = 0 ; cmdpt < 80 ; cmdpt++ )
      { for (cmdstpt = 0 ; cmdstpt < 40 ; cmdstpt ++)
            { ch = *(cmdtbl + cmdpt);
              if ( ch == '\n' || ch == NULL || ch == 0x2c || ch == 0x3b) break;
                             /* ｸｷﾞﾘ ﾓｼﾞ (,;) ｵﾖﾋﾞ ｼｭｳﾘｮｳ (cr) ｹﾝｼｭﾂ */
              *(cmdstr + cmdstpt) = ch;   /* ｺﾏﾝﾄﾞ ﾓｼﾞ ｶｸﾉｳ */
              cmdpt++ ; if (cmdpt >= 80) break;  
            }
        if (cmdstpt == 0) break;     /*  ,cr or ;cr ﾀｲｻｸ  */
        *(cmdstr + cmdstpt) = NULL;

    /* コマンド文字列正規化処理 */
        if (! strcmp(cmdstr,"F0") || ! strcmp(cmdstr,"F 0")) strcpy(cmdstr,"F A");
        if (! strcmp(cmdstr,"f0") || ! strcmp(cmdstr,"f 0")) strcpy(cmdstr,"F A");
        if (! strcmp(cmdstr,"?") ) strcpy(cmdstr,"H");
        
      /* sprintf(ssent,"\n: ｼﾞｯｺｳ ｺﾏﾝﾄﾞ = %s\n\n",cmdstr); */
     /* rsout(); */
                                     /* ｺﾏﾝﾄﾞ ﾁｭｳｼｭﾂ  ｶﾝﾘｮｳ */

        strncpy(wjunle,cmdstr,8);    /* ｼﾞｬﾝﾙ ｻｰﾁ ﾖｳ ﾓｼﾞ ﾚﾂ ﾍ ｺﾋﾟｰ */
	    *(wjunle + 8) = NULL;
        for (i = 0; i < 8 ; i++)
            {    if (islower(*(wjunle + i)) )  *(wjunle + i) -= 0x20;  }        
                                     /* ｵｵﾓｼﾞ ﾍﾝｶﾝ */
        sepcmd();

        psw = execmd();

        if ( psw == 9 ) { psw = 0; break;}        
        if ( psw == 8 ) { cmdpt = -1; continue; }
        psw = 1;
        if (ch == 0x0d || ch == NULL) break;  /* ﾁｭｳｼｭﾂ ｹｲｿﾞｸ ｼｮﾘ ﾊﾝﾀﾞﾝ */
        sep_cnt++;
        } 
      }

	return(0);
 }              

