Ejemplo n.º 1
0
int			print_lx(t_data *data, va_list arg)
{
    char	*nb;
    int		i;
    char	*mod;

    nb = what_uconv(arg, data, 16);
    if (ft_strcmp(nb, "0") == 0 && data->prec == 0)
        ft_str_empty(nb);
    mod = ((data->flag & 1) && ft_strcmp(nb, "0") != 0) ? "0X" : NULL;
    ft_strupper(nb);
    if (nb[0] == '-')
        i = data->field - ft_max(ft_strlen(nb) + ft_strnlen(mod),
                                 data->prec + 1);
    else
        i = data->field - ft_max(ft_strlen(nb), data->prec);
    if (data->prec != -1 && ((data->flag & 2) != 0))
        data->flag = data->flag - 2;
    if ((data->flag & 4) != 0)
        print_nb_str(nb, data, mod);
    while ((i-- > 0) && (data->flag & 2) == 0)
        ft_printchar(' ', data);
    if ((data->flag & 4) == 0)
        print_nb_str(nb, data, mod);
    free(nb);
    return (1);
}
Ejemplo n.º 2
0
char *ft_strnrchr(const char *s, int c, size_t n)
{
	n = ft_strnlen(s, n) + 1;
	while (n-- > 0)
		if (s[n] == (char)c)
			return ((char *)(s + n));
	return (NULL);
}
Ejemplo n.º 3
0
size_t	ft_strlcat(char *dst, const char *src, size_t size)
{
	size_t	dst_size;
	size_t	src_size;
	size_t	remaining_size;

	dst_size = ft_strnlen(dst, size);
	src_size = ft_strlen(src);
	remaining_size = size - dst_size;
	dst += dst_size;
	if (remaining_size > 0)
	{
		ft_strncpy(dst, src, remaining_size);
		dst[remaining_size - 1] = '\0';
	}
	return (dst_size + src_size);
}
Ejemplo n.º 4
0
size_t			ft_strlcat(char *dst, const char *src, size_t size)
{
	size_t	s_dst;
	size_t	s_src;
	size_t	n_size;

	s_dst = ft_strnlen(dst, size);
	s_src = ft_strlen(src);
	n_size = size - s_dst;
	dst += s_dst;
	if (n_size > 0)
	{
		ft_strncpy(dst, src, n_size);
		dst[n_size - 1] = '\0';
	}
	return (s_dst + s_src);
}
Ejemplo n.º 5
0
char	*ft_strndup(size_t n, const char *src)
{
	size_t	len;
	char	*copy;

	copy = NULL;
	len = ft_strnlen(n, src);
	copy = (char *)malloc((1 + len) * sizeof(char));
	if (copy != NULL)
	{
		copy[len] = 0;
		while (len > 0)
		{
			len -= 1;
			copy[len] = src[len];
		}
	}
	return (copy);
}
Ejemplo n.º 6
0
void	ft_putnstr(char *str, size_t size)
{
	write(1, str, ft_strnlen(str, size));
}
Ejemplo n.º 7
0
size_t		ft_strnlen(const char *s, size_t maxlen)
{
	if (*s && maxlen)
		return (ft_strnlen(s + 1, maxlen - 1) + 1);
	return (0);
}