Path: blob/main/delete_quotes/delete_quotes_utils.c
1407 views
/* ************************************************************************** */1/* */2/* ::: :::::::: */3/* delete_quotes_utils.c :+: :+: :+: */4/* +:+ +:+ +:+ */5/* By: yabtaour <[email protected]> +#+ +:+ +#+ */6/* +#+#+#+#+#+ +#+ */7/* Created: 2022/07/26 18:16:03 by yabtaour #+# #+# */8/* Updated: 2022/07/26 19:36:12 by yabtaour ### ########.fr */9/* */10/* ************************************************************************** */1112#include "../minishell.h"1314int ft_real_len(char *cmd)15{16int len;17int flag_d;18int flag_s;19int i;2021i = 0;22len = 0;23flag_d = 0;24flag_s = 0;25while (cmd[i])26{27if (cmd[i] == '"' && flag_s == 0)28{29len++;30flag_d = ft_change_flag(flag_d);31}32if (cmd[i] == '\'' && flag_d == 0)33{34len++;35flag_s = ft_change_flag(flag_s);36}37i++;38}39return (len);40}4142int ft_len(char *cmd)43{44int i;45int flag_s;46int flag_d;47int len;4849i = 0;50flag_d = 0;51flag_s = 0;52len = 0;53while (cmd[i])54{55if (cmd[i] == '"' && flag_s == 0)56{57len++;58flag_d = ft_change_flag(flag_d);59}60if (cmd[i] == '\'' && flag_d == 0)61{62len++;63flag_s = ft_change_flag(flag_s);64}65i++;66}67return (len);68}6970int *ft_fill_index(int *index, char *cmd)71{72int i;73int len;74int flag_d;75int flag_s;7677i = -1;78len = 0;79flag_d = 0;80flag_s = 0;81while (cmd[++i])82{83if (cmd[i] == '"' && flag_s == 0)84{85index[len] = i;86len++;87flag_d = ft_change_flag(flag_d);88}89if (cmd[i] == '\'' && flag_d == 0)90{91index[len] = i;92len++;93flag_s = ft_change_flag(flag_s);94}95}96return (index);97}9899int *ft_get_index(char *cmd, int type)100{101int *index;102103index = NULL;104if (type == 1)105{106index = malloc (sizeof(int) * ft_len(cmd));107if (!index)108exit (1);109index = ft_fill_index(index, cmd);110}111return (index);112}113114115