aboutsummaryrefslogtreecommitdiff
path: root/utils.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils.c')
-rw-r--r--utils.c42
1 files changed, 42 insertions, 0 deletions
diff --git a/utils.c b/utils.c
new file mode 100644
index 0000000..1484165
--- /dev/null
+++ b/utils.c
@@ -0,0 +1,42 @@
+#include <unistd.h>
+#include "ft_printf.h"
+
+void ft_putchar(char c)
+{
+ write(STDOUT_FILENO, &c, 1);
+}
+
+void ft_putstr(char *str)
+{
+ while (*str)
+ write(STDOUT_FILENO, str++, 1);
+}
+
+void ft_putnbr(int n)
+{
+ unsigned int p_n;
+
+ p_n = n;
+ if (n < 0)
+ {
+ ft_putchar('-');
+ p_n = -n;
+ }
+ if (p_n > 9)
+ ft_putnbr(p_n / 10);
+ ft_putchar(p_n % 10 + '0');
+}
+
+void ft_putxnbr(unsigned int n, char *hex_symbols)
+{
+ if (n > 15)
+ ft_putxnbr(n / 16, hex_symbols);
+ ft_putchar(hex_symbols[n % 16]);
+}
+
+void ft_putunbr(unsigned int n)
+{
+ if (n > 9)
+ ft_putunbr(n / 10);
+ ft_putchar(n % 10 + '0');
+}