char *ft_transform_oux(t_flags *f, long long int arg, char *str) { if (f->modifier == 'h' && f->ct != 'U') arg = (unsigned short)arg; else if (f->modifier == 'H' && f->ct != 'U' && f->ct != 'O') arg = (unsigned char)arg; else if (f->modifier == 'l') arg = (unsigned long)arg; else if (f->modifier == 'L') arg = (unsigned long long)arg; else if (f->modifier == 'j' && f->ct != 'U') arg = (unsigned long long)arg; else if (f->modifier == 'z') arg = (size_t)arg; else if (f->ct != 'U' && f->ct != 'O') arg = (unsigned int)arg; if (f->ct == 'o' || f->ct == 'O') str = ft_uitoa_base(arg, 8); else if (f->ct == 'u' || f->ct == 'U') str = ft_uitoa_base(arg, 10); else if (f->ct == 'x' || f->ct == 'X') { str = ft_uitoa_base(arg, 16); if (f->ct == 'X') ft_str_toupper(&str); } return (str); }
int nbr_bytes_wchar(wchar_t s) { unsigned int wc; char *str; wc = s; str = ft_uitoa_base(wc, 2); if (ft_strlen(str) <= 7) return (1); else if (ft_strlen(str) <= 11) return (2); else if (ft_strlen(str) <= 16) return (3); else return (4); }
static void convert_arg(t_ullong arg, t_format *f) { char *tmp; if (f->mod_z) tmp = ft_uztoa_base((size_t)arg, 10); else if (f->mod_ll) tmp = ft_ulltoa_base(arg, 10); else if (f->mod_j || f->mod_l) tmp = ft_ultoa_base((t_ulong)arg, 10); else if (f->mod_h) tmp = ft_ustoa_base((t_ushort)arg, 10); else if (f->mod_hh) tmp = ft_uctoa_base((t_uchar)arg, 10); else tmp = ft_uitoa_base((t_uint)arg, 10); f->buf = ft_strdup(tmp); free(tmp); }
char *render_opts_numeric_uitoa(t_opts *opts, uintmax_t n) { char *s; if (opts->type == 'o') s = ft_uitoa_base(n, 8); else if (opts->type == 'O') s = ft_uitoa_base(n, 8); else if (opts->type == 'x') s = ft_strtolower(ft_uitoa_base(n, 16)); else if (opts->type == 'X') s = ft_uitoa_base(n, 16); else if (opts->type == 'u') s = ft_uitoa_base(n, 10); else if (opts->type == 'b') s = ft_uitoa_base(n, 2); else s = ft_uitoa_base(n, 10); return (s); }