char *assign(char *name,char *value) { if (!symtab) shellinit(); if (!value) { HashTableRemove(symtab,name); } else { HashTableInsert(symtab,name,value); } return value; }
main(){ // set environment variables // set main settings shellinit(); shellSplash(); // Disable interrupt signals, i.e., keyboard interrupts signal(SIGINT, SIG_IGN); while(1){ // shell loop TURTLE_PROMPT; yyparse(); execute_cmd(); } // Exit gracefully return 0; }
char *var(char *name) { char *ret; if (!symtab) { shellinit(); return nullstring; } ret = HashTableLookup(symtab,name); return ret ? ret : nullstring; }