/*********************************************************************/ /* file: alias.c - funtions related the the alias command */ /* TINTIN III */ /* (T)he K(I)cki(N) (T)ickin D(I)kumud Clie(N)t */ /* coded by peter unold 1992 */ /*********************************************************************/ #include <string.h> #include "tintin.h" extern struct listnode *common_aliases; extern char vars[10][BUFFER_SIZE]; /* the &0, &1, &2,....&9 variables */ /**********************/ /* the #alias command */ /**********************/ void alias_command(char *arg, struct session *ses) { char left[BUFFER_SIZE], right[BUFFER_SIZE]; struct listnode *myaliases, *ln; myaliases=(ses) ? ses->aliases : common_aliases; arg=get_arg_stop_spaces(arg, left); arg=get_arg_with_spaces(arg, right); if(!*left) { puts("#THESE ALIASES HAS BEEN DEFINED:"); show_list(myaliases); prompt(ses); } else if(*left && !*right) { if((ln=searchnode_list(myaliases, left))!=NULL) { shownode_list(ln); prompt(ses); } else tintin_puts("#THAT ALIAS IS NOT DEFINED.", ses); } else { if((ln=searchnode_list(myaliases, left))!=NULL) deletenode_list(myaliases, ln); insertnode_list(myaliases, left, right); tintin_puts("#OK. ALIAS DEFINED.", ses); } } /************************/ /* the #unalias command */ /************************/ void unalias_command(char *arg, struct session *ses) { char left[BUFFER_SIZE]; struct listnode *myaliases, *ln; myaliases=(ses) ? ses->aliases : common_aliases; arg=get_arg_stop_spaces(arg, left); if((ln=searchnode_list(myaliases, left))!=NULL) { deletenode_list(myaliases, ln); tintin_puts("#OK. ALIAS DELETED", ses); } else tintin_puts("#THAT ALIAS IS NOT DEFINED.", ses); }