Handle null string and null pointer
This commit is contained in:
3
Makefile
3
Makefile
@@ -6,7 +6,7 @@
|
||||
# By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ #
|
||||
# +#+#+#+#+#+ +#+ #
|
||||
# Created: 2022/01/18 15:11:16 by gbaconni #+# #+# #
|
||||
# Updated: 2022/04/24 11:41:45 by gbaconni ### lausanne.ch #
|
||||
# Updated: 2022/04/25 07:11:15 by gbaconni ### lausanne.ch #
|
||||
# #
|
||||
# **************************************************************************** #
|
||||
#
|
||||
@@ -89,6 +89,7 @@ fast:
|
||||
test: clean $(NAME)
|
||||
@$(PREFIX) ./$(NAME) "%c" C
|
||||
@$(PREFIX) ./$(NAME) "%s" "42 Lausanne"
|
||||
@$(PREFIX) ./$(NAME) "%s" ""
|
||||
@$(PREFIX) ./$(NAME) "%d" 42
|
||||
@$(PREFIX) ./$(NAME) "%i" 2147483647
|
||||
@$(PREFIX) ./$(NAME) "%i" -2147483646
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/01/20 11:56:37 by gbaconni #+# #+# */
|
||||
/* Updated: 2022/04/24 00:59:10 by gbaconni ### lausanne.ch */
|
||||
/* Updated: 2022/04/25 07:12:44 by gbaconni ### lausanne.ch */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -18,7 +18,13 @@ int ft_vprintf_string(const char *format, va_list ap)
|
||||
char *s;
|
||||
|
||||
(void) format;
|
||||
ret = 0;
|
||||
s = va_arg(ap, char *);
|
||||
if (s == NULL)
|
||||
{
|
||||
ret = ft_puts("(null)");
|
||||
return (ret);
|
||||
}
|
||||
ret = ft_puts(s);
|
||||
return (ret);
|
||||
}
|
||||
|
||||
6
main.c
6
main.c
@@ -6,7 +6,7 @@
|
||||
/* By: gbaconni@student.42lausanne.ch +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/04/13 06:58:46 by gbaconni #+# #+# */
|
||||
/* Updated: 2022/04/24 11:14:40 by gbaconni ### lausanne.ch */
|
||||
/* Updated: 2022/04/25 07:08:49 by gbaconni ### lausanne.ch */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -59,7 +59,7 @@ int _printf(int (*f)(const char *restrict, ...), \
|
||||
else if (c == 's')
|
||||
ret = (*f)(format, arg);
|
||||
else if (c == 'p')
|
||||
ret = (*f)(format, &arg);
|
||||
ret = (*f)(format, (arg)? &arg: NULL);
|
||||
else if (c == 'x' || c == 'X')
|
||||
ret = (*f)(format, atol(arg));
|
||||
else if (c == 'd' || c == 'i' || c == 'u')
|
||||
@@ -99,6 +99,8 @@ int assert_printf(char *format, char *arg)
|
||||
char out[256];
|
||||
char ft_out[256];
|
||||
|
||||
if (arg == NULL || strcmp(arg, "") == 0)
|
||||
arg = NULL;
|
||||
ret = _sprintf(printf, out, format, arg);
|
||||
printf("%d = printf(\"%s\", '%s')\n%s\n", ret, format, arg, out);
|
||||
ft_ret = _sprintf(ft_printf, ft_out, format, arg);
|
||||
|
||||
Reference in New Issue
Block a user