-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhandler_p.c
More file actions
29 lines (26 loc) · 1.29 KB
/
handler_p.c
File metadata and controls
29 lines (26 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* handler_p.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: mmerabet <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2017/12/09 20:18:28 by mmerabet #+# #+# */
/* Updated: 2017/12/11 12:42:30 by mmerabet ### ########.fr */
/* */
/* ************************************************************************** */
#include "handlers.h"
char *handler_p(va_list lst, t_printf_params params)
{
char *str;
void *ptr;
ptr = (void *)va_arg(lst, void *);
if (ptr == 0 && params.precision_spec && params.precision == 0)
str = ft_strnew(0);
else
str = ft_ulltoa_cbase((unsigned long long)ptr, FT_HEX);
params.width -= 2;
str = pad_zeroes(str, ¶ms);
params.width += 2;
return (perform_width(ft_strjoin_clr("0x", str, 1), ¶ms));
}