#include <stddef.h>
#include <stdbool.h>
#include <stdarg.h>
#include "../ft_lst/ft_lst.h"
Go to the source code of this file.
|
| t_list * | parse_format (const char *fmt, va_list *args) |
| |
| t_fmt * | parse_opt (size_t *len, char **fmt, va_list *args) |
| |
| t_fmt * | check_no_opt_str (size_t *len, char **fmt, t_fmt *p_ret) |
| |
| void | parse_opt_flags (char **fmt, t_fmt *p_ret) |
| |
| bool | parse_opt_c_str (char fmt, va_list *args, t_fmt *p_ret) |
| |
| bool | parse_opt_num (char fmt, va_list *args, t_fmt *p_ret) |
| |
| bool | parse_opt_ptr (char fmt, va_list *args, t_fmt *p_ret) |
| |
| bool | is_valid_conv_char (char c) |
| |
| bool | is_valid_flag_char (char c) |
| |
| int | print_all (int fd, t_list *list) |
| |
◆ STR_BUF_LEN
◆ t_uint8
◆ t_dtype
| Enumerator |
|---|
| STR | |
| CHAR | |
| PTR | |
| INT_10BASE | |
| UINT_10BASE | |
| UINT_16BASE | |
Definition at line 26 of file ft_printf_local.h.
◆ check_no_opt_str()
| t_fmt* check_no_opt_str |
( |
size_t * |
len, |
|
|
char ** |
fmt, |
|
|
t_fmt * |
p_ret |
|
) |
| |
Definition at line 20 of file check_no_opt_str.c.
31 while (*len <= INT_MAX && **fmt !=
'\0' && **fmt !=
'%')
void * ft_calloc(size_t count, size_t size)
◆ is_valid_conv_char()
| bool is_valid_conv_char |
( |
char |
c | ) |
|
Definition at line 15 of file is_valid_conv_char.c.
17 return (c ==
'c' || c ==
's' || c ==
'p' || c ==
'd' || c ==
'i' || c ==
'u'
18 || c ==
'x' || c ==
'X' || c ==
'%');
◆ is_valid_flag_char()
| bool is_valid_flag_char |
( |
char |
c | ) |
|
◆ parse_format()
| t_list* parse_format |
( |
const char * |
fmt, |
|
|
va_list * |
args |
|
) |
| |
Definition at line 18 of file parse_format.c.
25 while (*fmt !=
'\0' && ret_len < INT_MAX)
33 if (p_ret == NULL ||
ft_lstlast(p_ret)->content == NULL)
34 ret_len = UINTPTR_MAX;
36 if (ret_len >= INT_MAX)
t_fmt * check_no_opt_str(size_t *len, char **fmt, t_fmt *p_ret)
void ft_lstadd_back(t_list **lst, t_list *new)
void ft_lstclear(t_list **lst, void(*del)(void *))
t_list * ft_lstnew(void *content)
t_list * ft_lstlast(t_list *lst)
t_fmt * parse_opt(size_t *len, char **fmt, va_list *args)
◆ parse_opt()
| t_fmt* parse_opt |
( |
size_t * |
len, |
|
|
char ** |
fmt, |
|
|
va_list * |
args |
|
) |
| |
Definition at line 17 of file parse_opt.c.
bool parse_opt_c_str(char fmt, va_list *args, t_fmt *p_ret)
void parse_opt_flags(char **fmt, t_fmt *p_ret)
bool parse_opt_num(char fmt, va_list *args, t_fmt *p_ret)
bool is_valid_conv_char(char c)
bool is_valid_flag_char(char c)
bool parse_opt_ptr(char fmt, va_list *args, t_fmt *p_ret)
◆ parse_opt_c_str()
| bool parse_opt_c_str |
( |
char |
fmt, |
|
|
va_list * |
args, |
|
|
t_fmt * |
p_ret |
|
) |
| |
Definition at line 18 of file parse_opt_c_str.c.
20 if (fmt ==
'c' || fmt ==
'%')
24 p_ret->
data.
c = (char)va_arg(*args,
int);
32 p_ret->
data.
str = va_arg(*args,
char *);
size_t ft_strlen(const char *s)
const char *const g_nullstr
◆ parse_opt_flags()
| void parse_opt_flags |
( |
char ** |
fmt, |
|
|
t_fmt * |
p_ret |
|
) |
| |
Definition at line 45 of file parse_opt_flags.c.
49 else if (**fmt ==
'0')
51 else if (**fmt ==
'.')
56 else if (**fmt ==
'#')
58 else if (**fmt ==
' ')
60 else if (**fmt ==
'+')
static void parse_opt_flag_dot(char **fmt, t_fmt *p_ret)
static void parse_opt_flag_min_len(char **fmt, t_fmt *p_ret)
◆ parse_opt_num()
| bool parse_opt_num |
( |
char |
fmt, |
|
|
va_list * |
args, |
|
|
t_fmt * |
p_ret |
|
) |
| |
Definition at line 60 of file parse_opt_num.c.
static int calc_num_len(long num, int base, t_fmt *p_ret)
static bool parse_num_type(char fmt, t_fmt *p_ret)
◆ parse_opt_ptr()
| bool parse_opt_ptr |
( |
char |
fmt, |
|
|
va_list * |
args, |
|
|
t_fmt * |
p_ret |
|
) |
| |
Definition at line 16 of file parse_opt_ptr.c.
23 num = (size_t)va_arg(*args,
void *);
int get_numstr_base(char *buf, size_t num, int base, bool is_upper)
char str_buf[STR_BUF_LEN]
◆ print_all()
| int print_all |
( |
int |
fd, |
|
|
t_list * |
list |
|
) |
| |
Definition at line 106 of file print_all.c.
123 written_count += tmp;
126 return (written_count);
static int print_str(int dstfd, t_fmt *fmt)
static int print_char(int dstfd, t_fmt *fmt)
static int print_buf(int dstfd, t_fmt *fmt)