aboutsummaryrefslogtreecommitdiff
path: root/src/io/ft_printf/internals/parse.c
diff options
context:
space:
mode:
authorCharles Cabergs <me@cacharle.xyz>2020-10-11 14:05:28 +0200
committerCharles Cabergs <me@cacharle.xyz>2020-10-11 14:05:28 +0200
commit783260a4c01ebfe4b4bcfc56d57a4d99603f904f (patch)
tree6ba1739662577db701969e33a79676c8f0460413 /src/io/ft_printf/internals/parse.c
parentc33343322ef66d96337533082313b1256862023a (diff)
downloadlibft-783260a4c01ebfe4b4bcfc56d57a4d99603f904f.tar.gz
libft-783260a4c01ebfe4b4bcfc56d57a4d99603f904f.tar.bz2
libft-783260a4c01ebfe4b4bcfc56d57a4d99603f904f.zip
Norming and removing ft_printf,heapsort
Diffstat (limited to 'src/io/ft_printf/internals/parse.c')
-rw-r--r--src/io/ft_printf/internals/parse.c61
1 files changed, 0 insertions, 61 deletions
diff --git a/src/io/ft_printf/internals/parse.c b/src/io/ft_printf/internals/parse.c
deleted file mode 100644
index 4650481..0000000
--- a/src/io/ft_printf/internals/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)->data->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);
-}