#include <string.h>

#include "extern.h"

/* ｶｸｼｭ ｺﾏﾝﾄﾞ ｼﾞｯｺｳ ｼｮﾘ */

execmd()                /* ｺﾏﾝﾄﾞ ﾊﾝﾀﾞﾝ ｵﾖﾋﾞ ｼﾞｯｺｳ ｷﾄﾞｳ  */
        {       char  chs[9];
           
                if (exejul())      return(0);

                if  ( ! strcmp(nowjle,mailjle) )   mail = 1;  else  mail = 0;
                strcpy(chs,"BBS"); if (cmpcmd(chs) ) { julans();   return(0);}
                strcpy(chs,"AUTO");if (cmpcmd(chs) ) { exeauto();  return(8);}
                strcpy(chs,"HELP");if (cmpcmd(chs) ) { exehelp();  return(0);}
                strcpy(chs,"NODE");if (cmpcmd(chs) ) { exenode();  return(0);}
                strcpy(chs,"NODES");if (cmpcmd(chs) ) { exenode();  return(0);}
                strcpy(chs,"RENAME");if (cmpcmd(chs) )
                                                    { exerename();  return(0);}
                strcpy(chs,"REWRITE");if (cmpcmd(chs) )
                                                   { exerewrite();  return(0);}
                strcpy(chs,"RECALL");if (cmpcmd(chs) )
                                                    { exerecall();  return(0);}
                strcpy(chs,"SEEK");if (cmpcmd(chs) ) { exeseek();  return(0);}
                strcpy(chs,"SIGNUP");if (cmpcmd(chs) ) { exesign();  return(0);}
                strcpy(chs,"FA");  if (cmpcmd(chs) )
              { *(command + 1) = NULL; *(cmdopt) = 'A'; *(cmdopt + 1) = NULL; }
                strcpy(chs,"RN");  if (cmpcmd(chs) )
              { *(command + 1) = NULL; *(cmdopt) = 'N'; *(cmdopt + 1) = NULL; }
                strcpy(chs,"WA");  if (cmpcmd(chs) )
              { *(command + 1) = NULL; *(command) = 'A'; *(cmdopt) = NULL; }

         if ( strlen(command) == 1 )
          {
                strcpy(chs,"H");  if ( cmpcmd(chs) ) { exehelp();  return(0);}
                strcpy(chs,"?");  if ( cmpcmd(chs) ) { exehelp();  return(0);}
                strcpy(chs,"U");  if ( cmpcmd(chs) ) { exeuser();  return(0);}
                strcpy(chs,"L");  if ( cmpcmd(chs) ) { exelog();   return(0);}
                strcpy(chs,"A");  if ( cmpcmd(chs) ) { exeadd();   return(0);}

                strcpy(chs,"W");  if ( cmpcmd(chs) ) 
                      {if(*(cmdopt) == 'A') {exeadd(); return(0);}}
                strcpy(chs,"W");  if ( cmpcmd(chs) )
                                     { if ( mail ) { mlwrite();  return(0); }
                                            else   { exewrite(); return(0); }
                                     }
                strcpy(chs,"F");  if ( cmpcmd(chs) ) { exefind();  return(0);}
                strcpy(chs,"R");  if ( cmpcmd(chs) ) { exeread();  return(0);}
                strcpy(chs,"K");  if ( cmpcmd(chs) ) { exedlt();   return(0);}
              
                   
                strcpy(chs,"B");  if ( cmpcmd(chs) )
                                     { if (exebye()) {return(9);}  return(8);}
                strcpy(chs,"D");  if ( cmpcmd(chs) )
                                     { if (exebye()) {return(9);}  return(8);}
			}

                strcpy(chs,"BYE");if ( cmpcmd(chs) )
                                     { if (exebye()) {return(9);}  return(8);}
                strcpy(chs,"AGAIN"); if ( cmpcmd(chs) )
                                     { strcpy(statdate,lastdate);
                                       strcpy(stattime,lasttime);
                                                       return(9);  }
                strcpy(chs,"OPCALL"); if( cmpcmd(chs) )
                                     { opecall(); return(0);}
                strcpy(chs,"SELECT");if( cmpcmd(chs) ) { bselect();
														 return(0); }
                strcpy(chs,"MOVE");  if( cmpcmd(chs) ) { chgjul(); return(0); }
                strcpy(chs,"CUG");  if( cmpcmd(chs) && chkcug() ) { return(0);}
                strcpy(chs,"CLOCKSET"); if( cmpcmd(chs) )
                                     { clockset(); return(0); }
                strcpy(chs,"EXPERT");if (cmpcmd(chs)) { expert(); return(0);}
                strcpy(chs,"FORWARD"); if( cmpcmd(chs) )
                                     { if  ( exeforward() )  return(9);}
                strcpy(chs,"RSHELL");
                                   if( cmpcmd(chs) && ! strcmp(hiscall,sigop) )
                                                     { exeshell(); return(0); }
                
              strcpy(ssent,"! コマンド または ボード名 に誤まりがあります\n");
              if ( exp_flg ) strcpy(ssent,"?\n");
              rsout(); return(0); 
        }
        
