/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   ft_putnbr.c                                        :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: jayang <[email protected]>                      +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2022/02/09 09:36:51 by jayang            #+#    #+#             */
/*   Updated: 2022/02/10 09:03:00 by jayang           ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */

#include <unistd.h>

void	ft_putchar_rev(int idx, char *c_nb)
{
	while (idx > 0)
	{
		write(1, &c_nb[idx - 1], 1);
		idx--;
	}
}

void	ft_putnbr(int nb)
{
	int		idx;
	char	c_nb[100];
	char	*rdx_ten;

	rdx_ten = "0123456789";
	if (nb == -2147483648)
		write(1, "-2147483648", 11);
	else if (nb < 0)
	{
		write(1, "-", 1);
		nb *= -1;
	}
	else if (nb == 0)
		write(1, "0", 1);
	idx = 0;
	while (nb > 0)
	{
		c_nb[idx] = rdx_ten[nb % 10];
		nb /= 10;
		idx++;
	}
	ft_putchar_rev(idx, c_nb);
}