From d63d6916249f5b40b81097854d8ca2c9d4d7d071 Mon Sep 17 00:00:00 2001 From: Charles Date: Wed, 30 Oct 2019 23:35:40 +0100 Subject: Normed converters --- header.h | 54 ++++++++++++++++++++++++------------------------------ 1 file changed, 24 insertions(+), 30 deletions(-) (limited to 'header.h') diff --git a/header.h b/header.h index e3487d2..9667772 100644 --- a/header.h +++ b/header.h @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/29 00:06:46 by cacharle #+# #+# */ -/* Updated: 2019/10/30 16:59:55 by cacharle ### ########.fr */ +/* Updated: 2019/10/30 23:13:41 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -23,7 +23,7 @@ # define HEX_MAJ_SYMBOLS "0123456789ABCDEF" # define IN_STR(str, c) (ft_strchr(str, c) != NULL) -# define IS_STANDALONE_FLAG(c) (IN_STR("0-+ #", c)) +# define IS_STANDALONE_FLAG(c) (IN_STR("0-+ #'", c)) # define CONVERSIONS_STR "cspdiuxX%" @@ -50,14 +50,14 @@ # define FLAG_LONG (1 << 10) # define FLAG_LONG_LONG (1 << 11) -#define ITOA_HEX_LOW(x) (ft_itoa_unsigned_base(x, "0123456789abcdef")) -#define ITOA_HEX_UP(x) (ft_itoa_unsigned_base(x, "0123456789ABCDEF")) -#define ITOA_DEC(x) (ft_itoa_base(x, "0123456789")) +# define ITOA_HEX_LOW(x) (ft_itoa_unsigned_base(x, "0123456789abcdef")) +# define ITOA_HEX_UP(x) (ft_itoa_unsigned_base(x, "0123456789ABCDEF")) +# define ITOA_DEC(x) (ft_itoa_base(x, "0123456789")) #include -typedef int t_bool; -typedef short t_flags; +typedef int t_bool; +typedef short t_flags; typedef struct { @@ -75,12 +75,6 @@ typedef struct s_flist t_pformat *content; } t_flist; -typedef struct -{ - char *(*func)(va_list ap, t_pformat *pformat); - char type; -} t_converter; - /* ** ft_printf.c */ @@ -98,20 +92,21 @@ t_pformat *parse_reduced(char *fmt); ** printer.c */ -char *convert(t_pformat *pformat, va_list ap); -char *convert_type(va_list ap, t_pformat *pformat); -char *handle_padding(t_pformat *pformat, char *str); -char *handle_precision(t_pformat *pformat, char *str); -char *add_hex_prefix(char *str); +char *convert(t_pformat *pformat, va_list ap); +char *convert_type(va_list ap, t_pformat *pformat); +char *handle_padding(t_pformat *pformat, char *str); +char *handle_precision(t_pformat *pformat, char *str); +char *add_hex_prefix(char *str); /* ** utils.c */ int strrchr_index(const char *s, char c); -char *ft_itoa_base(long long int n, char *base); -char *ft_itoa_unsigned_base(long long unsigned int n, char *base); -char *ft_strtoupper(char *str); +char *ft_itoa_base(long long int n, char *base); +char *ft_itoa_unsigned_base(long long unsigned int n, + char *base); +char *ft_strtoupper(char *str); /* ** extract.c @@ -120,7 +115,7 @@ char *ft_strtoupper(char *str); char *extract_standalone_flags(t_pformat *pformat, char *fmt); char *extract_min_width(t_pformat *pformat, char *fmt); char *extract_precision(t_pformat *pformat, char *fmt); -char *extract_length_modifier(t_pformat *pformat, char *fmt); +char *extract_length_modifier(t_pformat *pformat, char *fmt); /* ** list.c @@ -132,17 +127,16 @@ void list_push_front(t_flist **lst, t_flist *new); void list_pop_front(t_flist **lst); t_flist *list_reverse(t_flist *lst); - /* ** convert_*.c */ -char *convert_char(va_list ap, t_pformat *pformat); -char *convert_str(va_list ap, t_pformat *pformat); -char *convert_ptr(va_list ap, t_pformat *pformat); -char *convert_int(va_list ap, t_pformat *pformat); -char *convert_uint(va_list ap, t_pformat *pformat); -char *convert_hex(va_list ap, t_pformat *pformat); -char *convert_percent(va_list ap, t_pformat *pformat); +char *convert_char(va_list ap, t_pformat *pformat); +char *convert_str(va_list ap, t_pformat *pformat); +char *convert_ptr(va_list ap, t_pformat *pformat); +char *convert_int(va_list ap, t_pformat *pformat); +char *convert_uint(va_list ap, t_pformat *pformat); +char *convert_hex(va_list ap, t_pformat *pformat); +char *convert_percent(va_list ap, t_pformat *pformat); #endif -- cgit