Esempio n. 1
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,"bios")){
		error = s_checkBIOS(hasParameter, shellbuff.parameter);
	}
	else if(!strcmp(shellbuff.command, "exit")){
		error = s_exit(hasParameter, shellbuff.parameter);
	}
	else if(!strcmp(shellbuff.command, "reboot")){
		error = s_k_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,"timestyle")){
		error = s_timestyle(hasParameter, shellbuff.parameter);
	}
	else if(!strcmp(shellbuff.command,"bkg")){
		error = s_bkg(hasParameter, shellbuff.parameter);
	}
	else if(!strcmp(shellbuff.command,"logout")){
		error = s_logout(hasParameter, shellbuff.parameter);
	}
	else if(!strcmp(shellbuff.command,"cpu")){
		error = s_cpu(hasParameter, shellbuff.parameter);
	}
	else if(!strcmp(shellbuff.command,"mouse")){
		error = s_mouse(hasParameter, shellbuff.parameter);
	}
	else {
		s_printError("COMMAND NOT FOUND\n");
		s_beep();
	}
	// Print error messages if needed
	switch(error){
		case 1:
			s_printAlert("Too many arguments.\n");
			break;
		case 2:
			s_printAlert("Too few arguments.\n");
			break;
		case 3:
			s_printAlert("Invalid argument.\n");
			break;
		case 4:
			s_printAlert("This command doesn't receive parameters.\n");
			break;
		default:
			break;
	}
	return;
}
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;
}