Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <unistd.h>
- #include "colle_prototype.h"
- void ft_putnbr(int nb)
- {
- char tab[10];
- int lengthtab;
- char digit;
- if (nb < 0)
- write(1, "-", 1);
- digit = 0;
- lengthtab = 0;
- while (nb != 0)
- {
- digit = (nb % 10);
- if (nb < 0)
- digit *= -1;
- tab[lengthtab] = digit + '0';
- lengthtab++;
- nb /= 10;
- }
- if (lengthtab == 0)
- write(1, "0", 1);
- while (lengthtab > 0)
- {
- lengthtab--;
- write(1, &tab[lengthtab], 1);
- }
- }
- void ft_putstr(char *str)
- {
- while (*str)
- write(1, str++, 1);
- }
- void do_match(t_input_data *input_data)
- {
- int i;
- int singlematch;
- singlematch = 0;
- i = 0;
- while (i < g_colle_size)
- {
- if (g_colle_array[i].is_matching(input_data))
- {
- if (singlematch)
- ft_putstr(" || ");
- ft_putstr(g_colle_array[i].match_message);
- ft_putstr(" [");
- ft_putnbr(input_data->width);
- ft_putstr("] [");
- ft_putnbr(input_data->height);
- ft_putstr("]");
- singlematch = 1;
- }
- i++;
- }
- if (singlematch == 0)
- ft_putstr("aucune");
- }
- void read_input(t_input_data *input_data)
- {
- char *buffer;
- int readed;
- int width;
- buffer = 0;
- buffer = malloc(1);
- input_data->height = 0;
- width = 1;
- while ((readed = read(0, buffer, 1)))
- {
- if (*buffer == '\n')
- {
- input_data->height++;
- input_data->width = width - 1;
- width = 0;
- }
- ft_list_push_back(&input_data->data, buffer);
- buffer = malloc(sizeof(char));
- width++;
- }
- }
- int main(void)
- {
- t_input_data colle_input;
- colle_input.data = 0;
- read_input(&colle_input);
- if (*colle_input.data->data == '\n')
- {
- ft_putstr("aucune\n");
- return (0);
- }
- do_match(&colle_input);
- write(1, "\n", 1);
- return (0);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement