diff --git a/ft_printf.c b/ft_printf.c index ed2733a..f03ef69 100644 --- a/ft_printf.c +++ b/ft_printf.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/11/17 16:48:37 by adjoly #+# #+# */ -/* Updated: 2023/11/20 16:09:16 by adjoly ### ########.fr */ +/* Updated: 2023/11/22 13:01:29 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,12 +16,14 @@ int ft_putaddr(void *ptr) { int r; + if (ptr == NULL) + return (write(1, "(nil)", 5)); write(1, "0x", 2); r = ft_putnbrbase((long unsigned int)ptr, "0123456789abcdef"); return (2 + r); } -int ft_putnbrulong(unsigned long n) +int ft_putnbrulong(unsigned int n) { int len; @@ -46,17 +48,17 @@ int ft_printconversion(char conversion, va_list args) else if (conversion == 's') count = ft_putstr(va_arg(args, char *)); else if (conversion == 'c') - count = ft_putchar(va_arg(args, char *)[0]); + count = ft_putchar(va_arg(args, int)); else if (conversion == 'i' || conversion == 'd') count = ft_putnbr(va_arg(args, int)); else if (conversion == 'u') - count = ft_putnbrulong(va_arg(args, unsigned long)); + count = ft_putnbrulong(va_arg(args, unsigned int)); else if (conversion == 'p') count = ft_putaddr(va_arg(args, void *)); else if (conversion == 'x') - count = ft_putnbrbase(va_arg(args, unsigned int), "0123456789abcdef"); + count = ft_putnbrbase(va_arg(args, unsigned long), "0123456789abcdef"); else if (conversion == 'X') - count = ft_putnbrbase(va_arg(args, unsigned int), "0123456789ABCDEF"); + count = ft_putnbrbase(va_arg(args, unsigned long), "0123456789ABCDEF"); return (count); } diff --git a/ft_printf.h b/ft_printf.h index ff61971..f21ff19 100644 --- a/ft_printf.h +++ b/ft_printf.h @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/11/17 16:50:36 by adjoly #+# #+# */ -/* Updated: 2023/11/20 15:52:59 by adjoly ### ########.fr */ +/* Updated: 2023/11/22 11:24:27 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,11 +19,11 @@ int ft_printf(const char *format, ...); int ft_printconversion(char conversion, va_list args); -int ft_putnbrulong(unsigned long n); +int ft_putnbrulong(unsigned int n); int ft_putaddr(void *ptr); int ft_putstr(char *s); -int ft_putnbrbase(int n, char *base); +int ft_putnbrbase(unsigned long int n, char *base); int ft_putchar(char c); int ft_putnbr(int n); size_t ft_strlen(const char *s); diff --git a/ft_printf.o b/ft_printf.o new file mode 100644 index 0000000..5b996fb Binary files /dev/null and b/ft_printf.o differ diff --git a/ft_putchar.c b/ft_putchar.c index 5921424..7436489 100644 --- a/ft_putchar.c +++ b/ft_putchar.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/11/18 10:49:00 by adjoly #+# #+# */ -/* Updated: 2023/11/20 15:51:04 by adjoly ### ########.fr */ +/* Updated: 2023/11/22 11:07:22 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_putchar.o b/ft_putchar.o new file mode 100644 index 0000000..bcef31d Binary files /dev/null and b/ft_putchar.o differ diff --git a/ft_putnbr.c b/ft_putnbr.c index cc3a098..cf709ff 100644 --- a/ft_putnbr.c +++ b/ft_putnbr.c @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/10/31 11:52:46 by adjoly #+# #+# */ -/* Updated: 2023/11/20 16:00:22 by adjoly ### ########.fr */ +/* Updated: 2023/11/22 10:51:24 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,7 +20,7 @@ int ft_putnbr(int n) len = 0; if (n < 0) { - write(1, "-", 1); + len += write(1, "-", 1); nbr = -n; } else diff --git a/ft_putnbr.o b/ft_putnbr.o new file mode 100644 index 0000000..393d144 Binary files /dev/null and b/ft_putnbr.o differ diff --git a/ft_putnbrbase.c b/ft_putnbrbase.c index 9d15ba8..7e3073a 100644 --- a/ft_putnbrbase.c +++ b/ft_putnbrbase.c @@ -6,16 +6,16 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/11/18 10:57:44 by adjoly #+# #+# */ -/* Updated: 2023/11/20 16:16:34 by adjoly ### ########.fr */ +/* Updated: 2023/11/22 13:21:55 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ #include "ft_printf.h" -int ft_putnbrbase(int n, char *base) +int ft_putnbrbase(unsigned long int n, char *base) { - int base_len; - int len; + unsigned long int base_len; + int len; len = 0; base_len = (int)ft_strlen(base); diff --git a/ft_putnbrbase.o b/ft_putnbrbase.o new file mode 100644 index 0000000..1cff54c Binary files /dev/null and b/ft_putnbrbase.o differ diff --git a/ft_putstr.o b/ft_putstr.o new file mode 100644 index 0000000..ecfa1a3 Binary files /dev/null and b/ft_putstr.o differ diff --git a/ft_strlen.o b/ft_strlen.o new file mode 100644 index 0000000..6b9b640 Binary files /dev/null and b/ft_strlen.o differ diff --git a/libftprintf.a b/libftprintf.a new file mode 100644 index 0000000..20a55e9 Binary files /dev/null and b/libftprintf.a differ