aboutsummaryrefslogtreecommitdiff
path: root/ft_printf/parse.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2020-01-15 07:56:02 +0100
committerCharles <sircharlesaze@gmail.com>2020-01-15 08:49:32 +0100
commit49ad59b0e773e92e93fb69ede889c781ca53e680 (patch)
tree5ad230ddcc2198555e2b56ca84945809c137285d /ft_printf/parse.c
parent5c6d9b3ba3e4946b2a527d10109f0e82284e64c5 (diff)
downloadlibft-49ad59b0e773e92e93fb69ede889c781ca53e680.tar.gz
libft-49ad59b0e773e92e93fb69ede889c781ca53e680.tar.bz2
libft-49ad59b0e773e92e93fb69ede889c781ca53e680.zip
Move *.o -> src/, *.h -> include/ and *.o -> build
Diffstat (limited to 'ft_printf/parse.c')
-rw-r--r--ft_printf/parse.c61
1 files changed, 0 insertions, 61 deletions
diff --git a/ft_printf/parse.c b/ft_printf/parse.c
deleted file mode 100644
index 33928a0..0000000
--- a/ft_printf/parse.c
+++ /dev/null
@@ -1,61 +0,0 @@
-/* ************************************************************************** */
-/* */
-/* ::: :::::::: */
-/* parse.c :+: :+: :+: */
-/* +:+ +:+ +:+ */
-/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
-/* +#+#+#+#+#+ +#+ */
-/* Created: 2019/10/29 00:11:33 by cacharle #+# #+# */
-/* Updated: 2019/11/13 08:13:02 by cacharle ### ########.fr */
-/* */
-/* ************************************************************************** */
-
-#include "ft_vasprintf.h"
-
-int parse(const char *format, t_flist **flist)
-{
- t_flist *tmp;
- t_pformat *parsed;
-
- *flist = NULL;
- while (*format)
- {
- format++;
- if (format[-1] != '%')
- continue;
- if ((parsed = parse_reduced(format)) == NULL)
- return ((int)list_destroy(flist));
- if ((tmp = list_new(parsed)) == NULL)
- return ((int)list_destroy(flist));
- list_push_front(flist, tmp);
- format += (*flist)->content->fmt_len;
- }
- *flist = list_reverse(*flist);
- return (1);
-}
-
-t_pformat *parse_reduced(const char *fmt)
-{
- t_pformat *pformat;
- const char *start;
-
- if ((pformat = (t_pformat*)malloc(sizeof(t_pformat))) == NULL)
- return (NULL);
- pformat->precision = -1;
- pformat->width = -1;
- pformat->flags = 0;
- start = fmt;
- fmt = extract_flags(pformat, fmt);
- fmt = extract_width(pformat, fmt);
- fmt = extract_precision(pformat, fmt);
- fmt = extract_length_modifier(pformat, fmt);
- pformat->fmt_len = fmt - start + 1;
- if (*fmt == '\0' || ft_strchr(SPECIFIERS_STR, *fmt) == NULL)
- {
- pformat->fmt_len--;
- pformat->specifier = '_';
- }
- else
- pformat->specifier = *ft_strchr(SPECIFIERS_STR, *fmt);
- return (pformat);
-}