summaryrefslogtreecommitdiffstats
path: root/libft
diff options
context:
space:
mode:
Diffstat (limited to 'libft')
-rw-r--r--libft/Makefile2
-rw-r--r--libft/include/libft.h2
-rw-r--r--libft/src/ft_itoa.c3
-rw-r--r--libft/src/ft_itoa_s.c37
-rw-r--r--libft/src/ft_uitoa.c3
-rw-r--r--libft/src/ft_uitoa_s.c32
6 files changed, 75 insertions, 4 deletions
diff --git a/libft/Makefile b/libft/Makefile
index 3c11199..1c90f66 100644
--- a/libft/Makefile
+++ b/libft/Makefile
@@ -52,8 +52,10 @@ SRCS_NAME += ft_strjoin.c
SRCS_NAME += ft_strtrim.c
SRCS_NAME += ft_split.c
SRCS_NAME += ft_itoa.c
+SRCS_NAME += ft_itoa_s.c
SRCS_NAME += ft_itoa_base.c
SRCS_NAME += ft_uitoa.c
+SRCS_NAME += ft_uitoa_s.c
SRCS_NAME += ft_uitoa_base.c
SRCS_NAME += ft_strmapi.c
SRCS_NAME += ft_putchar_fd.c
diff --git a/libft/include/libft.h b/libft/include/libft.h
index c31482c..edd04d4 100644
--- a/libft/include/libft.h
+++ b/libft/include/libft.h
@@ -90,6 +90,8 @@ void ft_putnbr(long nb);
void ft_putnbr_base(long nb, char *base);
void ft_memdel(void **ptr);
void ft_delwords(char **words);
+void ft_itoa_s(char str[], long n);
+void ft_uitoa_s(char str[], unsigned long n);
void *ft_memset(void *b, int c, size_t len);
void *ft_memcpy(void *dst, const void *src, size_t n);
void *ft_memccpy(void *dst, const void *src,
diff --git a/libft/src/ft_itoa.c b/libft/src/ft_itoa.c
index e10fbab..255d0a8 100644
--- a/libft/src/ft_itoa.c
+++ b/libft/src/ft_itoa.c
@@ -14,8 +14,7 @@
#include <inttypes.h>
#include <stdlib.h>
-char
- *ft_itoa(long n)
+char *ft_itoa(long n)
{
char *s;
long nb;
diff --git a/libft/src/ft_itoa_s.c b/libft/src/ft_itoa_s.c
new file mode 100644
index 0000000..68b6ae3
--- /dev/null
+++ b/libft/src/ft_itoa_s.c
@@ -0,0 +1,37 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_itoa_s.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/14 17:06:40 by rbousset #+# #+# */
+/* Updated: 2020/02/14 17:06:40 by rbousset ### ########lyon.fr */
+/* */
+/* ************************************************************************** */
+
+#include <libft.h>
+#include <inttypes.h>
+
+void ft_itoa_s(char str[], long n)
+{
+ long nb;
+ uint8_t i;
+
+ i = ft_intlen(n) - 1;
+ if (!n)
+ str[i] = '0';
+ nb = n;
+ if (n < 0)
+ {
+ str[0] = '-';
+ nb = -n;
+ }
+ str[i + 1] = '\0';
+ while (nb > 0)
+ {
+ str[i] = 48 + (nb % 10);
+ nb = nb / 10;
+ i--;
+ }
+}
diff --git a/libft/src/ft_uitoa.c b/libft/src/ft_uitoa.c
index f1a5fa2..cc41d91 100644
--- a/libft/src/ft_uitoa.c
+++ b/libft/src/ft_uitoa.c
@@ -14,8 +14,7 @@
#include <inttypes.h>
#include <stdlib.h>
-char
- *ft_uitoa(unsigned long n)
+char *ft_uitoa(unsigned long n)
{
char *s;
unsigned long nb;
diff --git a/libft/src/ft_uitoa_s.c b/libft/src/ft_uitoa_s.c
new file mode 100644
index 0000000..e030c34
--- /dev/null
+++ b/libft/src/ft_uitoa_s.c
@@ -0,0 +1,32 @@
+/* ************************************************************************** */
+/* */
+/* ::: :::::::: */
+/* ft_uitoa_s.c :+: :+: :+: */
+/* +:+ +:+ +:+ */
+/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */
+/* +#+#+#+#+#+ +#+ */
+/* Created: 2020/02/14 17:07:18 by rbousset #+# #+# */
+/* Updated: 2020/02/14 17:07:18 by rbousset ### ########lyon.fr */
+/* */
+/* ************************************************************************** */
+
+#include <libft.h>
+#include <inttypes.h>
+
+void ft_uitoa_s(char str[], unsigned long n)
+{
+ unsigned long nb;
+ uint8_t i;
+
+ i = ft_uintlen(n) - 1;
+ if (!n)
+ str[i] = '0';
+ nb = n;
+ str[i + 1] = '\0';
+ while (nb > 0)
+ {
+ str[i] = 48 + (nb % 10);
+ nb = nb / 10;
+ i--;
+ }
+}