mirror of
https://github.com/KeyZox71/ft_minipowershell.git
synced 2025-03-15 03:16:51 +01:00
「🔨」 fix(format_quotes): fixed quotes in expanded variables
This commit is contained in:
@ -6,19 +6,28 @@
|
|||||||
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
|
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/07/03 10:50:52 by mmoussou #+# #+# */
|
/* Created: 2024/07/03 10:50:52 by mmoussou #+# #+# */
|
||||||
/* Updated: 2024/07/21 13:07:26 by mmoussou ### ########.fr */
|
/* Updated: 2024/07/21 18:39:15 by mmoussou ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "minishell.h"
|
#include "minishell.h"
|
||||||
|
|
||||||
|
void copy_char(char *cmd, int i, char c)
|
||||||
|
{
|
||||||
|
if (c == -1)
|
||||||
|
c = SINGLE;
|
||||||
|
else if (c == -2)
|
||||||
|
c = DOUBLE;
|
||||||
|
cmd[i] = c;
|
||||||
|
}
|
||||||
|
|
||||||
void copy_until_next(char *cmd, char quote, uint *i, uint *i_offset)
|
void copy_until_next(char *cmd, char quote, uint *i, uint *i_offset)
|
||||||
{
|
{
|
||||||
(*i_offset)++;
|
(*i_offset)++;
|
||||||
(*i)++;
|
(*i)++;
|
||||||
while (cmd[*i] && cmd[*i] != quote)
|
while (cmd[*i] && cmd[*i] != quote)
|
||||||
{
|
{
|
||||||
cmd[*i - *i_offset] = cmd[*i];
|
copy_char(cmd, *i - *i_offset, cmd[*i]);
|
||||||
(*i)++;
|
(*i)++;
|
||||||
}
|
}
|
||||||
(*i_offset)++;
|
(*i_offset)++;
|
||||||
@ -38,7 +47,7 @@ char *format_quotes_string(char *cmd)
|
|||||||
else if (cmd[i] == DOUBLE)
|
else if (cmd[i] == DOUBLE)
|
||||||
copy_until_next(cmd, DOUBLE, &i, &i_offset);
|
copy_until_next(cmd, DOUBLE, &i, &i_offset);
|
||||||
else
|
else
|
||||||
cmd[i - i_offset] = cmd[i];
|
copy_char(cmd, i - i_offset, cmd[i]);
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
cmd[i - i_offset] = 0;
|
cmd[i - i_offset] = 0;
|
||||||
|
Reference in New Issue
Block a user