void ft_alias(char **tab) { if (tab[1] && tab[2]) { g_alias = del_alias(g_alias, tab[1]); g_alias = add_alias(g_alias, tab[1], tab[2]); } else show_alias(g_alias); }
int builtin_alias(t_global *global, char **cmd) { int len; char *alias; alias = NULL; len = my_tablen(cmd); if (len == 1 && global->config != NULL) show_alias(global->config->alias, NULL); else if (len >= 3 && global->config != NULL) { alias = alias_concat(&cmd[2]); my_putalias(&global->config->alias, cmd[1], alias); (alias) ? free(alias) : (alias = NULL); } else if (len == 2 && global->config != NULL) show_alias(global->config->alias, cmd[1]); else return (EXIT_FAILURE); return (EXIT_SUCCESS); }
void create_my_alias(int argc, char **argv) { char *cmd; char *alias; if (argc == 2) { if (!(verify_alias(argv[1], &alias, &cmd))) putalias(alias, cmd); else return ; } else if (argc == 1) show_alias(); else ft_error_alias(0, NULL); }
void exe_alias(char **args, int argc, struct alias_List * list) { char buf[256+1]; if(argc==1){ //show the alias list. // printf("%s\n", "show alias"); show_alias(list); return; } else if(argc==2){ if(strcmp(args[1],"-a")==0){ // add here if have time! // remove all the node in alias list alias_List_remove_all(list); return; }else{ // printf("%s\n", "add or check alias"); if(strlen(args[1])>256){ fprintf(stderr, "%s\n", "alias: too long"); return; } strncpy(buf,args[1],strlen(args[1])+1); buf[strlen(args[1])]='\0'; char *left; char *right; parseAlias(buf,&left,&right); if(!right){ //add new show_alias_one(list,left); }else{ // printf("%s\n", "add"); //add the alias to the list if(check_alias(list,left)){ update_alias(list,left,right); }else{ char *left_value = calloc(strlen(left)+1,sizeof(char)); strncpy(left_value,left,strlen(left)+1); char *right_value = calloc(strlen(right)+1,sizeof(char)); strncpy(right_value,right,strlen(right)+1); alias_List_push(list,left_value,right_value); } } } } else { fprintf(stderr, "%s\n", "format error"); } }