From 62afe606a355581c5b48cca361478c43fb6ae4cf Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Sun, 19 Apr 2020 22:27:11 +0200 Subject: Well well well that wasn't too bad, now remake everything --- libft/src/ft_printf_put_str.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 libft/src/ft_printf_put_str.c (limited to 'libft/src/ft_printf_put_str.c') diff --git a/libft/src/ft_printf_put_str.c b/libft/src/ft_printf_put_str.c new file mode 100644 index 0000000..6834fff --- /dev/null +++ b/libft/src/ft_printf_put_str.c @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_printf_put_str.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rbousset +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/02/14 17:06:45 by rbousset #+# #+# */ +/* Updated: 2020/02/14 17:06:45 by rbousset ### ########lyon.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include + +void + ft_printf_put_s(va_list arg, t_printflist *pflist) +{ + char *str; + char *nstr; + + pflist->conv = 's'; + str = va_arg(arg, char*); + if (!str) + str = "(null)"; + pflist->putlen += ft_printf_get_s_putlen(str, pflist); + ft_printf_put_width_pre(pflist); + if ((int)ft_strlen(str) > pflist->putlen) + { + ft_printf_cat_output(nstr = ft_substr(str, 0, pflist->putlen), + pflist->putlen, pflist); + ft_memdel((void**)&nstr); + } + else + ft_printf_cat_output(str, pflist->putlen, pflist); + ft_printf_put_width_post(pflist); +} -- cgit v1.2.3