summaryrefslogtreecommitdiff
path: root/libft/ft_putu128x_fd.c
diff options
context:
space:
mode:
Diffstat (limited to 'libft/ft_putu128x_fd.c')
-rw-r--r--libft/ft_putu128x_fd.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/libft/ft_putu128x_fd.c b/libft/ft_putu128x_fd.c
new file mode 100644
index 0000000..01989b4
--- /dev/null
+++ b/libft/ft_putu128x_fd.c
@@ -0,0 +1,34 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_putu128x_fd.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: kdx <kdx @student.42angouleme.fr +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2022/09/29 02:29:50 by kdx #+# #+# */
+/* Updated: 2022/10/04 05:58:16 by kdx ### ########.fr */
+/* */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+size_t ft_putu128x_fd(t_u128 n, int fd, int capitalize)
+{
+ t_u128 div;
+ size_t rv;
+ const char *set;
+
+ set = "0123456789abcdef";
+ if (capitalize)
+ set = "0123456789ABCDEF";
+ rv = 0;
+ div = 1;
+ while (div <= n / 16)
+ div *= 16;
+ while (div > 0)
+ {
+ rv += ft_putchar_fd(set[n / div % 16], fd);
+ div /= 16;
+ }
+ return (rv);
+}