35 lines
1.5 KiB
C
35 lines
1.5 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* ft_dprintarg.c :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* Created: 2022/10/23 18:08:31 by cchauvet #+# #+# */
|
|
/* Updated: 2022/10/23 18:54:41 by cchauvet ### ########.fr */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#include "ft_printf.h"
|
|
|
|
int ft_dprintarg(int fd, int arg, va_list args)
|
|
{
|
|
if (arg == 'i' || arg == 'd')
|
|
return (ft_dprintl_base(fd, va_arg(args, int), "0123456789"));
|
|
if (arg == 'X')
|
|
return (ft_dprint_upperx(fd, va_arg(args, unsigned int)));
|
|
if (arg == 'x')
|
|
return (ft_dprintx(fd, va_arg(args, unsigned int)));
|
|
if (arg == 'u')
|
|
return (ft_dprintul(fd, va_arg(args, unsigned int)));
|
|
if (arg == 'c')
|
|
return (ft_putchar_fd(fd, va_arg(args, int)));
|
|
if (arg == 's')
|
|
return (ft_putstr_fd(fd, va_arg(args, char *)));
|
|
if (arg == '%')
|
|
return (ft_putchar_fd(fd, '%'));
|
|
if (arg == 'p')
|
|
return (ft_dprintptr(fd, va_arg(args, void *)));
|
|
return (0);
|
|
}
|