diff options
| author | Dominik Kaiser | 2024-03-18 11:37:50 +0100 |
|---|---|---|
| committer | Dominik Kaiser | 2024-03-18 11:37:50 +0100 |
| commit | 0fb01c961c92e54e04ad4c7881805db597089863 (patch) | |
| tree | 2b2d020d4175694347da55070c4f52985eacf697 /src | |
| parent | b3bb3f0889cb01e6a1064a13b718f623bdc5a1e2 (diff) | |
| download | ft_printf-0fb01c961c92e54e04ad4c7881805db597089863.tar.gz ft_printf-0fb01c961c92e54e04ad4c7881805db597089863.zip | |
Remove the src dir and put everything in root dir
hoping that it will appease moulinette
Diffstat (limited to 'src')
| -rw-r--r-- | src/ft_printaddr.c | 42 | ||||
| -rw-r--r-- | src/ft_printf.c | 90 | ||||
| -rw-r--r-- | src/ft_printhex.c | 44 | ||||
| -rw-r--r-- | src/ft_printnbr.c | 80 |
4 files changed, 0 insertions, 256 deletions
diff --git a/src/ft_printaddr.c b/src/ft_printaddr.c deleted file mode 100644 index 8a4ac23..0000000 --- a/src/ft_printaddr.c +++ /dev/null @@ -1,42 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_printaddr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/03/15 10:33:53 by dkaiser #+# #+# */ -/* Updated: 2024/03/15 13:19:34 by dkaiser ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "../ft_printf.h" - -static void printaddr_rec(unsigned long addr, int *len) -{ - char c; - int success; - - if (*len < 0) - return ; - if (addr % 16 < 10) - c = '0' + (addr % 16); - else - c = ('a' - 10) + (addr % 16); - if (addr > 15) - printaddr_rec(addr / 16, len); - success = write(1, &c, 1); - if (success < 0 || *len < 2) - *len = -1; - else - (*len)++; -} - -int ft_printaddr(void *addr) -{ - int len; - - len = write(1, "0x", 2); - printaddr_rec((unsigned long)addr, &len); - return (len); -} diff --git a/src/ft_printf.c b/src/ft_printf.c deleted file mode 100644 index b107513..0000000 --- a/src/ft_printf.c +++ /dev/null @@ -1,90 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_printf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/03/12 18:18:59 by dkaiser #+# #+# */ -/* Updated: 2024/03/15 13:05:57 by dkaiser ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "../ft_printf.h" - -static int print_char(char c) -{ - return (write(1, &c, 1)); -} - -static int print_str(char *str) -{ - int success; - int len; - - if (str) - { - len = 0; - while (str[len]) - len++; - success = write(1, str, len); - if (success < 0) - return (-1); - return (len); - } - else - { - success = write(1, "(null)", 6); - if (success == 6) - return (6); - return (-1); - } -} - -static int print_conv(va_list args, char c) -{ - if (c == 'c') - return (print_char(va_arg(args, int))); - if (c == 's') - return (print_str(va_arg(args, char *))); - if (c == 'p') - return (ft_printaddr(va_arg(args, void *))); - if (c == 'd' || c == 'i') - return (ft_printnbr(va_arg(args, int))); - if (c == 'u') - return (ft_printunbr(va_arg(args, unsigned int))); - if (c == 'x' || c == 'X') - return (ft_printhex(va_arg(args, unsigned int), c)); - if (c == '%') - return (print_char('%')); - return (-1); -} - -int ft_printf(const char *fmt, ...) -{ - int result; - int last_result; - int success; - va_list args; - - result = 0; - va_start(args, fmt); - while (*fmt) - { - last_result = result; - if (*fmt == '%') - result += print_conv(args, *(++fmt)); - else - { - success = write(1, fmt, 1); - if (success <= 0) - return (-1); - result++; - } - fmt++; - if (result < last_result) - return (-1); - } - va_end(args); - return (result); -} diff --git a/src/ft_printhex.c b/src/ft_printhex.c deleted file mode 100644 index d65de1c..0000000 --- a/src/ft_printhex.c +++ /dev/null @@ -1,44 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_printhex.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/03/13 15:50:35 by dkaiser #+# #+# */ -/* Updated: 2024/03/15 12:40:38 by dkaiser ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "../ft_printf.h" - -static void printhex_rec(unsigned int nbr, char fmt, int *len) -{ - char c; - int success; - - if (*len < 0) - return ; - if (nbr % 16 < 10) - c = '0' + (nbr % 16); - else - c = (fmt - 33) + (nbr % 16); - if (nbr > 15) - printhex_rec(nbr / 16, fmt, len); - if (*len < 0) - return ; - success = write(1, &c, 1); - if (success < 0) - *len = -1; - else - (*len)++; -} - -int ft_printhex(unsigned int nbr, char fmt) -{ - int len; - - len = 0; - printhex_rec(nbr, fmt, &len); - return (len); -} diff --git a/src/ft_printnbr.c b/src/ft_printnbr.c deleted file mode 100644 index 282e7a8..0000000 --- a/src/ft_printnbr.c +++ /dev/null @@ -1,80 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_printnbr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/03/13 15:18:40 by dkaiser #+# #+# */ -/* Updated: 2024/03/15 12:40:43 by dkaiser ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "../ft_printf.h" - -static void printnbr_rec(int n, int *len) -{ - char c; - int success; - - if (*len < 0) - return ; - c = '0' + n % 10; - if (n > 9) - printnbr_rec(n / 10, len); - if (*len < 0) - return ; - success = write(1, &c, 1); - if (success < 0) - *len = -1; - else - (*len)++; -} - -int ft_printnbr(int nbr) -{ - int len; - - len = 0; - if (nbr == -2147483648) - return (write(1, "-2147483648", 11)); - if (nbr < 0) - { - len = write(1, "-", 1); - nbr *= -1; - } - printnbr_rec(nbr, &len); - if (len < 0) - return (-1); - return (len); -} - -static void printunbr_rec(unsigned int n, int *len) -{ - char c; - int success; - - if (*len < 0) - return ; - c = '0' + n % 10; - if (n > 9) - printunbr_rec(n / 10, len); - if (*len < 0) - return ; - success = write(1, &c, 1); - if (success < 0) - *len = -1; - else - (*len)++; -} - -int ft_printunbr(unsigned int nbr) -{ - int len; - - len = 0; - printunbr_rec(nbr, &len); - if (len < 0) - return (-1); - return (len); -} |
