int s_k_reboot(int hp, char* p){ if(hp){ return 4; }else{ s_reboot(); return 0; } }
void parsecommand(char* s){ int clength = 0; int error = 0; int hasParameter = 0; getCommand(s); clength = strlen(shellbuff.command); if(shellbuff.buffer[clength]==' '){ hasParameter = 1; getParameter(shellbuff.buffer, clength); } // Execute the requested command if(!strcmp(shellbuff.command,"test")){ error = s_test(hasParameter, shellbuff.parameter); } if(!strcmp(shellbuff.command,"help")){ error = s_help(hasParameter, shellbuff.parameter); } else if(!strcmp(shellbuff.command, "reboot")){ error = s_reboot(hasParameter, shellbuff.parameter); } else if(!strcmp(shellbuff.command,"clear")){ error = s_clear(hasParameter, shellbuff.parameter); } else if(!strcmp(shellbuff.command,"about")){ error = s_about(hasParameter, shellbuff.parameter); } else if(!strcmp(shellbuff.command,"time")){ error = s_time(hasParameter, shellbuff.parameter); } else if(!strcmp(shellbuff.command,"bkg")){ error = s_bkg(hasParameter, shellbuff.parameter); } else if(!strcmp(shellbuff.command,"ssavercolor")){ error = s_ssavercolor(hasParameter, shellbuff.parameter); } else if(!strcmp(shellbuff.command,"ssavertime")){ error = s_ssavertime(hasParameter, shellbuff.parameter); } else if(!strcmp(shellbuff.command,"timestyle")){ error = s_timestyle(hasParameter, shellbuff.parameter); } else { printerror("COMMAND NOT FOUND\n"); } // Print error messages if needed switch(error){ case 1: printwarning("Too many arguments.\n"); break; case 2: printwarning("Too few arguments.\n"); break; case 3: printwarning("Invalid argument.\n"); break; case 4: printwarning("This command doesn't receive parameters.\n"); break; default: break; } return; }