summaryrefslogtreecommitdiff
path: root/libft/ft_puti128_fd.c
diff options
context:
space:
mode:
Diffstat (limited to 'libft/ft_puti128_fd.c')
-rw-r--r--libft/ft_puti128_fd.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/libft/ft_puti128_fd.c b/libft/ft_puti128_fd.c
new file mode 100644
index 0000000..a8bc0fe
--- /dev/null
+++ b/libft/ft_puti128_fd.c
@@ -0,0 +1,37 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_puti128_fd.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: kdx <kdx @student.42angouleme.fr +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2022/09/29 02:29:50 by kdx #+# #+# */
+/* Updated: 2022/10/04 05:53:17 by kdx ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+size_t ft_puti128_fd(t_i128 n, int fd)
+{
+ t_u128 v;
+ t_u128 div;
+ size_t rv;
+
+ rv = 0;
+ v = n;
+ if (n < 0)
+ {
+ rv += ft_putchar_fd('-', fd);
+ v = -n;
+ }
+ div = 1;
+ while (div <= v / 10)
+ div *= 10;
+ while (div > 0)
+ {
+ rv += ft_putchar_fd('0' + v / div % 10, fd);
+ div /= 10;
+ }
+ return (rv);
+}