aboutsummaryrefslogtreecommitdiff
path: root/src/lexer/token.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lexer/token.c')
-rw-r--r--src/lexer/token.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/lexer/token.c b/src/lexer/token.c
index 966a443..5465b6b 100644
--- a/src/lexer/token.c
+++ b/src/lexer/token.c
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/06/09 13:38:08 by charles #+# #+# */
-/* Updated: 2020/06/15 11:38:24 by charles ### ########.fr */
+/* Updated: 2020/06/23 08:55:32 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,13 +14,22 @@
t_token *token_new(enum e_token_tag tag, char *content)
{
+ size_t len;
+
+ if (content != NULL)
+ len = ft_strlen(content);
+ return (token_new_until(tag, content, len));
+}
+
+t_token *token_new_until(enum e_token_tag tag, char *content, int n)
+{
t_token *token;
if ((token = (t_token*)malloc(sizeof(t_token))) == NULL)
return (NULL);
if (content == NULL)
token->content = NULL;
- else if ((token->content = ft_strdup(content)) == NULL)
+ else if ((token->content = ft_strndup(content, n)) == NULL)
{
free(token);
return (NULL);