/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* drawio_ast_utils.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: nalebrun +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/01/29 09:21:09 by nalebrun #+# #+# */ /* Updated: 2025/01/29 09:21:09 by nalebrun ### ########.fr */ /* */ /* ************************************************************************** */ #include "../../../includes/minishell.h" const char *translate_state(t_state state) { const char *out; if (state == _AND) out = "CMD_AND"; else if (state == _OR) out = "CMD_OR"; else if (state == _PLINE) out = "CMD_PIPELINE"; else if (state == _CMD) out = "SIMPLE_CMD"; else if (state == _SUBSH) out = "SUBSHELL"; else out = "UNDEFINED"; return (out); } // const char *translate_redir(t_redir redir) // { // const char *out; // // if (redir == _RED_L) // out = "redir : RED_L "; // else if (redir == _RED_R) // out = "redir : RED_R "; // else if (redir == _RED_DR) // out = "redir : _RED_DR "; // else // out = "Not redirected "; // return (out); // } t_dio_node get_cmd_txt(t_ast_n *node) { t_dio_node txt; char *args; txt.st = translate_state(node->state); if (node->state == _CMD) { txt.cmd = ft_sprintf("%s%s", NL, node->cmd); txt.cmd = replace_left_red(txt.cmd); args = ft_tabstr(node->args); txt.args = ft_sprintf("%s%s%s", NL, args, NL); free(args); // txt.redir = translate_redir(node->redir); // txt.inf = ft_sprintf("Infile : %s%s", node->infile, NL); // txt.outf = ft_sprintf("Outfile : %s", node->outfile); txt.files = ft_sprintf("redir: UNCHECKED\n"); } else { txt.cmd = ft_calloc(1, 1); txt.args = ft_calloc(1, 1); txt.files = ft_calloc(1, 1); } return (txt); }