Looks pretty good..
Still needs indentation work :)
> cmd=(char **)malloc(sizeof(char *)*strlen(input));
Probably won't need to be that big.. but I can see where it's less work.
> else{
> printf("Invalid Command '%s'.\n\r", *cmd);
> return;
> }
cmd is never freed in the case that the command isn't found in the table.
My interpreter uses a hash table. I'm not sure that it actually speeds
things up, I just have a thing for hash tables. About to put my skill/spell
table in one as soon as I find an exceptionally round tuit.
--Palrich