summaryrefslogtreecommitdiff
path: root/src/ft_printf.c
diff options
context:
space:
mode:
authorDominik Kaiser2024-03-18 11:37:50 +0100
committerDominik Kaiser2024-03-18 11:37:50 +0100
commit0fb01c961c92e54e04ad4c7881805db597089863 (patch)
tree2b2d020d4175694347da55070c4f52985eacf697 /src/ft_printf.c
parentb3bb3f0889cb01e6a1064a13b718f623bdc5a1e2 (diff)
downloadft_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/ft_printf.c')
-rw-r--r--src/ft_printf.c90
1 files changed, 0 insertions, 90 deletions
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);
-}