quote marking: single-quotes are marked

This commit is contained in:
Khaïs COLIN 2025-03-06 15:06:31 +01:00
parent e99c7e5986
commit c1f337af01
Signed by: logistic-bot
SSH key fingerprint: SHA256:RlpiqKeXpcPFZZ4y9Ou4xi2M8OhRJovIwDlbCaMsuAo
3 changed files with 23 additions and 6 deletions

View file

@ -6,7 +6,7 @@
/* By: khais <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/20 14:00:45 by khais #+# #+# */
/* Updated: 2025/02/21 12:39:17 by khais ### ########.fr */
/* Updated: 2025/03/06 15:18:41 by khais ### ########.fr */
/* */
/* ************************************************************************** */
@ -21,6 +21,7 @@ typedef struct s_token_build
{
t_wordlist *wordlist;
t_buffer *cur_token;
t_buffer *cur_marker;
char cur_flags;
bool currently_in_word;
bool currently_in_operator;

View file

@ -6,7 +6,7 @@
/* By: khais <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/20 14:02:29 by khais #+# #+# */
/* Updated: 2025/02/21 12:38:27 by khais ### ########.fr */
/* Updated: 2025/03/06 16:51:58 by khais ### ########.fr */
/* */
/* ************************************************************************** */
@ -18,10 +18,13 @@ void delimit(t_token_build *builder)
if (builder->cur_token == NULL)
return ;
builder->wordlist = wordlist_push(builder->wordlist,
worddesc_create(builder->cur_token->buffer, builder->cur_flags));
worddesc_create(builder->cur_token->buffer,
builder->cur_flags, builder->cur_marker->buffer));
free(builder->cur_token);
free(builder->cur_marker);
builder->cur_flags = 0;
builder->cur_token = NULL;
builder->cur_marker = NULL;
builder->currently_in_word = false;
builder->currently_in_operator = false;
}
@ -30,6 +33,12 @@ void push_char(t_token_build *builder, char c)
{
if (builder->cur_token == NULL)
builder->cur_token = ft_buffer_new();
if (builder->cur_marker == NULL)
builder->cur_marker = ft_buffer_new();
if (builder->quote == '\0' || c == builder->quote)
ft_buffer_pushchar(builder->cur_marker, ' ');
else
ft_buffer_pushchar(builder->cur_marker, builder->quote);
ft_buffer_pushchar(builder->cur_token, c);
}